From 10d77e2ecc7bbc3afbcdffc632014ca32b49758b Mon Sep 17 00:00:00 2001 From: lpscrypt Date: Fri, 18 Dec 2020 14:53:56 -0500 Subject: [PATCH] final dOrg commit --- AskoLend-contracts/AskoLendNotes.txt | 17 +- .../build/contracts/AskoRiskToken.json | 1532 +- .../build/contracts/AskoRiskTokenI.json | 626 +- .../build/contracts/BaseJumpRateModelV2.json | 1806 +- .../build/contracts/CarefulMath.json | 1338 +- .../build/contracts/Context.json | 240 +- AskoLend-contracts/build/contracts/ERC20.json | 5036 ++-- .../build/contracts/Exponential.json | 10302 ++++---- .../build/contracts/FakeAugur.json | 536 +- .../build/contracts/FakeLink.json | 536 +- .../build/contracts/FakeUSDC.json | 536 +- .../build/contracts/FixedPoint.json | 1170 +- .../build/contracts/IERC20.json | 764 +- .../build/contracts/IUniswapV2Factory.json | 366 +- .../build/contracts/IUniswapV2Pair.json | 1382 +- .../build/contracts/IUniswapV2Router01.json | 1786 +- .../build/contracts/IUniswapV2Router02.json | 538 +- AskoLend-contracts/build/contracts/IWETH.json | 122 +- .../build/contracts/InterestRateModel.json | 202 +- .../build/contracts/JumpRateModelV2.json | 338 +- .../build/contracts/Migrations.json | 200 +- .../build/contracts/MoneyMarketControl.json | 2053 +- .../build/contracts/MoneyMarketFactory.json | 376 +- .../build/contracts/MoneyMarketFactoryI.json | 542 +- .../build/contracts/MoneyMarketInstance.json | 7522 +++--- .../build/contracts/MoneyMarketInstanceI.json | 414 +- .../build/contracts/Ownable.json | 1052 +- .../build/contracts/SafeMath.json | 1980 +- .../build/contracts/TransferHelper.json | 862 +- .../build/contracts/UniswapOracleFactory.json | 1872 +- .../contracts/UniswapOracleFactoryI.json | 426 +- .../contracts/UniswapOracleInstance.json | 2362 +- .../build/contracts/UniswapV2Library.json | 2690 +- .../contracts/UniswapV2OracleLibrary.json | 702 +- .../build/contracts/UniswapV2Router02.json | 12624 ++++----- .../@truffle/hdwallet-provider/README.md | 11 + .../dist/constructor/Constructor.d.ts | 3 +- .../dist/constructor/types.d.ts | 1 + .../@truffle/hdwallet-provider/dist/index.js | 8 +- .../hdwallet-provider/dist/index.js.map | 2 +- .../@truffle/hdwallet-provider/package.json | 26 +- AskoLend-contracts/package-lock.json | 1079 +- frontEnd/src/actions/moneyMarket.ts | 2 +- frontEnd/src/components/Bar.tsx | 6 +- frontEnd/src/web3/artifacts/ARTFactory.json | 56 +- frontEnd/src/web3/artifacts/ARTFactoryI.json | 262 +- frontEnd/src/web3/artifacts/Address.json | 2044 +- .../src/web3/artifacts/AskoRiskToken.json | 14248 +++++----- .../src/web3/artifacts/AskoRiskTokenI.json | 1220 +- .../web3/artifacts/BaseJumpRateModelV2.json | 2986 +-- frontEnd/src/web3/artifacts/CarefulMath.json | 2108 +- frontEnd/src/web3/artifacts/Context.json | 248 +- frontEnd/src/web3/artifacts/Contract.json | 2 +- frontEnd/src/web3/artifacts/ERC20.json | 5072 ++-- frontEnd/src/web3/artifacts/Exponential.json | 15048 +++++------ frontEnd/src/web3/artifacts/FakeAugur.json | 472 +- frontEnd/src/web3/artifacts/FakeBAT.json | 536 +- frontEnd/src/web3/artifacts/FakeFaucet.json | 4644 +++- frontEnd/src/web3/artifacts/FakeLink.json | 472 +- frontEnd/src/web3/artifacts/FakeUSDC.json | 748 +- frontEnd/src/web3/artifacts/FakewBTC.json | 536 +- frontEnd/src/web3/artifacts/FakewETH.json | 536 +- frontEnd/src/web3/artifacts/FixedPoint.json | 1884 +- frontEnd/src/web3/artifacts/IERC20.json | 1773 +- .../src/web3/artifacts/IUniswapV2Factory.json | 620 +- .../src/web3/artifacts/IUniswapV2Pair.json | 2352 +- .../web3/artifacts/IUniswapV2Router01.json | 3020 +-- .../web3/artifacts/IUniswapV2Router02.json | 892 +- frontEnd/src/web3/artifacts/IWETH.json | 204 +- .../src/web3/artifacts/InterestRateModel.json | 336 +- .../src/web3/artifacts/JumpRateModelV2.json | 526 +- frontEnd/src/web3/artifacts/Migrations.json | 342 +- .../web3/artifacts/MoneyMarketControl.json | 15022 ++++++----- .../web3/artifacts/MoneyMarketFactory.json | 538 +- .../web3/artifacts/MoneyMarketFactoryI.json | 906 +- .../web3/artifacts/MoneyMarketInstance.json | 21843 ++++++++-------- .../web3/artifacts/MoneyMarketInstanceI.json | 1024 +- frontEnd/src/web3/artifacts/Ownable.json | 1064 +- frontEnd/src/web3/artifacts/SafeMath.json | 5355 +++- .../src/web3/artifacts/TransferHelper.json | 1508 +- .../web3/artifacts/UniswapOracleFactory.json | 2958 +-- .../web3/artifacts/UniswapOracleFactoryI.json | 718 +- .../web3/artifacts/UniswapOracleInstance.json | 3754 +-- .../src/web3/artifacts/UniswapV2Library.json | 4584 ++-- .../artifacts/UniswapV2OracleLibrary.json | 1136 +- .../src/web3/artifacts/UniswapV2Router02.json | 20710 +++++++-------- package-lock.json | 1755 ++ package.json | 4 +- 88 files changed, 111944 insertions(+), 100110 deletions(-) diff --git a/AskoLend-contracts/AskoLendNotes.txt b/AskoLend-contracts/AskoLendNotes.txt index 18d73eba..2d7e3c10 100644 --- a/AskoLend-contracts/AskoLendNotes.txt +++ b/AskoLend-contracts/AskoLendNotes.txt @@ -1,10 +1,9 @@ askolend notes -Uniswap oracle factory address: 0x3692603a9942a7C53948AC9Df8673ABAd562F5f3 -FakeUSDC address: 0xdBe32b70CF6208b8157F04669D1Cc0444bd0dAA9 -FakeLink address: 0x1668cB3e3B7f5692b14984Fb1530308E5523bDAc -FakeAugur address: 0x77f31D02ad345a9d9eFB19244A5dcDa7BE8D3eef -FakeBAT address: 0x4b6c19066e95DA74d5a43C8696c784594Be4f191 -FakewBTC address: 0x4c2B707a5d5979028DC94C4957E58425CFBD3945 -FakewETH address: 0x23489B3Ee93cFDADF1F0a47A5E32DE1Dc9BFB22D -Fake Faucet address: 0x191fd3B5CD63C686A183cA65C79f288A8f25B796 -Money Market Control: 0x57419ED6e521d74C161Def609149cd6743d9672e +Uniswap oracle factory address: 0x9b364c531DfE4669dA89D900656e73f9Ed7A369E +FakeUSDC address: 0x652920EB993eD4bdec4191C00343132Ebc530ce5 +FakeLink address: 0x20E341956402669C44aE97B24ea47aa9B87c5a2A +FakeAugur address: 0x22A0a9B516d2Bd5aE6d4E191c77D093a3fb6F50A +FakewBTC address: 0xc23F4de7EB6a8E9aE000f05679Ac024B56a2f006 +FakewETH address: 0x3CbA1C38F60ADC2E34C097b803cE467325228022 +Fake Faucet address: 0x4Ef50af5ae3cD4569c6F34f82F299e146AE12aEa +Money Market Control: 0x80Eeab912E21bAB6c39f102958eDB6966b9a20f4 diff --git a/AskoLend-contracts/build/contracts/AskoRiskToken.json b/AskoLend-contracts/build/contracts/AskoRiskToken.json index 260b89c7..cdcfc877 100644 --- a/AskoLend-contracts/build/contracts/AskoRiskToken.json +++ b/AskoLend-contracts/build/contracts/AskoRiskToken.json @@ -1235,16 +1235,16 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_interestRateModel\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MoneyMarketControl\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MoneyMarketInstance\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountRepayed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"ARTowed\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"ARTcollateral\",\"type\":\"address\"}],\"name\":\"Accountliquidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountBorrowed\",\"type\":\"uint256\"}],\"name\":\"Borrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"accrualBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrows\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalReserves\",\"type\":\"uint256\"}],\"name\":\"InterestAccrued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountMinted\",\"type\":\"uint256\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"NonCompliantTimerReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"NonCompliantTimerStart\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountART\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assetAmountRedeemed\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountRepayed\",\"type\":\"uint256\"}],\"name\":\"Repayed\",\"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\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMI\",\"outputs\":[{\"internalType\":\"contract MoneyMarketInstanceI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UOF\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"}],\"name\":\"_liquidate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"_updateInterestModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"accrualBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"accrueInterest\",\"outputs\":[],\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlyingPrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalancePrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowRateMaxMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"convertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"convertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRatePrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getAccountSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrowAPY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSupplyAPY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interestRateModel\",\"outputs\":[{\"internalType\":\"contract InterestRateModel\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidationIncentiveMantissa\",\"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\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"one\",\"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\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reserveFactorMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setReserveRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyRatePerBlock\",\"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\":\"totalBorrows\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalBorrowsCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalReserves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"viewConvertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"viewConvertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"accrueInterest()\":{\"details\":\"This calculates interest accrued from the last checkpointed block up to the current block and writes new checkpoint to storage.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"balanceOfUnderlying(address)\":{\"params\":{\"owner\":\"The address of the account to query\"},\"returns\":{\"_0\":\"The amount of underlying owned by `owner`\"}},\"balanceOfUnderlyingPrior(address)\":{\"params\":{\"owner\":\"The address of the account to query\"},\"returns\":{\"_0\":\"The amount of underlying owned by `owner`*\"}},\"borrow(uint256,address)\":{\"params\":{\"_borrowAmount\":\"The amount of the underlying asset to borrow\"}},\"borrowBalanceCurrent(address)\":{\"params\":{\"account\":\"The address whose balance should be calculated after updating borrowIndex\"},\"returns\":{\"_0\":\"The calculated balance*\"}},\"borrowBalancePrior(address)\":{\"params\":{\"account\":\"The address whose balance should be calculated after updating borrowIndex\"},\"returns\":{\"_0\":\"The calculated balance*\"}},\"burn(address,uint256)\":{\"params\":{\"_account\":\"is the account the AHR is being burned from\",\"_amount\":\"is the amount of AHR being burned*\"}},\"constructor\":{\"details\":\"these two perameters become hyphenated with \\\"AHR\\\" during this process( e.x: AHR-wBitcoin, AHR-wBTC)*\",\"params\":{\"_asset\":\"is the address of the underlying asset for a specific ART contract\",\"_initialExchangeRate\":\"is the initial exchange rate mantissa for a specific ART\",\"_interestRateModel\":\"is the address of the interest rate model for a specific ART\",\"_isALR\":\"signifies whether or not a specific AskoRiskToken instance is a high risk or low risk token.\",\"_oracleFactory\":\"is teh address of the uniswap oracle factory contract\",\"_tokenName\":\"is the name of the asset the MoneyMarketInstance that owns this contract represents\",\"_tokenSymbol\":\"is the symbol of the asset the MoneyMarketInstance that owns this contract represents\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getAccountSnapshot(address)\":{\"details\":\"This is used to perform liquidity checks.\",\"params\":{\"account\":\"Address of the account to snapshot\"},\"returns\":{\"_0\":\"(token balance, borrow balance, exchange rate mantissa)*\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"params\":{\"_account\":\"is the account the AHR is being minted to\",\"_amount\":\"is the amount of stablecoin being input*\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"redeem(uint256)\":{\"params\":{\"_amount\":\"is the amount of Asset being requested in ART exhange*\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"repayBorrow(uint256,address)\":{\"params\":{\"repayAmount\":\"The amount to repay\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"accrueInterest()\":{\"notice\":\"Applies accrued interest to total borrows and reserves\"},\"balanceOfUnderlying(address)\":{\"notice\":\"Get the underlying balance of the `owners`\"},\"balanceOfUnderlyingPrior(address)\":{\"notice\":\"Get the underlying balance of the `owners`\"},\"borrow(uint256,address)\":{\"notice\":\"Sender borrows assets from the protocol to their own address\"},\"borrowBalanceCurrent(address)\":{\"notice\":\"Accrue interest to updated borrowIndex and then calculate account's borrow balance using the updated borrowIndex\"},\"borrowBalancePrior(address)\":{\"notice\":\"returns last calculated account's borrow balance using the prior borrowIndex\"},\"borrowRatePerBlock()\":{\"notice\":\"Returns the current per-block borrow interest rate for this ART\"},\"burn(address,uint256)\":{\"notice\":\"burn is a modified function that only the owner of this contract(its MoneyMarketInstance) can call. This function allows an amount of AskoRiskToken token to be burned from an address when called.\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to set up the name, symbol, and decimal variables for the AskoRiskToken contract.\",\"exchangeRateCurrent()\":{\"notice\":\"Accrue interest then return the up-to-date exchange rate\"},\"exchangeRatePrior()\":{\"notice\":\"return prior exchange rate for front end viewing\"},\"getAccountSnapshot(address)\":{\"notice\":\"Get a snapshot of the account's balances, and the cached exchange rate\"},\"getAssetAdd()\":{\"notice\":\"getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*\"},\"getBorrowAPY()\":{\"notice\":\"getSupplyAPY roughly calculates the current APY for borrowing using an average of 6500 blocks per day*\"},\"getCash()\":{\"notice\":\"Get cash balance of this cToken in the underlying asset in other contracts\"},\"getSupplyAPY()\":{\"notice\":\"getSupplyAPY roughly calculates the current APY for supplying using an average of 6500 blocks per day*\"},\"mint(address,uint256)\":{\"notice\":\"mint is a modified function that only the owner of this contract(its MoneyMarketInstance) can call. This function allows an amount of AskoRiskToken token to be minted when called.\"},\"redeem(uint256)\":{\"notice\":\"redeem allows a user to redeem their AskoRiskToken for the appropriate amount of underlying asset\"},\"repayBorrow(uint256,address)\":{\"notice\":\"Sender repays their own borrow\"},\"supplyRatePerBlock()\":{\"notice\":\"Returns the current per-block supply interest rate for this ART\"},\"totalBorrowsCurrent()\":{\"notice\":\"Returns the current total borrows plus accrued interest\"},\"transfer(address,uint256)\":{\"notice\":\"transfer is an override function that effectivly makes transfering a ART impossible. this is necissary to avoid a user taking out a loan using his ALR as collateral and then transfering his ALR so his loan cant be liquidated.*\"}},\"notice\":\"The AskoRiskToken contract is an ERC20 contract designed to be owned by a MoneyMarketInstance contract. This contract's token represents a Risk lending pool in a MoneyMarketInstance contract. This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol && ERC20.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/AskoRiskToken.sol\":\"AskoRiskToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/AskoRiskToken.sol\":{\"keccak256\":\"0xc1f4e064defff4422fc43a3de59b36d240965b3702802c5bd49c2300d9aceea5\",\"urls\":[\"bzz-raw://4395251ec301178199912e1c048240647f4b7e64ec2d897a236f46c0be37be33\",\"dweb:/ipfs/QmYxvdQvAaDKR8B5eSpASVEA31rMjQ1ccvFRcCSKoGoNy5\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":{\"keccak256\":\"0x343e39fe3cac3768527f1a3354fdde91ac11545693d5e5db8d51d10bd44e0176\",\"urls\":[\"bzz-raw://1e1e06a116bea6b16dbc39b23829b861fb975b9045e4db369fe541d48abd3d76\",\"dweb:/ipfs/QmcUKxN1UVqVpFRaLB2RHWLZkKqUi2fzY2Qs3524CQWNRJ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0\",\"urls\":[\"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02\",\"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\",\"urls\":[\"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37\",\"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA\"]}},\"version\":1}", - "bytecode": "0x608060405266038d7ea4c68000600d55670de0b6b3a7640000600e553480156200002857600080fd5b5060405162002ea438038062002ea483398181016040526101208110156200004f57600080fd5b815160208301516040808501516060860151608087015160a0880180519451969895979396929591949293820192846401000000008211156200009157600080fd5b908301906020820185811115620000a757600080fd5b8251640100000000811182820188101715620000c257600080fd5b82525081516020918201929091019080838360005b83811015620000f1578181015183820152602001620000d7565b50505050905090810190601f1680156200011f5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200014357600080fd5b9083019060208201858111156200015957600080fd5b82516401000000008111828201881017156200017457600080fd5b82525081516020918201929091019080838360005b83811015620001a357818101518382015260200162000189565b50505050905090810190601f168015620001d15780820380516001836020036101000a031916815260200191505b5060409081526020820151910151909250905083836000620001fb6001600160e01b03620003a716565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35081516200025a906004906020850190620003b0565b50805162000270906005906020840190620003b0565b506012600660006101000a81548160ff021916908360ff160217905550505087600f60016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084601160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555088601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555086601360006101000a8154816001600160a01b0302191690836001600160a01b0316021790555085601260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600f60006101000a81548160ff0219169083151502179055508060078190555062000383620003ac60201b60201c565b6009555050670de0b6b3a7640000600a819055600855506200045295505050505050565b335b90565b4390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003f357805160ff191683800117855562000423565b8280016001018555821562000423579182015b828111156200042357825182559160200191906001019062000406565b506200043192915062000435565b5090565b620003a991905b808211156200043157600081556001016200043c565b612a4280620004626000396000f3fe608060405234801561001057600080fd5b50600436106103035760003560e01c80638b4f3b2c1161019e578063b7e7b50c116100ef578063d383752d1161009d578063d383752d14610829578063db006a7514610846578063dd62ed3e14610863578063e778bc2114610891578063ee27a2f2146108b7578063f2fde38b146108bf578063f3fdb15a146108e5578063f8f9da28146108ed57610303565b8063b7e7b50c14610774578063bd6d894d146107a8578063bebf2b89146107b0578063c37f68e2146107cd578063c5d9bf7114610811578063cd5c6f5714610819578063d162054a1461082157610303565b80639f560dd51161014c5780639f560dd5146106df578063a457c2d7146106e7578063a6afed9514610713578063a9059cbb1461071b578063aa5af0fd14610747578063ae9d70b01461074f578063b33061351461075757610303565b80638b4f3b2c146106595780638da5cb5b146106765780638de87abd1461067e5780638f840ddd1461069b578063901717d1146106a357806395d89b41146106ab5780639dc29fac146106b357610303565b806340c10f191161025857806369a5e8cf1161020657806369a5e8cf146105c15780636c540baf146105ed57806370a08231146105f5578063715018a61461061b57806373acee98146106235780637746efab1461062b57806377e4974d1461065157610303565b806340c10f191461052c57806347bd3718146105585780634ada90af146105605780634b3fd148146105685780634c20ac7414610594578063503d37ea1461059c5780635f27adbd146105a457610303565b8063286f4d23116102b5578063286f4d2314610467578063313ce5671461048457806338d52e0f146104a257806339509351146104aa5780633aacd0d4146104d65780633af9e669146104fe5780633b1d21a21461052457610303565b806306fdde0314610308578063095ea7b31461038557806311e2c02f146103c5578063173b9904146103e957806317bfdfbc1461040357806318160ddd1461042957806323b872dd14610431575b600080fd5b6103106108f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034a578181015183820152602001610332565b50505050905090810190601f1680156103775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b16004803603604081101561039b57600080fd5b506001600160a01b03813516906020013561098c565b604080519115158252519081900360200190f35b6103cd6109aa565b604080516001600160a01b039092168252519081900360200190f35b6103f16109b9565b60408051918252519081900360200190f35b6103f16004803603602081101561041957600080fd5b50356001600160a01b03166109bf565b6103f16109da565b6103b16004803603606081101561044757600080fd5b506001600160a01b038135811691602081013590911690604001356109e0565b6103f16004803603602081101561047d57600080fd5b5035610a6d565b61048c610a99565b6040805160ff9092168252519081900360200190f35b6103cd610aa2565b6103b1600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610ab6565b6104fc600480360360208110156104ec57600080fd5b50356001600160a01b0316610b0a565b005b6103f16004803603602081101561051457600080fd5b50356001600160a01b0316610b84565b6103f1610bdf565b6104fc6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610bee565b6103f1610cb5565b6103f1610cbb565b6104fc6004803603604081101561057e57600080fd5b50803590602001356001600160a01b0316610cc1565b6103cd610ea2565b6103f1610eb6565b6103f1600480360360208110156105ba57600080fd5b5035610ed3565b6103f1600480360360408110156105d757600080fd5b50803590602001356001600160a01b0316610f76565b6103f16110ce565b6103f16004803603602081101561060b57600080fd5b50356001600160a01b03166110d4565b6104fc6110ef565b6103f1611191565b6103f16004803603602081101561064157600080fd5b50356001600160a01b03166111a2565b6103b1611245565b6104fc6004803603602081101561066f57600080fd5b503561124e565b6103cd6112ab565b6103f16004803603602081101561069457600080fd5b50356112ba565b6103f16112dd565b6103f16112e3565b6103106112e9565b6104fc600480360360408110156106c957600080fd5b506001600160a01b03813516906020013561134a565b6103f16113b3565b6103b1600480360360408110156106fd57600080fd5b506001600160a01b0381351690602001356113c4565b6104fc611432565b6103b16004803603604081101561073157600080fd5b506001600160a01b038135169060200135611664565b6103f16116a2565b6103f16116a8565b6103f16004803603602081101561076d57600080fd5b5035611747565b6104fc6004803603606081101561078a57600080fd5b508035906001600160a01b0360208201358116916040013516611762565b6103f16118b1565b6103f1600480360360208110156107c657600080fd5b503561191a565b6107f3600480360360208110156107e357600080fd5b50356001600160a01b031661199c565b60408051938452602084019290925282820152519081900360600190f35b6103cd6119d2565b6103f16119e1565b6103cd6119eb565b6103f16004803603602081101561083f57600080fd5b50356119fa565b6104fc6004803603602081101561085c57600080fd5b5035611a16565b6103f16004803603604081101561087957600080fd5b506001600160a01b0381358116916020013516611c9b565b6103f1600480360360208110156108a757600080fd5b50356001600160a01b0316611cc6565b6103f1611ce3565b6104fc600480360360208110156108d557600080fd5b50356001600160a01b0316611ced565b6103cd611de5565b6103f1611df4565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b820191906000526020600020905b81548152906001019060200180831161096457829003601f168201915b505050505090505b90565b60006109a0610999611e58565b8484611e5c565b5060015b92915050565b6013546001600160a01b031681565b60085481565b60006109c9611432565b6109d2826111a2565b90505b919050565b60035490565b60006109ed848484611f48565b610a63846109f9611e58565b610a5e85604051806060016040528060288152602001612916602891396001600160a01b038a16600090815260026020526040812090610a37611e58565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61209f16565b611e5c565b5060019392505050565b6000806000610a906040518060200160405280610a886118b1565b905285612136565b95945050505050565b60065460ff1690565b600f5461010090046001600160a01b031681565b60006109a0610ac3611e58565b84610a5e8560026000610ad4611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61218a16565b610b12611e58565b6000546001600160a01b03908116911614610b62576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b8e6127ac565b6040518060200160405280610ba16118b1565b90529050600080610bba83610bb5876110d4565b612136565b90925090506000826003811115610bcd57fe5b14610bd757600080fd5b949350505050565b6000610be96121eb565b905090565b6011546001600160a01b03163314610c0557600080fd5b610c0d6127bf565b610c156118b1565b602080830191825260408051918201905290518152610c3590839061223b565b6040830181905282826003811115610c4957fe5b6003811115610c5457fe5b8152505050610c67838260400151612252565b60408082015181516001600160a01b0386168152602081019190915281517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe929181900390910190a1505050565b600b5481565b600d5481565b6011546001600160a01b03163314610cd857600080fd5b81610ce16121eb565b11610d33576040805162461bcd60e51b815260206004820152601a60248201527f6e6f7420656e6f75676820746f6b656e20746f20626f72726f77000000000000604482015290519081900360640190fd5b610d3b6127e1565b610d44826109bf565b60208201819052610d55908461233e565b6040830181905282826003811115610d6957fe5b6003811115610d7457fe5b8152505050610d85600b548461233e565b6060830181905282826003811115610d9957fe5b6003811115610da457fe5b905250506040808201516001600160a01b03808516600081815260146020908152858220948555600a546001909501949094556060860151600b55600f54855163a9059cbb60e01b815260048101939093526024830189905294516101009095049092169363a9059cbb9360448084019491938390030190829087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b5050604080516001600160a01b03841681526020810185905281517fac59582e5396aca512fa873a2047e7f4c80f8f55d4a06cb34a78a0187f62719f929181900390910190a1505050565b600f5461010090046001600160a01b031690565b6000610be962243394610ec7611df4565b9063ffffffff61236416565b600080610edf83610a6d565b601354600f546040805163513396f760e11b81526101009092046001600160a01b03908116600484015260248301859052905193945060009392169163a2672dee9160448082019260209290919082900301818787803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050506040513d6020811015610f6c57600080fd5b5051949350505050565b6011546000906001600160a01b03163314610f9057600080fd5b610f9861280a565b610fa1836109bf565b60608201526001600160a01b03831660009081526014602052604090819020600101549082015283610fdc5760608101516020820152610fe4565b602081018490525b610ff6816060015182602001516123bd565b608083018190528282600381111561100a57fe5b600381111561101557fe5b815250505061102a600b5482602001516123bd565b60a083018190528282600381111561103e57fe5b600381111561104957fe5b9052505060808101516001600160a01b0384166000818152601460209081526040918290209384558185015160019094019390935560a0840151600b558284015181519283529282019290925281517f4792e4d6a0dabb47a2ac2b2fb3ab426c2e1a5e3cab374282d855ac6cb03a5712929181900390910190a1602001519392505050565b60095481565b6001600160a01b031660009081526001602052604090205490565b6110f7611e58565b6000546001600160a01b03908116911614611147576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061119b611432565b50600b5490565b6001600160a01b03811660009081526014602052604081208054829182918291906111d45760009450505050506109d5565b6111e48160000154600a546123e0565b909450925060008460038111156111f757fe5b146112095760009450505050506109d5565b61121783826001015461241f565b9094509150600084600381111561122a57fe5b1461123c5760009450505050506109d5565b50949350505050565b600f5460ff1681565b611256611e58565b6000546001600160a01b039081169116146112a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6000806000610a908460405180602001604052806112d66119e1565b905261223b565b600c5481565b600e5481565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b6011546001600160a01b0316331461136157600080fd5b61136b828261244a565b604080516001600160a01b03841681526020810183905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15050565b6000610be962243394610ec76116a8565b60006109a06113d1611e58565b84610a5e856040518060600160405280602581526020016129e860259139600260006113fb611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61209f16565b600061143c612540565b600954909150600061144c6121eb565b600b54600c54600a54929350909184861461160957601054604080516315f2405360e01b815260048101879052602481018690526044810185905290516000926001600160a01b0316916315f24053916064808301926020929190829003018186803b1580156114bb57600080fd5b505afa1580156114cf573d6000803e3d6000fd5b505050506040513d60208110156114e557600080fd5b5051905065048c273950008111156114fc57600080fd5b60008061150989896123bd565b915091506115156127ac565b60008060008061153360405180602001604052808a81525087612544565b9097509450611542858c612136565b9097509350611551848c61233e565b60408051602081019091526008548152919850935061157190858c6125ac565b9097509150611581858a806125ac565b80925081985050508d60098190555080600a8190555082600b8190555081600c819055507fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d600954600a54600b54600c546040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050505061165c565b600954600a54600b54600c54604080519485526020850193909352838301919091526060830152517fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d9181900360800190a15b505050505050565b60006001600160a01b0383161561167a57600080fd5b81722cd76fe086b93ce2f768a00b22a000000000001461169957600080fd5b50600092915050565b600a5481565b6010546000906001600160a01b031663b81688166116c46121eb565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b5051905090565b6000806000610a906040518060200160405280610a886119e1565b6012546001600160a01b0316331461177957600080fd5b601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018790529051600093919091169163fff9ccde91604480830192602092919082900301818787803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050506040513d602081101561180757600080fd5b505190506000611816826119fa565b9050611822848261244a565b600f546040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291516101009093049091169163a9059cbb916044808201926020929091908290030181600087803b15801561187e57600080fd5b505af1158015611892573d6000803e3d6000fd5b505050506040513d60208110156118a857600080fd5b50505050505050565b60006118bb611432565b6118c36109da565b6118d05750600754610989565b60006118da6121eb565b905060006118e66127ac565b60006118f784600b54600c54612608565b9350905061190c836119076109da565b612646565b519550610989945050505050565b60008061192683611747565b601354600f54604080516381a61d7f60e01b81526101009092046001600160a01b0390811660048401526024830185905290519394506000939216916381a61d7f91604480820192602092909190829003018186803b15801561198857600080fd5b505afa158015610f56573d6000803e3d6000fd5b6000806000806119ab856110d4565b905060006119b8866109bf565b905060006119c46118b1565b929791965091945092505050565b6011546001600160a01b031681565b60006118c36109da565b6012546001600160a01b031681565b6000806000610a908460405180602001604052806112d66118b1565b80611a2057600080fd5b611a286127bf565b611a306118b1565b6020820152600f5460ff1615611b6057601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018690529051600093919091169163fff9ccde91604480830192602092919082900301818787803b158015611aa457600080fd5b505af1158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b505160125460408051636012b43160e01b815233600482015230602482015290519293506001600160a01b0390911691636012b431916044808201926020929091908290030181600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b505050506040513d6020811015611b5057600080fd5b5051811115611b5e57600080fd5b505b611b7233611b6d846119fa565b61244a565b611b8e826040518060200160405280846020015181525061223b565b6040830181905282826003811115611ba257fe5b6003811115611bad57fe5b905250506040810151611bbe6121eb565b1015611bc957600080fd5b600f54604082810151815163a9059cbb60e01b8152336004820152602481019190915290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b158015611c2657600080fd5b505af1158015611c3a573d6000803e3d6000fd5b505050506040513d6020811015611c5057600080fd5b50506040808201518151338152602081018590528083019190915290517ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec2629181900360600190a15050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000611cd06127ac565b6040518060200160405280610ba16119e1565b65048c2739500081565b611cf5611e58565b6000546001600160a01b03908116911614611d45576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b6001600160a01b038116611d8a5760405162461bcd60e51b81526004018080602001828103825260268152602001806128876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6010546000906001600160a01b03166315f24053611e106121eb565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561171657600080fd5b3390565b6001600160a01b038316611ea15760405162461bcd60e51b81526004018080602001828103825260248152602001806129c46024913960400191505060405180910390fd5b6001600160a01b038216611ee65760405162461bcd60e51b81526004018080602001828103825260228152602001806128ad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611f8d5760405162461bcd60e51b815260040180806020018281038252602581526020018061299f6025913960400191505060405180910390fd5b6001600160a01b038216611fd25760405162461bcd60e51b81526004018080602001828103825260238152602001806128426023913960400191505060405180910390fd5b611fdd8383836126f7565b612020816040518060600160405280602681526020016128cf602691396001600160a01b038616600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612055908263ffffffff61218a16565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061295e83398151915292918290030190a3505050565b6000818484111561212e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120f35781810151838201526020016120db565b50505050905090810190601f1680156121205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060006121436127ac565b61214d8686612544565b9092509050600082600381111561216057fe5b146121715750915060009050612183565b600061217c826126fc565b9350935050505b9250929050565b6000828201838110156121e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600f54604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561171657600080fd5b60008060006122486127ac565b61214d868661270b565b6001600160a01b0382166122ad576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6122b9600083836126f7565b6003546122cc908263ffffffff61218a16565b6003556001600160a01b0382166000908152600160205260409020546122f8908263ffffffff61218a16565b6001600160a01b038316600081815260016020908152604080832094909455835185815293519293919260008051602061295e8339815191529281900390910190a35050565b60008083830184811061235657600092509050612183565b506002915060009050612183565b600082612373575060006109a4565b8282028284828161238057fe5b04146121e45760405162461bcd60e51b81526004018080602001828103825260218152602001806128f56021913960400191505060405180910390fd5b6000808383116123d4575060009050818303612183565b50600390506000612183565b600080836123f357506000905080612183565b8383028385828161240057fe5b041461241457506002915060009050612183565b600092509050612183565b600080826124335750600190506000612183565b600083858161243e57fe5b04915091509250929050565b6001600160a01b03821661248f5760405162461bcd60e51b815260040180806020018281038252602181526020018061297e6021913960400191505060405180910390fd5b61249b826000836126f7565b6124de81604051806060016040528060228152602001612865602291396001600160a01b038516600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b03831660009081526001602052604090205560035461250a908263ffffffff61276a16565b6003556040805182815290516000916001600160a01b0385169160008051602061295e8339815191529181900360200190a35050565b4390565b600061254e6127ac565b60008061255f8660000151866123e0565b9092509050600082600381111561257257fe5b1461259157506040805160208101909152600081529092509050612183565b60408051602081019091529081526000969095509350505050565b60008060006125b96127ac565b6125c38787612544565b909250905060008260038111156125d657fe5b146125e75750915060009050612600565b6125f96125f3826126fc565b8661233e565b9350935050505b935093915050565b600080600080612618878761233e565b9092509050600082600381111561262b57fe5b1461263c5750915060009050612600565b6125f981866123bd565b60006126506127ac565b60008061266586670de0b6b3a76400006123e0565b9092509050600082600381111561267857fe5b1461269757506040805160208101909152600081529092509050612183565b6000806126a4838861241f565b909250905060008260038111156126b757fe5b146126da5781604051806020016040528060008152509550955050505050612183565b604080516020810190915290815260009890975095505050505050565b505050565b51670de0b6b3a7640000900490565b60006127156127ac565b60008061272a670de0b6b3a7640000876123e0565b9092509050600082600381111561273d57fe5b1461275c57506040805160208101909152600081529092509050612183565b61217c818660000151612646565b60006121e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061209f565b6040518060200160405280600081525090565b6040805160608101909152806000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b6040805160c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c80223e1e29dadceb07cac4d938002bbdfdb617a0962dd24860847fa71c919764736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103035760003560e01c80638b4f3b2c1161019e578063b7e7b50c116100ef578063d383752d1161009d578063d383752d14610829578063db006a7514610846578063dd62ed3e14610863578063e778bc2114610891578063ee27a2f2146108b7578063f2fde38b146108bf578063f3fdb15a146108e5578063f8f9da28146108ed57610303565b8063b7e7b50c14610774578063bd6d894d146107a8578063bebf2b89146107b0578063c37f68e2146107cd578063c5d9bf7114610811578063cd5c6f5714610819578063d162054a1461082157610303565b80639f560dd51161014c5780639f560dd5146106df578063a457c2d7146106e7578063a6afed9514610713578063a9059cbb1461071b578063aa5af0fd14610747578063ae9d70b01461074f578063b33061351461075757610303565b80638b4f3b2c146106595780638da5cb5b146106765780638de87abd1461067e5780638f840ddd1461069b578063901717d1146106a357806395d89b41146106ab5780639dc29fac146106b357610303565b806340c10f191161025857806369a5e8cf1161020657806369a5e8cf146105c15780636c540baf146105ed57806370a08231146105f5578063715018a61461061b57806373acee98146106235780637746efab1461062b57806377e4974d1461065157610303565b806340c10f191461052c57806347bd3718146105585780634ada90af146105605780634b3fd148146105685780634c20ac7414610594578063503d37ea1461059c5780635f27adbd146105a457610303565b8063286f4d23116102b5578063286f4d2314610467578063313ce5671461048457806338d52e0f146104a257806339509351146104aa5780633aacd0d4146104d65780633af9e669146104fe5780633b1d21a21461052457610303565b806306fdde0314610308578063095ea7b31461038557806311e2c02f146103c5578063173b9904146103e957806317bfdfbc1461040357806318160ddd1461042957806323b872dd14610431575b600080fd5b6103106108f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034a578181015183820152602001610332565b50505050905090810190601f1680156103775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b16004803603604081101561039b57600080fd5b506001600160a01b03813516906020013561098c565b604080519115158252519081900360200190f35b6103cd6109aa565b604080516001600160a01b039092168252519081900360200190f35b6103f16109b9565b60408051918252519081900360200190f35b6103f16004803603602081101561041957600080fd5b50356001600160a01b03166109bf565b6103f16109da565b6103b16004803603606081101561044757600080fd5b506001600160a01b038135811691602081013590911690604001356109e0565b6103f16004803603602081101561047d57600080fd5b5035610a6d565b61048c610a99565b6040805160ff9092168252519081900360200190f35b6103cd610aa2565b6103b1600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610ab6565b6104fc600480360360208110156104ec57600080fd5b50356001600160a01b0316610b0a565b005b6103f16004803603602081101561051457600080fd5b50356001600160a01b0316610b84565b6103f1610bdf565b6104fc6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610bee565b6103f1610cb5565b6103f1610cbb565b6104fc6004803603604081101561057e57600080fd5b50803590602001356001600160a01b0316610cc1565b6103cd610ea2565b6103f1610eb6565b6103f1600480360360208110156105ba57600080fd5b5035610ed3565b6103f1600480360360408110156105d757600080fd5b50803590602001356001600160a01b0316610f76565b6103f16110ce565b6103f16004803603602081101561060b57600080fd5b50356001600160a01b03166110d4565b6104fc6110ef565b6103f1611191565b6103f16004803603602081101561064157600080fd5b50356001600160a01b03166111a2565b6103b1611245565b6104fc6004803603602081101561066f57600080fd5b503561124e565b6103cd6112ab565b6103f16004803603602081101561069457600080fd5b50356112ba565b6103f16112dd565b6103f16112e3565b6103106112e9565b6104fc600480360360408110156106c957600080fd5b506001600160a01b03813516906020013561134a565b6103f16113b3565b6103b1600480360360408110156106fd57600080fd5b506001600160a01b0381351690602001356113c4565b6104fc611432565b6103b16004803603604081101561073157600080fd5b506001600160a01b038135169060200135611664565b6103f16116a2565b6103f16116a8565b6103f16004803603602081101561076d57600080fd5b5035611747565b6104fc6004803603606081101561078a57600080fd5b508035906001600160a01b0360208201358116916040013516611762565b6103f16118b1565b6103f1600480360360208110156107c657600080fd5b503561191a565b6107f3600480360360208110156107e357600080fd5b50356001600160a01b031661199c565b60408051938452602084019290925282820152519081900360600190f35b6103cd6119d2565b6103f16119e1565b6103cd6119eb565b6103f16004803603602081101561083f57600080fd5b50356119fa565b6104fc6004803603602081101561085c57600080fd5b5035611a16565b6103f16004803603604081101561087957600080fd5b506001600160a01b0381358116916020013516611c9b565b6103f1600480360360208110156108a757600080fd5b50356001600160a01b0316611cc6565b6103f1611ce3565b6104fc600480360360208110156108d557600080fd5b50356001600160a01b0316611ced565b6103cd611de5565b6103f1611df4565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b820191906000526020600020905b81548152906001019060200180831161096457829003601f168201915b505050505090505b90565b60006109a0610999611e58565b8484611e5c565b5060015b92915050565b6013546001600160a01b031681565b60085481565b60006109c9611432565b6109d2826111a2565b90505b919050565b60035490565b60006109ed848484611f48565b610a63846109f9611e58565b610a5e85604051806060016040528060288152602001612916602891396001600160a01b038a16600090815260026020526040812090610a37611e58565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61209f16565b611e5c565b5060019392505050565b6000806000610a906040518060200160405280610a886118b1565b905285612136565b95945050505050565b60065460ff1690565b600f5461010090046001600160a01b031681565b60006109a0610ac3611e58565b84610a5e8560026000610ad4611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61218a16565b610b12611e58565b6000546001600160a01b03908116911614610b62576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b8e6127ac565b6040518060200160405280610ba16118b1565b90529050600080610bba83610bb5876110d4565b612136565b90925090506000826003811115610bcd57fe5b14610bd757600080fd5b949350505050565b6000610be96121eb565b905090565b6011546001600160a01b03163314610c0557600080fd5b610c0d6127bf565b610c156118b1565b602080830191825260408051918201905290518152610c3590839061223b565b6040830181905282826003811115610c4957fe5b6003811115610c5457fe5b8152505050610c67838260400151612252565b60408082015181516001600160a01b0386168152602081019190915281517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe929181900390910190a1505050565b600b5481565b600d5481565b6011546001600160a01b03163314610cd857600080fd5b81610ce16121eb565b11610d33576040805162461bcd60e51b815260206004820152601a60248201527f6e6f7420656e6f75676820746f6b656e20746f20626f72726f77000000000000604482015290519081900360640190fd5b610d3b6127e1565b610d44826109bf565b60208201819052610d55908461233e565b6040830181905282826003811115610d6957fe5b6003811115610d7457fe5b8152505050610d85600b548461233e565b6060830181905282826003811115610d9957fe5b6003811115610da457fe5b905250506040808201516001600160a01b03808516600081815260146020908152858220948555600a546001909501949094556060860151600b55600f54855163a9059cbb60e01b815260048101939093526024830189905294516101009095049092169363a9059cbb9360448084019491938390030190829087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b5050604080516001600160a01b03841681526020810185905281517fac59582e5396aca512fa873a2047e7f4c80f8f55d4a06cb34a78a0187f62719f929181900390910190a1505050565b600f5461010090046001600160a01b031690565b6000610be962243394610ec7611df4565b9063ffffffff61236416565b600080610edf83610a6d565b601354600f546040805163513396f760e11b81526101009092046001600160a01b03908116600484015260248301859052905193945060009392169163a2672dee9160448082019260209290919082900301818787803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050506040513d6020811015610f6c57600080fd5b5051949350505050565b6011546000906001600160a01b03163314610f9057600080fd5b610f9861280a565b610fa1836109bf565b60608201526001600160a01b03831660009081526014602052604090819020600101549082015283610fdc5760608101516020820152610fe4565b602081018490525b610ff6816060015182602001516123bd565b608083018190528282600381111561100a57fe5b600381111561101557fe5b815250505061102a600b5482602001516123bd565b60a083018190528282600381111561103e57fe5b600381111561104957fe5b9052505060808101516001600160a01b0384166000818152601460209081526040918290209384558185015160019094019390935560a0840151600b558284015181519283529282019290925281517f4792e4d6a0dabb47a2ac2b2fb3ab426c2e1a5e3cab374282d855ac6cb03a5712929181900390910190a1602001519392505050565b60095481565b6001600160a01b031660009081526001602052604090205490565b6110f7611e58565b6000546001600160a01b03908116911614611147576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061119b611432565b50600b5490565b6001600160a01b03811660009081526014602052604081208054829182918291906111d45760009450505050506109d5565b6111e48160000154600a546123e0565b909450925060008460038111156111f757fe5b146112095760009450505050506109d5565b61121783826001015461241f565b9094509150600084600381111561122a57fe5b1461123c5760009450505050506109d5565b50949350505050565b600f5460ff1681565b611256611e58565b6000546001600160a01b039081169116146112a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6000806000610a908460405180602001604052806112d66119e1565b905261223b565b600c5481565b600e5481565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b6011546001600160a01b0316331461136157600080fd5b61136b828261244a565b604080516001600160a01b03841681526020810183905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15050565b6000610be962243394610ec76116a8565b60006109a06113d1611e58565b84610a5e856040518060600160405280602581526020016129e860259139600260006113fb611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61209f16565b600061143c612540565b600954909150600061144c6121eb565b600b54600c54600a54929350909184861461160957601054604080516315f2405360e01b815260048101879052602481018690526044810185905290516000926001600160a01b0316916315f24053916064808301926020929190829003018186803b1580156114bb57600080fd5b505afa1580156114cf573d6000803e3d6000fd5b505050506040513d60208110156114e557600080fd5b5051905065048c273950008111156114fc57600080fd5b60008061150989896123bd565b915091506115156127ac565b60008060008061153360405180602001604052808a81525087612544565b9097509450611542858c612136565b9097509350611551848c61233e565b60408051602081019091526008548152919850935061157190858c6125ac565b9097509150611581858a806125ac565b80925081985050508d60098190555080600a8190555082600b8190555081600c819055507fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d600954600a54600b54600c546040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050505061165c565b600954600a54600b54600c54604080519485526020850193909352838301919091526060830152517fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d9181900360800190a15b505050505050565b60006001600160a01b0383161561167a57600080fd5b81722cd76fe086b93ce2f768a00b22a000000000001461169957600080fd5b50600092915050565b600a5481565b6010546000906001600160a01b031663b81688166116c46121eb565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b5051905090565b6000806000610a906040518060200160405280610a886119e1565b6012546001600160a01b0316331461177957600080fd5b601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018790529051600093919091169163fff9ccde91604480830192602092919082900301818787803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050506040513d602081101561180757600080fd5b505190506000611816826119fa565b9050611822848261244a565b600f546040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291516101009093049091169163a9059cbb916044808201926020929091908290030181600087803b15801561187e57600080fd5b505af1158015611892573d6000803e3d6000fd5b505050506040513d60208110156118a857600080fd5b50505050505050565b60006118bb611432565b6118c36109da565b6118d05750600754610989565b60006118da6121eb565b905060006118e66127ac565b60006118f784600b54600c54612608565b9350905061190c836119076109da565b612646565b519550610989945050505050565b60008061192683611747565b601354600f54604080516381a61d7f60e01b81526101009092046001600160a01b0390811660048401526024830185905290519394506000939216916381a61d7f91604480820192602092909190829003018186803b15801561198857600080fd5b505afa158015610f56573d6000803e3d6000fd5b6000806000806119ab856110d4565b905060006119b8866109bf565b905060006119c46118b1565b929791965091945092505050565b6011546001600160a01b031681565b60006118c36109da565b6012546001600160a01b031681565b6000806000610a908460405180602001604052806112d66118b1565b80611a2057600080fd5b611a286127bf565b611a306118b1565b6020820152600f5460ff1615611b6057601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018690529051600093919091169163fff9ccde91604480830192602092919082900301818787803b158015611aa457600080fd5b505af1158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b505160125460408051636012b43160e01b815233600482015230602482015290519293506001600160a01b0390911691636012b431916044808201926020929091908290030181600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b505050506040513d6020811015611b5057600080fd5b5051811115611b5e57600080fd5b505b611b7233611b6d846119fa565b61244a565b611b8e826040518060200160405280846020015181525061223b565b6040830181905282826003811115611ba257fe5b6003811115611bad57fe5b905250506040810151611bbe6121eb565b1015611bc957600080fd5b600f54604082810151815163a9059cbb60e01b8152336004820152602481019190915290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b158015611c2657600080fd5b505af1158015611c3a573d6000803e3d6000fd5b505050506040513d6020811015611c5057600080fd5b50506040808201518151338152602081018590528083019190915290517ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec2629181900360600190a15050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000611cd06127ac565b6040518060200160405280610ba16119e1565b65048c2739500081565b611cf5611e58565b6000546001600160a01b03908116911614611d45576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b6001600160a01b038116611d8a5760405162461bcd60e51b81526004018080602001828103825260268152602001806128876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6010546000906001600160a01b03166315f24053611e106121eb565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561171657600080fd5b3390565b6001600160a01b038316611ea15760405162461bcd60e51b81526004018080602001828103825260248152602001806129c46024913960400191505060405180910390fd5b6001600160a01b038216611ee65760405162461bcd60e51b81526004018080602001828103825260228152602001806128ad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611f8d5760405162461bcd60e51b815260040180806020018281038252602581526020018061299f6025913960400191505060405180910390fd5b6001600160a01b038216611fd25760405162461bcd60e51b81526004018080602001828103825260238152602001806128426023913960400191505060405180910390fd5b611fdd8383836126f7565b612020816040518060600160405280602681526020016128cf602691396001600160a01b038616600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612055908263ffffffff61218a16565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061295e83398151915292918290030190a3505050565b6000818484111561212e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120f35781810151838201526020016120db565b50505050905090810190601f1680156121205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060006121436127ac565b61214d8686612544565b9092509050600082600381111561216057fe5b146121715750915060009050612183565b600061217c826126fc565b9350935050505b9250929050565b6000828201838110156121e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600f54604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561171657600080fd5b60008060006122486127ac565b61214d868661270b565b6001600160a01b0382166122ad576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6122b9600083836126f7565b6003546122cc908263ffffffff61218a16565b6003556001600160a01b0382166000908152600160205260409020546122f8908263ffffffff61218a16565b6001600160a01b038316600081815260016020908152604080832094909455835185815293519293919260008051602061295e8339815191529281900390910190a35050565b60008083830184811061235657600092509050612183565b506002915060009050612183565b600082612373575060006109a4565b8282028284828161238057fe5b04146121e45760405162461bcd60e51b81526004018080602001828103825260218152602001806128f56021913960400191505060405180910390fd5b6000808383116123d4575060009050818303612183565b50600390506000612183565b600080836123f357506000905080612183565b8383028385828161240057fe5b041461241457506002915060009050612183565b600092509050612183565b600080826124335750600190506000612183565b600083858161243e57fe5b04915091509250929050565b6001600160a01b03821661248f5760405162461bcd60e51b815260040180806020018281038252602181526020018061297e6021913960400191505060405180910390fd5b61249b826000836126f7565b6124de81604051806060016040528060228152602001612865602291396001600160a01b038516600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b03831660009081526001602052604090205560035461250a908263ffffffff61276a16565b6003556040805182815290516000916001600160a01b0385169160008051602061295e8339815191529181900360200190a35050565b4390565b600061254e6127ac565b60008061255f8660000151866123e0565b9092509050600082600381111561257257fe5b1461259157506040805160208101909152600081529092509050612183565b60408051602081019091529081526000969095509350505050565b60008060006125b96127ac565b6125c38787612544565b909250905060008260038111156125d657fe5b146125e75750915060009050612600565b6125f96125f3826126fc565b8661233e565b9350935050505b935093915050565b600080600080612618878761233e565b9092509050600082600381111561262b57fe5b1461263c5750915060009050612600565b6125f981866123bd565b60006126506127ac565b60008061266586670de0b6b3a76400006123e0565b9092509050600082600381111561267857fe5b1461269757506040805160208101909152600081529092509050612183565b6000806126a4838861241f565b909250905060008260038111156126b757fe5b146126da5781604051806020016040528060008152509550955050505050612183565b604080516020810190915290815260009890975095505050505050565b505050565b51670de0b6b3a7640000900490565b60006127156127ac565b60008061272a670de0b6b3a7640000876123e0565b9092509050600082600381111561273d57fe5b1461275c57506040805160208101909152600081529092509050612183565b61217c818660000151612646565b60006121e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061209f565b6040518060200160405280600081525090565b6040805160608101909152806000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b6040805160c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c80223e1e29dadceb07cac4d938002bbdfdb617a0962dd24860847fa71c919764736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_interestRateModel\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MoneyMarketControl\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MoneyMarketInstance\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountRepayed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"ARTowed\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"ARTcollateral\",\"type\":\"address\"}],\"name\":\"Accountliquidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountBorrowed\",\"type\":\"uint256\"}],\"name\":\"Borrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"accrualBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrows\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalReserves\",\"type\":\"uint256\"}],\"name\":\"InterestAccrued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountMinted\",\"type\":\"uint256\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"NonCompliantTimerReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"NonCompliantTimerStart\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountART\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"assetAmountRedeemed\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountRepayed\",\"type\":\"uint256\"}],\"name\":\"Repayed\",\"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\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMI\",\"outputs\":[{\"internalType\":\"contract MoneyMarketInstanceI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UOF\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"}],\"name\":\"_liquidate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"_updateInterestModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"accrualBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"accrueInterest\",\"outputs\":[],\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlyingPrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalancePrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowRateMaxMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"convertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"convertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRatePrior\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getAccountSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrowAPY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSupplyAPY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interestRateModel\",\"outputs\":[{\"internalType\":\"contract InterestRateModel\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidationIncentiveMantissa\",\"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\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"one\",\"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\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reserveFactorMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setReserveRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyRatePerBlock\",\"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\":\"totalBorrows\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalBorrowsCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalReserves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"viewConvertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"viewConvertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"accrueInterest()\":{\"details\":\"This calculates interest accrued from the last checkpointed block up to the current block and writes new checkpoint to storage.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"balanceOfUnderlying(address)\":{\"params\":{\"owner\":\"The address of the account to query\"},\"returns\":{\"_0\":\"The amount of underlying owned by `owner`\"}},\"balanceOfUnderlyingPrior(address)\":{\"params\":{\"owner\":\"The address of the account to query\"},\"returns\":{\"_0\":\"The amount of underlying owned by `owner`*\"}},\"borrow(uint256,address)\":{\"params\":{\"_borrowAmount\":\"The amount of the underlying asset to borrow\"}},\"borrowBalanceCurrent(address)\":{\"params\":{\"account\":\"The address whose balance should be calculated after updating borrowIndex\"},\"returns\":{\"_0\":\"The calculated balance*\"}},\"borrowBalancePrior(address)\":{\"params\":{\"account\":\"The address whose balance should be calculated after updating borrowIndex\"},\"returns\":{\"_0\":\"The calculated balance*\"}},\"burn(address,uint256)\":{\"params\":{\"_account\":\"is the account the AHR is being burned from\",\"_amount\":\"is the amount of AHR being burned*\"}},\"constructor\":{\"details\":\"these two perameters become hyphenated with \\\"AHR\\\" during this process( e.x: AHR-wBitcoin, AHR-wBTC)*\",\"params\":{\"_asset\":\"is the address of the underlying asset for a specific ART contract\",\"_initialExchangeRate\":\"is the initial exchange rate mantissa for a specific ART\",\"_interestRateModel\":\"is the address of the interest rate model for a specific ART\",\"_isALR\":\"signifies whether or not a specific AskoRiskToken instance is a high risk or low risk token.\",\"_oracleFactory\":\"is teh address of the uniswap oracle factory contract\",\"_tokenName\":\"is the name of the asset the MoneyMarketInstance that owns this contract represents\",\"_tokenSymbol\":\"is the symbol of the asset the MoneyMarketInstance that owns this contract represents\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getAccountSnapshot(address)\":{\"details\":\"This is used to perform liquidity checks.\",\"params\":{\"account\":\"Address of the account to snapshot\"},\"returns\":{\"_0\":\"(token balance, borrow balance, exchange rate mantissa)*\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"params\":{\"_account\":\"is the account the AHR is being minted to\",\"_amount\":\"is the amount of stablecoin being input*\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"redeem(uint256)\":{\"params\":{\"_amount\":\"is the amount of Asset being requested in ART exhange*\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"repayBorrow(uint256,address)\":{\"params\":{\"repayAmount\":\"The amount to repay\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"accrueInterest()\":{\"notice\":\"Applies accrued interest to total borrows and reserves\"},\"balanceOfUnderlying(address)\":{\"notice\":\"Get the underlying balance of the `owners`\"},\"balanceOfUnderlyingPrior(address)\":{\"notice\":\"Get the underlying balance of the `owners`\"},\"borrow(uint256,address)\":{\"notice\":\"Sender borrows assets from the protocol to their own address\"},\"borrowBalanceCurrent(address)\":{\"notice\":\"Accrue interest to updated borrowIndex and then calculate account's borrow balance using the updated borrowIndex\"},\"borrowBalancePrior(address)\":{\"notice\":\"returns last calculated account's borrow balance using the prior borrowIndex\"},\"borrowRatePerBlock()\":{\"notice\":\"Returns the current per-block borrow interest rate for this ART\"},\"burn(address,uint256)\":{\"notice\":\"burn is a modified function that only the owner of this contract(its MoneyMarketInstance) can call. This function allows an amount of AskoRiskToken token to be burned from an address when called.\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to set up the name, symbol, and decimal variables for the AskoRiskToken contract.\",\"exchangeRateCurrent()\":{\"notice\":\"Accrue interest then return the up-to-date exchange rate\"},\"exchangeRatePrior()\":{\"notice\":\"return prior exchange rate for front end viewing\"},\"getAccountSnapshot(address)\":{\"notice\":\"Get a snapshot of the account's balances, and the cached exchange rate\"},\"getAssetAdd()\":{\"notice\":\"getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*\"},\"getBorrowAPY()\":{\"notice\":\"getSupplyAPY roughly calculates the current APY for borrowing using an average of 6500 blocks per day*\"},\"getCash()\":{\"notice\":\"Get cash balance of this cToken in the underlying asset in other contracts\"},\"getSupplyAPY()\":{\"notice\":\"getSupplyAPY roughly calculates the current APY for supplying using an average of 6500 blocks per day*\"},\"mint(address,uint256)\":{\"notice\":\"mint is a modified function that only the owner of this contract(its MoneyMarketInstance) can call. This function allows an amount of AskoRiskToken token to be minted when called.\"},\"redeem(uint256)\":{\"notice\":\"redeem allows a user to redeem their AskoRiskToken for the appropriate amount of underlying asset\"},\"repayBorrow(uint256,address)\":{\"notice\":\"Sender repays their own borrow\"},\"supplyRatePerBlock()\":{\"notice\":\"Returns the current per-block supply interest rate for this ART\"},\"totalBorrowsCurrent()\":{\"notice\":\"Returns the current total borrows plus accrued interest\"},\"transfer(address,uint256)\":{\"notice\":\"transfer is an override function that effectivly makes transfering a ART impossible. this is necissary to avoid a user taking out a loan using his ALR as collateral and then transfering his ALR so his loan cant be liquidated.*\"}},\"notice\":\"The AskoRiskToken contract is an ERC20 contract designed to be owned by a MoneyMarketInstance contract. This contract's token represents a Risk lending pool in a MoneyMarketInstance contract. This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol && ERC20.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/AskoRiskToken.sol\":\"AskoRiskToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/AskoRiskToken.sol\":{\"keccak256\":\"0xc1f4e064defff4422fc43a3de59b36d240965b3702802c5bd49c2300d9aceea5\",\"urls\":[\"bzz-raw://4395251ec301178199912e1c048240647f4b7e64ec2d897a236f46c0be37be33\",\"dweb:/ipfs/QmYxvdQvAaDKR8B5eSpASVEA31rMjQ1ccvFRcCSKoGoNy5\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":{\"keccak256\":\"0x343e39fe3cac3768527f1a3354fdde91ac11545693d5e5db8d51d10bd44e0176\",\"urls\":[\"bzz-raw://1e1e06a116bea6b16dbc39b23829b861fb975b9045e4db369fe541d48abd3d76\",\"dweb:/ipfs/QmcUKxN1UVqVpFRaLB2RHWLZkKqUi2fzY2Qs3524CQWNRJ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xcbd85c86627a47fd939f1f4ee3ba626575ff2a182e1804b29f5136394449b538\",\"urls\":[\"bzz-raw://53c6a80c519bb9356aad28efa9a1ec31603860eb759d2dc57f545fcae1dd1aca\",\"dweb:/ipfs/QmfRS6TtMNUHhvgLHXK21qKNnpn2S7g2Yd1fKaHKyFiJsR\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x608060405266038d7ea4c68000600d55670de0b6b3a7640000600e553480156200002857600080fd5b5060405162002ea438038062002ea483398181016040526101208110156200004f57600080fd5b815160208301516040808501516060860151608087015160a0880180519451969895979396929591949293820192846401000000008211156200009157600080fd5b908301906020820185811115620000a757600080fd5b8251640100000000811182820188101715620000c257600080fd5b82525081516020918201929091019080838360005b83811015620000f1578181015183820152602001620000d7565b50505050905090810190601f1680156200011f5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200014357600080fd5b9083019060208201858111156200015957600080fd5b82516401000000008111828201881017156200017457600080fd5b82525081516020918201929091019080838360005b83811015620001a357818101518382015260200162000189565b50505050905090810190601f168015620001d15780820380516001836020036101000a031916815260200191505b5060409081526020820151910151909250905083836000620001fb6001600160e01b03620003a716565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35081516200025a906004906020850190620003b0565b50805162000270906005906020840190620003b0565b506012600660006101000a81548160ff021916908360ff160217905550505087600f60016101000a8154816001600160a01b0302191690836001600160a01b0316021790555084601160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555088601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555086601360006101000a8154816001600160a01b0302191690836001600160a01b0316021790555085601260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600f60006101000a81548160ff0219169083151502179055508060078190555062000383620003ac60201b60201c565b6009555050670de0b6b3a7640000600a819055600855506200045295505050505050565b335b90565b4390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003f357805160ff191683800117855562000423565b8280016001018555821562000423579182015b828111156200042357825182559160200191906001019062000406565b506200043192915062000435565b5090565b620003a991905b808211156200043157600081556001016200043c565b612a4280620004626000396000f3fe608060405234801561001057600080fd5b50600436106103035760003560e01c80638b4f3b2c1161019e578063b7e7b50c116100ef578063d383752d1161009d578063d383752d14610829578063db006a7514610846578063dd62ed3e14610863578063e778bc2114610891578063ee27a2f2146108b7578063f2fde38b146108bf578063f3fdb15a146108e5578063f8f9da28146108ed57610303565b8063b7e7b50c14610774578063bd6d894d146107a8578063bebf2b89146107b0578063c37f68e2146107cd578063c5d9bf7114610811578063cd5c6f5714610819578063d162054a1461082157610303565b80639f560dd51161014c5780639f560dd5146106df578063a457c2d7146106e7578063a6afed9514610713578063a9059cbb1461071b578063aa5af0fd14610747578063ae9d70b01461074f578063b33061351461075757610303565b80638b4f3b2c146106595780638da5cb5b146106765780638de87abd1461067e5780638f840ddd1461069b578063901717d1146106a357806395d89b41146106ab5780639dc29fac146106b357610303565b806340c10f191161025857806369a5e8cf1161020657806369a5e8cf146105c15780636c540baf146105ed57806370a08231146105f5578063715018a61461061b57806373acee98146106235780637746efab1461062b57806377e4974d1461065157610303565b806340c10f191461052c57806347bd3718146105585780634ada90af146105605780634b3fd148146105685780634c20ac7414610594578063503d37ea1461059c5780635f27adbd146105a457610303565b8063286f4d23116102b5578063286f4d2314610467578063313ce5671461048457806338d52e0f146104a257806339509351146104aa5780633aacd0d4146104d65780633af9e669146104fe5780633b1d21a21461052457610303565b806306fdde0314610308578063095ea7b31461038557806311e2c02f146103c5578063173b9904146103e957806317bfdfbc1461040357806318160ddd1461042957806323b872dd14610431575b600080fd5b6103106108f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034a578181015183820152602001610332565b50505050905090810190601f1680156103775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b16004803603604081101561039b57600080fd5b506001600160a01b03813516906020013561098c565b604080519115158252519081900360200190f35b6103cd6109aa565b604080516001600160a01b039092168252519081900360200190f35b6103f16109b9565b60408051918252519081900360200190f35b6103f16004803603602081101561041957600080fd5b50356001600160a01b03166109bf565b6103f16109da565b6103b16004803603606081101561044757600080fd5b506001600160a01b038135811691602081013590911690604001356109e0565b6103f16004803603602081101561047d57600080fd5b5035610a6d565b61048c610a99565b6040805160ff9092168252519081900360200190f35b6103cd610aa2565b6103b1600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610ab6565b6104fc600480360360208110156104ec57600080fd5b50356001600160a01b0316610b0a565b005b6103f16004803603602081101561051457600080fd5b50356001600160a01b0316610b84565b6103f1610bdf565b6104fc6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610bee565b6103f1610cb5565b6103f1610cbb565b6104fc6004803603604081101561057e57600080fd5b50803590602001356001600160a01b0316610cc1565b6103cd610ea2565b6103f1610eb6565b6103f1600480360360208110156105ba57600080fd5b5035610ed3565b6103f1600480360360408110156105d757600080fd5b50803590602001356001600160a01b0316610f76565b6103f16110ce565b6103f16004803603602081101561060b57600080fd5b50356001600160a01b03166110d4565b6104fc6110ef565b6103f1611191565b6103f16004803603602081101561064157600080fd5b50356001600160a01b03166111a2565b6103b1611245565b6104fc6004803603602081101561066f57600080fd5b503561124e565b6103cd6112ab565b6103f16004803603602081101561069457600080fd5b50356112ba565b6103f16112dd565b6103f16112e3565b6103106112e9565b6104fc600480360360408110156106c957600080fd5b506001600160a01b03813516906020013561134a565b6103f16113b3565b6103b1600480360360408110156106fd57600080fd5b506001600160a01b0381351690602001356113c4565b6104fc611432565b6103b16004803603604081101561073157600080fd5b506001600160a01b038135169060200135611664565b6103f16116a2565b6103f16116a8565b6103f16004803603602081101561076d57600080fd5b5035611747565b6104fc6004803603606081101561078a57600080fd5b508035906001600160a01b0360208201358116916040013516611762565b6103f16118b1565b6103f1600480360360208110156107c657600080fd5b503561191a565b6107f3600480360360208110156107e357600080fd5b50356001600160a01b031661199c565b60408051938452602084019290925282820152519081900360600190f35b6103cd6119d2565b6103f16119e1565b6103cd6119eb565b6103f16004803603602081101561083f57600080fd5b50356119fa565b6104fc6004803603602081101561085c57600080fd5b5035611a16565b6103f16004803603604081101561087957600080fd5b506001600160a01b0381358116916020013516611c9b565b6103f1600480360360208110156108a757600080fd5b50356001600160a01b0316611cc6565b6103f1611ce3565b6104fc600480360360208110156108d557600080fd5b50356001600160a01b0316611ced565b6103cd611de5565b6103f1611df4565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b820191906000526020600020905b81548152906001019060200180831161096457829003601f168201915b505050505090505b90565b60006109a0610999611e58565b8484611e5c565b5060015b92915050565b6013546001600160a01b031681565b60085481565b60006109c9611432565b6109d2826111a2565b90505b919050565b60035490565b60006109ed848484611f48565b610a63846109f9611e58565b610a5e85604051806060016040528060288152602001612916602891396001600160a01b038a16600090815260026020526040812090610a37611e58565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61209f16565b611e5c565b5060019392505050565b6000806000610a906040518060200160405280610a886118b1565b905285612136565b95945050505050565b60065460ff1690565b600f5461010090046001600160a01b031681565b60006109a0610ac3611e58565b84610a5e8560026000610ad4611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61218a16565b610b12611e58565b6000546001600160a01b03908116911614610b62576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b8e6127ac565b6040518060200160405280610ba16118b1565b90529050600080610bba83610bb5876110d4565b612136565b90925090506000826003811115610bcd57fe5b14610bd757600080fd5b949350505050565b6000610be96121eb565b905090565b6011546001600160a01b03163314610c0557600080fd5b610c0d6127bf565b610c156118b1565b602080830191825260408051918201905290518152610c3590839061223b565b6040830181905282826003811115610c4957fe5b6003811115610c5457fe5b8152505050610c67838260400151612252565b60408082015181516001600160a01b0386168152602081019190915281517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe929181900390910190a1505050565b600b5481565b600d5481565b6011546001600160a01b03163314610cd857600080fd5b81610ce16121eb565b11610d33576040805162461bcd60e51b815260206004820152601a60248201527f6e6f7420656e6f75676820746f6b656e20746f20626f72726f77000000000000604482015290519081900360640190fd5b610d3b6127e1565b610d44826109bf565b60208201819052610d55908461233e565b6040830181905282826003811115610d6957fe5b6003811115610d7457fe5b8152505050610d85600b548461233e565b6060830181905282826003811115610d9957fe5b6003811115610da457fe5b905250506040808201516001600160a01b03808516600081815260146020908152858220948555600a546001909501949094556060860151600b55600f54855163a9059cbb60e01b815260048101939093526024830189905294516101009095049092169363a9059cbb9360448084019491938390030190829087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b5050604080516001600160a01b03841681526020810185905281517fac59582e5396aca512fa873a2047e7f4c80f8f55d4a06cb34a78a0187f62719f929181900390910190a1505050565b600f5461010090046001600160a01b031690565b6000610be962243394610ec7611df4565b9063ffffffff61236416565b600080610edf83610a6d565b601354600f546040805163513396f760e11b81526101009092046001600160a01b03908116600484015260248301859052905193945060009392169163a2672dee9160448082019260209290919082900301818787803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050506040513d6020811015610f6c57600080fd5b5051949350505050565b6011546000906001600160a01b03163314610f9057600080fd5b610f9861280a565b610fa1836109bf565b60608201526001600160a01b03831660009081526014602052604090819020600101549082015283610fdc5760608101516020820152610fe4565b602081018490525b610ff6816060015182602001516123bd565b608083018190528282600381111561100a57fe5b600381111561101557fe5b815250505061102a600b5482602001516123bd565b60a083018190528282600381111561103e57fe5b600381111561104957fe5b9052505060808101516001600160a01b0384166000818152601460209081526040918290209384558185015160019094019390935560a0840151600b558284015181519283529282019290925281517f4792e4d6a0dabb47a2ac2b2fb3ab426c2e1a5e3cab374282d855ac6cb03a5712929181900390910190a1602001519392505050565b60095481565b6001600160a01b031660009081526001602052604090205490565b6110f7611e58565b6000546001600160a01b03908116911614611147576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061119b611432565b50600b5490565b6001600160a01b03811660009081526014602052604081208054829182918291906111d45760009450505050506109d5565b6111e48160000154600a546123e0565b909450925060008460038111156111f757fe5b146112095760009450505050506109d5565b61121783826001015461241f565b9094509150600084600381111561122a57fe5b1461123c5760009450505050506109d5565b50949350505050565b600f5460ff1681565b611256611e58565b6000546001600160a01b039081169116146112a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6000806000610a908460405180602001604052806112d66119e1565b905261223b565b600c5481565b600e5481565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b6011546001600160a01b0316331461136157600080fd5b61136b828261244a565b604080516001600160a01b03841681526020810183905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15050565b6000610be962243394610ec76116a8565b60006109a06113d1611e58565b84610a5e856040518060600160405280602581526020016129e860259139600260006113fb611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61209f16565b600061143c612540565b600954909150600061144c6121eb565b600b54600c54600a54929350909184861461160957601054604080516315f2405360e01b815260048101879052602481018690526044810185905290516000926001600160a01b0316916315f24053916064808301926020929190829003018186803b1580156114bb57600080fd5b505afa1580156114cf573d6000803e3d6000fd5b505050506040513d60208110156114e557600080fd5b5051905065048c273950008111156114fc57600080fd5b60008061150989896123bd565b915091506115156127ac565b60008060008061153360405180602001604052808a81525087612544565b9097509450611542858c612136565b9097509350611551848c61233e565b60408051602081019091526008548152919850935061157190858c6125ac565b9097509150611581858a806125ac565b80925081985050508d60098190555080600a8190555082600b8190555081600c819055507fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d600954600a54600b54600c546040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050505061165c565b600954600a54600b54600c54604080519485526020850193909352838301919091526060830152517fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d9181900360800190a15b505050505050565b60006001600160a01b0383161561167a57600080fd5b81722cd76fe086b93ce2f768a00b22a000000000001461169957600080fd5b50600092915050565b600a5481565b6010546000906001600160a01b031663b81688166116c46121eb565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b5051905090565b6000806000610a906040518060200160405280610a886119e1565b6012546001600160a01b0316331461177957600080fd5b601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018790529051600093919091169163fff9ccde91604480830192602092919082900301818787803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050506040513d602081101561180757600080fd5b505190506000611816826119fa565b9050611822848261244a565b600f546040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291516101009093049091169163a9059cbb916044808201926020929091908290030181600087803b15801561187e57600080fd5b505af1158015611892573d6000803e3d6000fd5b505050506040513d60208110156118a857600080fd5b50505050505050565b60006118bb611432565b6118c36109da565b6118d05750600754610989565b60006118da6121eb565b905060006118e66127ac565b60006118f784600b54600c54612608565b9350905061190c836119076109da565b612646565b519550610989945050505050565b60008061192683611747565b601354600f54604080516381a61d7f60e01b81526101009092046001600160a01b0390811660048401526024830185905290519394506000939216916381a61d7f91604480820192602092909190829003018186803b15801561198857600080fd5b505afa158015610f56573d6000803e3d6000fd5b6000806000806119ab856110d4565b905060006119b8866109bf565b905060006119c46118b1565b929791965091945092505050565b6011546001600160a01b031681565b60006118c36109da565b6012546001600160a01b031681565b6000806000610a908460405180602001604052806112d66118b1565b80611a2057600080fd5b611a286127bf565b611a306118b1565b6020820152600f5460ff1615611b6057601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018690529051600093919091169163fff9ccde91604480830192602092919082900301818787803b158015611aa457600080fd5b505af1158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b505160125460408051636012b43160e01b815233600482015230602482015290519293506001600160a01b0390911691636012b431916044808201926020929091908290030181600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b505050506040513d6020811015611b5057600080fd5b5051811115611b5e57600080fd5b505b611b7233611b6d846119fa565b61244a565b611b8e826040518060200160405280846020015181525061223b565b6040830181905282826003811115611ba257fe5b6003811115611bad57fe5b905250506040810151611bbe6121eb565b1015611bc957600080fd5b600f54604082810151815163a9059cbb60e01b8152336004820152602481019190915290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b158015611c2657600080fd5b505af1158015611c3a573d6000803e3d6000fd5b505050506040513d6020811015611c5057600080fd5b50506040808201518151338152602081018590528083019190915290517ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec2629181900360600190a15050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000611cd06127ac565b6040518060200160405280610ba16119e1565b65048c2739500081565b611cf5611e58565b6000546001600160a01b03908116911614611d45576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b6001600160a01b038116611d8a5760405162461bcd60e51b81526004018080602001828103825260268152602001806128876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6010546000906001600160a01b03166315f24053611e106121eb565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561171657600080fd5b3390565b6001600160a01b038316611ea15760405162461bcd60e51b81526004018080602001828103825260248152602001806129c46024913960400191505060405180910390fd5b6001600160a01b038216611ee65760405162461bcd60e51b81526004018080602001828103825260228152602001806128ad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611f8d5760405162461bcd60e51b815260040180806020018281038252602581526020018061299f6025913960400191505060405180910390fd5b6001600160a01b038216611fd25760405162461bcd60e51b81526004018080602001828103825260238152602001806128426023913960400191505060405180910390fd5b611fdd8383836126f7565b612020816040518060600160405280602681526020016128cf602691396001600160a01b038616600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612055908263ffffffff61218a16565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061295e83398151915292918290030190a3505050565b6000818484111561212e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120f35781810151838201526020016120db565b50505050905090810190601f1680156121205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060006121436127ac565b61214d8686612544565b9092509050600082600381111561216057fe5b146121715750915060009050612183565b600061217c826126fc565b9350935050505b9250929050565b6000828201838110156121e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600f54604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561171657600080fd5b60008060006122486127ac565b61214d868661270b565b6001600160a01b0382166122ad576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6122b9600083836126f7565b6003546122cc908263ffffffff61218a16565b6003556001600160a01b0382166000908152600160205260409020546122f8908263ffffffff61218a16565b6001600160a01b038316600081815260016020908152604080832094909455835185815293519293919260008051602061295e8339815191529281900390910190a35050565b60008083830184811061235657600092509050612183565b506002915060009050612183565b600082612373575060006109a4565b8282028284828161238057fe5b04146121e45760405162461bcd60e51b81526004018080602001828103825260218152602001806128f56021913960400191505060405180910390fd5b6000808383116123d4575060009050818303612183565b50600390506000612183565b600080836123f357506000905080612183565b8383028385828161240057fe5b041461241457506002915060009050612183565b600092509050612183565b600080826124335750600190506000612183565b600083858161243e57fe5b04915091509250929050565b6001600160a01b03821661248f5760405162461bcd60e51b815260040180806020018281038252602181526020018061297e6021913960400191505060405180910390fd5b61249b826000836126f7565b6124de81604051806060016040528060228152602001612865602291396001600160a01b038516600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b03831660009081526001602052604090205560035461250a908263ffffffff61276a16565b6003556040805182815290516000916001600160a01b0385169160008051602061295e8339815191529181900360200190a35050565b4390565b600061254e6127ac565b60008061255f8660000151866123e0565b9092509050600082600381111561257257fe5b1461259157506040805160208101909152600081529092509050612183565b60408051602081019091529081526000969095509350505050565b60008060006125b96127ac565b6125c38787612544565b909250905060008260038111156125d657fe5b146125e75750915060009050612600565b6125f96125f3826126fc565b8661233e565b9350935050505b935093915050565b600080600080612618878761233e565b9092509050600082600381111561262b57fe5b1461263c5750915060009050612600565b6125f981866123bd565b60006126506127ac565b60008061266586670de0b6b3a76400006123e0565b9092509050600082600381111561267857fe5b1461269757506040805160208101909152600081529092509050612183565b6000806126a4838861241f565b909250905060008260038111156126b757fe5b146126da5781604051806020016040528060008152509550955050505050612183565b604080516020810190915290815260009890975095505050505050565b505050565b51670de0b6b3a7640000900490565b60006127156127ac565b60008061272a670de0b6b3a7640000876123e0565b9092509050600082600381111561273d57fe5b1461275c57506040805160208101909152600081529092509050612183565b61217c818660000151612646565b60006121e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061209f565b6040518060200160405280600081525090565b6040805160608101909152806000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b6040805160c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c42eddcf60dcc51beaec8fe0d9beb842798f61add5def0fda912acea09499a064736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103035760003560e01c80638b4f3b2c1161019e578063b7e7b50c116100ef578063d383752d1161009d578063d383752d14610829578063db006a7514610846578063dd62ed3e14610863578063e778bc2114610891578063ee27a2f2146108b7578063f2fde38b146108bf578063f3fdb15a146108e5578063f8f9da28146108ed57610303565b8063b7e7b50c14610774578063bd6d894d146107a8578063bebf2b89146107b0578063c37f68e2146107cd578063c5d9bf7114610811578063cd5c6f5714610819578063d162054a1461082157610303565b80639f560dd51161014c5780639f560dd5146106df578063a457c2d7146106e7578063a6afed9514610713578063a9059cbb1461071b578063aa5af0fd14610747578063ae9d70b01461074f578063b33061351461075757610303565b80638b4f3b2c146106595780638da5cb5b146106765780638de87abd1461067e5780638f840ddd1461069b578063901717d1146106a357806395d89b41146106ab5780639dc29fac146106b357610303565b806340c10f191161025857806369a5e8cf1161020657806369a5e8cf146105c15780636c540baf146105ed57806370a08231146105f5578063715018a61461061b57806373acee98146106235780637746efab1461062b57806377e4974d1461065157610303565b806340c10f191461052c57806347bd3718146105585780634ada90af146105605780634b3fd148146105685780634c20ac7414610594578063503d37ea1461059c5780635f27adbd146105a457610303565b8063286f4d23116102b5578063286f4d2314610467578063313ce5671461048457806338d52e0f146104a257806339509351146104aa5780633aacd0d4146104d65780633af9e669146104fe5780633b1d21a21461052457610303565b806306fdde0314610308578063095ea7b31461038557806311e2c02f146103c5578063173b9904146103e957806317bfdfbc1461040357806318160ddd1461042957806323b872dd14610431575b600080fd5b6103106108f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561034a578181015183820152602001610332565b50505050905090810190601f1680156103775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b16004803603604081101561039b57600080fd5b506001600160a01b03813516906020013561098c565b604080519115158252519081900360200190f35b6103cd6109aa565b604080516001600160a01b039092168252519081900360200190f35b6103f16109b9565b60408051918252519081900360200190f35b6103f16004803603602081101561041957600080fd5b50356001600160a01b03166109bf565b6103f16109da565b6103b16004803603606081101561044757600080fd5b506001600160a01b038135811691602081013590911690604001356109e0565b6103f16004803603602081101561047d57600080fd5b5035610a6d565b61048c610a99565b6040805160ff9092168252519081900360200190f35b6103cd610aa2565b6103b1600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610ab6565b6104fc600480360360208110156104ec57600080fd5b50356001600160a01b0316610b0a565b005b6103f16004803603602081101561051457600080fd5b50356001600160a01b0316610b84565b6103f1610bdf565b6104fc6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610bee565b6103f1610cb5565b6103f1610cbb565b6104fc6004803603604081101561057e57600080fd5b50803590602001356001600160a01b0316610cc1565b6103cd610ea2565b6103f1610eb6565b6103f1600480360360208110156105ba57600080fd5b5035610ed3565b6103f1600480360360408110156105d757600080fd5b50803590602001356001600160a01b0316610f76565b6103f16110ce565b6103f16004803603602081101561060b57600080fd5b50356001600160a01b03166110d4565b6104fc6110ef565b6103f1611191565b6103f16004803603602081101561064157600080fd5b50356001600160a01b03166111a2565b6103b1611245565b6104fc6004803603602081101561066f57600080fd5b503561124e565b6103cd6112ab565b6103f16004803603602081101561069457600080fd5b50356112ba565b6103f16112dd565b6103f16112e3565b6103106112e9565b6104fc600480360360408110156106c957600080fd5b506001600160a01b03813516906020013561134a565b6103f16113b3565b6103b1600480360360408110156106fd57600080fd5b506001600160a01b0381351690602001356113c4565b6104fc611432565b6103b16004803603604081101561073157600080fd5b506001600160a01b038135169060200135611664565b6103f16116a2565b6103f16116a8565b6103f16004803603602081101561076d57600080fd5b5035611747565b6104fc6004803603606081101561078a57600080fd5b508035906001600160a01b0360208201358116916040013516611762565b6103f16118b1565b6103f1600480360360208110156107c657600080fd5b503561191a565b6107f3600480360360208110156107e357600080fd5b50356001600160a01b031661199c565b60408051938452602084019290925282820152519081900360600190f35b6103cd6119d2565b6103f16119e1565b6103cd6119eb565b6103f16004803603602081101561083f57600080fd5b50356119fa565b6104fc6004803603602081101561085c57600080fd5b5035611a16565b6103f16004803603604081101561087957600080fd5b506001600160a01b0381358116916020013516611c9b565b6103f1600480360360208110156108a757600080fd5b50356001600160a01b0316611cc6565b6103f1611ce3565b6104fc600480360360208110156108d557600080fd5b50356001600160a01b0316611ced565b6103cd611de5565b6103f1611df4565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b820191906000526020600020905b81548152906001019060200180831161096457829003601f168201915b505050505090505b90565b60006109a0610999611e58565b8484611e5c565b5060015b92915050565b6013546001600160a01b031681565b60085481565b60006109c9611432565b6109d2826111a2565b90505b919050565b60035490565b60006109ed848484611f48565b610a63846109f9611e58565b610a5e85604051806060016040528060288152602001612916602891396001600160a01b038a16600090815260026020526040812090610a37611e58565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61209f16565b611e5c565b5060019392505050565b6000806000610a906040518060200160405280610a886118b1565b905285612136565b95945050505050565b60065460ff1690565b600f5461010090046001600160a01b031681565b60006109a0610ac3611e58565b84610a5e8560026000610ad4611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61218a16565b610b12611e58565b6000546001600160a01b03908116911614610b62576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b8e6127ac565b6040518060200160405280610ba16118b1565b90529050600080610bba83610bb5876110d4565b612136565b90925090506000826003811115610bcd57fe5b14610bd757600080fd5b949350505050565b6000610be96121eb565b905090565b6011546001600160a01b03163314610c0557600080fd5b610c0d6127bf565b610c156118b1565b602080830191825260408051918201905290518152610c3590839061223b565b6040830181905282826003811115610c4957fe5b6003811115610c5457fe5b8152505050610c67838260400151612252565b60408082015181516001600160a01b0386168152602081019190915281517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe929181900390910190a1505050565b600b5481565b600d5481565b6011546001600160a01b03163314610cd857600080fd5b81610ce16121eb565b11610d33576040805162461bcd60e51b815260206004820152601a60248201527f6e6f7420656e6f75676820746f6b656e20746f20626f72726f77000000000000604482015290519081900360640190fd5b610d3b6127e1565b610d44826109bf565b60208201819052610d55908461233e565b6040830181905282826003811115610d6957fe5b6003811115610d7457fe5b8152505050610d85600b548461233e565b6060830181905282826003811115610d9957fe5b6003811115610da457fe5b905250506040808201516001600160a01b03808516600081815260146020908152858220948555600a546001909501949094556060860151600b55600f54855163a9059cbb60e01b815260048101939093526024830189905294516101009095049092169363a9059cbb9360448084019491938390030190829087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b505050506040513d6020811015610e5757600080fd5b5050604080516001600160a01b03841681526020810185905281517fac59582e5396aca512fa873a2047e7f4c80f8f55d4a06cb34a78a0187f62719f929181900390910190a1505050565b600f5461010090046001600160a01b031690565b6000610be962243394610ec7611df4565b9063ffffffff61236416565b600080610edf83610a6d565b601354600f546040805163513396f760e11b81526101009092046001600160a01b03908116600484015260248301859052905193945060009392169163a2672dee9160448082019260209290919082900301818787803b158015610f4257600080fd5b505af1158015610f56573d6000803e3d6000fd5b505050506040513d6020811015610f6c57600080fd5b5051949350505050565b6011546000906001600160a01b03163314610f9057600080fd5b610f9861280a565b610fa1836109bf565b60608201526001600160a01b03831660009081526014602052604090819020600101549082015283610fdc5760608101516020820152610fe4565b602081018490525b610ff6816060015182602001516123bd565b608083018190528282600381111561100a57fe5b600381111561101557fe5b815250505061102a600b5482602001516123bd565b60a083018190528282600381111561103e57fe5b600381111561104957fe5b9052505060808101516001600160a01b0384166000818152601460209081526040918290209384558185015160019094019390935560a0840151600b558284015181519283529282019290925281517f4792e4d6a0dabb47a2ac2b2fb3ab426c2e1a5e3cab374282d855ac6cb03a5712929181900390910190a1602001519392505050565b60095481565b6001600160a01b031660009081526001602052604090205490565b6110f7611e58565b6000546001600160a01b03908116911614611147576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061119b611432565b50600b5490565b6001600160a01b03811660009081526014602052604081208054829182918291906111d45760009450505050506109d5565b6111e48160000154600a546123e0565b909450925060008460038111156111f757fe5b146112095760009450505050506109d5565b61121783826001015461241f565b9094509150600084600381111561122a57fe5b1461123c5760009450505050506109d5565b50949350505050565b600f5460ff1681565b611256611e58565b6000546001600160a01b039081169116146112a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6000806000610a908460405180602001604052806112d66119e1565b905261223b565b600c5481565b600e5481565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109815780601f1061095657610100808354040283529160200191610981565b6011546001600160a01b0316331461136157600080fd5b61136b828261244a565b604080516001600160a01b03841681526020810183905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a15050565b6000610be962243394610ec76116a8565b60006109a06113d1611e58565b84610a5e856040518060600160405280602581526020016129e860259139600260006113fb611e58565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61209f16565b600061143c612540565b600954909150600061144c6121eb565b600b54600c54600a54929350909184861461160957601054604080516315f2405360e01b815260048101879052602481018690526044810185905290516000926001600160a01b0316916315f24053916064808301926020929190829003018186803b1580156114bb57600080fd5b505afa1580156114cf573d6000803e3d6000fd5b505050506040513d60208110156114e557600080fd5b5051905065048c273950008111156114fc57600080fd5b60008061150989896123bd565b915091506115156127ac565b60008060008061153360405180602001604052808a81525087612544565b9097509450611542858c612136565b9097509350611551848c61233e565b60408051602081019091526008548152919850935061157190858c6125ac565b9097509150611581858a806125ac565b80925081985050508d60098190555080600a8190555082600b8190555081600c819055507fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d600954600a54600b54600c546040518085815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050505061165c565b600954600a54600b54600c54604080519485526020850193909352838301919091526060830152517fe3972ae250606e82c6683843383cb8a51755588d2f443af42e8cb5b1e085392d9181900360800190a15b505050505050565b60006001600160a01b0383161561167a57600080fd5b81722cd76fe086b93ce2f768a00b22a000000000001461169957600080fd5b50600092915050565b600a5481565b6010546000906001600160a01b031663b81688166116c46121eb565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561171657600080fd5b505afa15801561172a573d6000803e3d6000fd5b505050506040513d602081101561174057600080fd5b5051905090565b6000806000610a906040518060200160405280610a886119e1565b6012546001600160a01b0316331461177957600080fd5b601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018790529051600093919091169163fff9ccde91604480830192602092919082900301818787803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050506040513d602081101561180757600080fd5b505190506000611816826119fa565b9050611822848261244a565b600f546040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291516101009093049091169163a9059cbb916044808201926020929091908290030181600087803b15801561187e57600080fd5b505af1158015611892573d6000803e3d6000fd5b505050506040513d60208110156118a857600080fd5b50505050505050565b60006118bb611432565b6118c36109da565b6118d05750600754610989565b60006118da6121eb565b905060006118e66127ac565b60006118f784600b54600c54612608565b9350905061190c836119076109da565b612646565b519550610989945050505050565b60008061192683611747565b601354600f54604080516381a61d7f60e01b81526101009092046001600160a01b0390811660048401526024830185905290519394506000939216916381a61d7f91604480820192602092909190829003018186803b15801561198857600080fd5b505afa158015610f56573d6000803e3d6000fd5b6000806000806119ab856110d4565b905060006119b8866109bf565b905060006119c46118b1565b929791965091945092505050565b6011546001600160a01b031681565b60006118c36109da565b6012546001600160a01b031681565b6000806000610a908460405180602001604052806112d66118b1565b80611a2057600080fd5b611a286127bf565b611a306118b1565b6020820152600f5460ff1615611b6057601354600f546040805160016203199160e11b031981526101009092046001600160a01b039081166004840152602483018690529051600093919091169163fff9ccde91604480830192602092919082900301818787803b158015611aa457600080fd5b505af1158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b505160125460408051636012b43160e01b815233600482015230602482015290519293506001600160a01b0390911691636012b431916044808201926020929091908290030181600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b505050506040513d6020811015611b5057600080fd5b5051811115611b5e57600080fd5b505b611b7233611b6d846119fa565b61244a565b611b8e826040518060200160405280846020015181525061223b565b6040830181905282826003811115611ba257fe5b6003811115611bad57fe5b905250506040810151611bbe6121eb565b1015611bc957600080fd5b600f54604082810151815163a9059cbb60e01b8152336004820152602481019190915290516101009092046001600160a01b03169163a9059cbb916044808201926020929091908290030181600087803b158015611c2657600080fd5b505af1158015611c3a573d6000803e3d6000fd5b505050506040513d6020811015611c5057600080fd5b50506040808201518151338152602081018590528083019190915290517ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec2629181900360600190a15050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000611cd06127ac565b6040518060200160405280610ba16119e1565b65048c2739500081565b611cf5611e58565b6000546001600160a01b03908116911614611d45576040805162461bcd60e51b8152602060048201819052602482015260008051602061293e833981519152604482015290519081900360640190fd5b6001600160a01b038116611d8a5760405162461bcd60e51b81526004018080602001828103825260268152602001806128876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6010546000906001600160a01b03166315f24053611e106121eb565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561171657600080fd5b3390565b6001600160a01b038316611ea15760405162461bcd60e51b81526004018080602001828103825260248152602001806129c46024913960400191505060405180910390fd5b6001600160a01b038216611ee65760405162461bcd60e51b81526004018080602001828103825260228152602001806128ad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611f8d5760405162461bcd60e51b815260040180806020018281038252602581526020018061299f6025913960400191505060405180910390fd5b6001600160a01b038216611fd25760405162461bcd60e51b81526004018080602001828103825260238152602001806128426023913960400191505060405180910390fd5b611fdd8383836126f7565b612020816040518060600160405280602681526020016128cf602691396001600160a01b038616600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612055908263ffffffff61218a16565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061295e83398151915292918290030190a3505050565b6000818484111561212e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120f35781810151838201526020016120db565b50505050905090810190601f1680156121205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060006121436127ac565b61214d8686612544565b9092509050600082600381111561216057fe5b146121715750915060009050612183565b600061217c826126fc565b9350935050505b9250929050565b6000828201838110156121e4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600f54604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561171657600080fd5b60008060006122486127ac565b61214d868661270b565b6001600160a01b0382166122ad576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6122b9600083836126f7565b6003546122cc908263ffffffff61218a16565b6003556001600160a01b0382166000908152600160205260409020546122f8908263ffffffff61218a16565b6001600160a01b038316600081815260016020908152604080832094909455835185815293519293919260008051602061295e8339815191529281900390910190a35050565b60008083830184811061235657600092509050612183565b506002915060009050612183565b600082612373575060006109a4565b8282028284828161238057fe5b04146121e45760405162461bcd60e51b81526004018080602001828103825260218152602001806128f56021913960400191505060405180910390fd5b6000808383116123d4575060009050818303612183565b50600390506000612183565b600080836123f357506000905080612183565b8383028385828161240057fe5b041461241457506002915060009050612183565b600092509050612183565b600080826124335750600190506000612183565b600083858161243e57fe5b04915091509250929050565b6001600160a01b03821661248f5760405162461bcd60e51b815260040180806020018281038252602181526020018061297e6021913960400191505060405180910390fd5b61249b826000836126f7565b6124de81604051806060016040528060228152602001612865602291396001600160a01b038516600090815260016020526040902054919063ffffffff61209f16565b6001600160a01b03831660009081526001602052604090205560035461250a908263ffffffff61276a16565b6003556040805182815290516000916001600160a01b0385169160008051602061295e8339815191529181900360200190a35050565b4390565b600061254e6127ac565b60008061255f8660000151866123e0565b9092509050600082600381111561257257fe5b1461259157506040805160208101909152600081529092509050612183565b60408051602081019091529081526000969095509350505050565b60008060006125b96127ac565b6125c38787612544565b909250905060008260038111156125d657fe5b146125e75750915060009050612600565b6125f96125f3826126fc565b8661233e565b9350935050505b935093915050565b600080600080612618878761233e565b9092509050600082600381111561262b57fe5b1461263c5750915060009050612600565b6125f981866123bd565b60006126506127ac565b60008061266586670de0b6b3a76400006123e0565b9092509050600082600381111561267857fe5b1461269757506040805160208101909152600081529092509050612183565b6000806126a4838861241f565b909250905060008260038111156126b757fe5b146126da5781604051806020016040528060008152509550955050505050612183565b604080516020810190915290815260009890975095505050505050565b505050565b51670de0b6b3a7640000900490565b60006127156127ac565b60008061272a670de0b6b3a7640000876123e0565b9092509050600082600381111561273d57fe5b1461275c57506040805160208101909152600081529092509050612183565b61217c818660000151612646565b60006121e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061209f565b6040518060200160405280600081525090565b6040805160608101909152806000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b6040805160c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c42eddcf60dcc51beaec8fe0d9beb842798f61add5def0fda912acea09499a064736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "923:26781:1:-:0;;;1354:7;1308:53;;1395:4;1374:25;;4095:1215;5:9:-1;2:2;;;27:1;24;17:12;2:2;4095:1215:1;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4095:1215:1;;420:4:-1;411:14;;;;4095:1215:1;;;;;411:14:-1;4095:1215:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4095:1215:1;;420:4:-1;411:14;;;;4095:1215:1;;;;;411:14:-1;4095:1215:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4095:1215:1;;;;;;;;;;;;;-1:-1:-1;4095:1215:1;-1:-1:-1;4422:10:1;4434:12;865:17:38;885:12;:10;:12::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2085:12:40;;;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;2107:16:40;;;;:7;;:16;;;;;:::i;:::-;;2145:2;2133:9;;:14;;;;;;;;;;;;;;;;;;2013:141;;4473:6:1::1;4458:5;;:22;;;;;-1:-1:-1::0;;;;;4458:22:1::1;;;;;-1:-1:-1::0;;;;;4458:22:1::1;;;;;;4577:20;4550:3;;:48;;;;;-1:-1:-1::0;;;;;4550:48:1::1;;;;;-1:-1:-1::0;;;;;4550:48:1::1;;;;;;4705:18;4667:17;;:57;;;;;-1:-1:-1::0;;;;;4667:57:1::1;;;;;-1:-1:-1::0;;;;;4667:57:1::1;;;;;;4830:14;4802:3;;:43;;;;;-1:-1:-1::0;;;;;4802:43:1::1;;;;;-1:-1:-1::0;;;;;4802:43:1::1;;;;;;4934:19;4908:3;;:46;;;;;-1:-1:-1::0;;;;;4908:46:1::1;;;;;-1:-1:-1::0;;;;;4908:46:1::1;;;;;;4972:6;4964:5;;:14;;;;;;;;;;;;;;;;;;5109:20;5079:27;:50;;;;5199:16;:14;;;:16;;:::i;:::-;5178:18;:37:::0;-1:-1:-1;;446:4:17::1;5225:11:1;:25:::0;;;5260:21:::1;:43:::0;-1:-1:-1;923:26781:1;;-1:-1:-1;;;;;;923:26781:1;590:104:37;677:10;590:104;;:::o;12987:94:1:-;13062:12;12987:94;:::o;923:26781::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;923:26781:1;;;-1:-1:-1;923:26781:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "923:26781:1:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;923:26781:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2219:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4255:166:40;;-1:-1:-1;;;;;4255:166:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1576:32:1;;;:::i;:::-;;;;-1:-1:-1;;;;;1576:32:1;;;;;;;;;;;;;;1065:36;;;:::i;:::-;;;;;;;;;;;;;;;;12090:149;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12090:149:1;-1:-1:-1;;;;;12090:149:1;;:::i;3262:98:40:-;;;:::i;4881:317::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4881:317:40;;;;;;;;;;;;;;;;;:::i;25840:431:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;25840:431:1;;:::i;3121:81:40:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1430:19:1;;;:::i;5593:215:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5593:215:40;;-1:-1:-1;;;;;5593:215:40;;;;;;:::i;27466:131:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27466:131:1;-1:-1:-1;;;;;27466:131:1;;:::i;:::-;;5953:350;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5953:350:1;-1:-1:-1;;;;;5953:350:1;;:::i;17372:89::-;;;:::i;17972:609::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17972:609:1;;-1:-1:-1;;;;;17972:609:1;;;;;;:::i;1178:27::-;;;:::i;1308:53::-;;;:::i;20955:1213::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;20955:1213:1;;;;;;-1:-1:-1;;;;;20955:1213:1;;:::i;24095:91::-;;;:::i;14402:260::-;;;:::i;24192:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24192:334:1;;:::i;22491:1494::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;22491:1494:1;;;;;;-1:-1:-1;;;;;22491:1494:1;;:::i;1107:33::-;;;:::i;3418:117:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3418:117:40;-1:-1:-1;;;;;3418:117:40;;:::i;1689:145:38:-;;;:::i;14784:120:1:-;;;:::i;10696:1135::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10696:1135:1;-1:-1:-1;;;;;10696:1135:1;;:::i;1406:17::-;;;:::i;27603:99::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27603:99:1;;:::i;1066:77:38:-;;;:::i;25361:473:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;25361:473:1;;:::i;1211:28::-;;;:::i;1374:25::-;;;:::i;2413:85:40:-;;;:::i;20422:150:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;20422:150:1;;-1:-1:-1;;;;;20422:150:1;;;;;;:::i;14014:260::-;;;:::i;6295:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6295:266:40;;-1:-1:-1;;;;;6295:266:40;;;;;;:::i;7294:3179:1:-;;;:::i;5570:216::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5570:216:1;;-1:-1:-1;;;;;5570:216:1;;;;;;:::i;1146:26::-;;;:::i;13613:273::-;;;:::i;26277:466::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26277:466:1;;:::i;26749:711::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26749:711:1;;;-1:-1:-1;;;;;26749:711:1;;;;;;;;;;;;:::i;16171:1036::-;;;:::i;24532:379::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24532:379:1;;:::i;12497:407::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12497:407:1;-1:-1:-1;;;;;12497:407:1;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:31;;;:::i;15027:1013::-;;;:::i;1540:30::-;;;:::i;24917:438::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24917:438:1;;:::i;18905:1178::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18905:1178:1;;:::i;3968:149:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3968:149:40;;;;;;;;;;:::i;6471:384:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6471:384:1;-1:-1:-1;;;;;6471:384:1;;:::i;1245:57::-;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;1455:42:1:-;;;:::i;13230:234::-;;;:::i;2219:81:40:-;2288:5;2281:12;;;;;;;;;;;;;-1:-1:-1;;2281:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;2256:13;;2281:12;;2288:5;;2281:12;;;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;-1:-1:-1;4410:4:40;4255:166;;;;;:::o;1576:32:1:-;;;-1:-1:-1;;;;;1576:32:1;;:::o;1065:36::-;;;;:::o;12090:149::-;12153:7;12172:16;:14;:16::i;:::-;12205:27;12224:7;12205:18;:27::i;:::-;12198:34;;12090:149;;;;:::o;3262:98:40:-;3341:12;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5080:19:40;;;;;;:11;:19;;;;;;5100:12;:10;:12::i;:::-;-1:-1:-1;;;;;5080:33:40;;;;;;;;;;;;-1:-1:-1;5080:33:40;;;;:37;:89::i;:::-;5049:8;:121::i;:::-;-1:-1:-1;5187:4:40;4881:317;;;;;:::o;25840:431:1:-;25902:7;26056:17;26083;26133:105;26164:38;;;;;;;;26179:21;:19;:21::i;:::-;26164:38;;26216:12;26133:17;:105::i;:::-;26110:128;25840:431;-1:-1:-1;;;;;25840:431:1:o;3121:81:40:-;3186:9;;;;3121:81;:::o;1430:19:1:-;;;;;;-1:-1:-1;;;;;1430:19:1;;:::o;5593:215:40:-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;-1:-1:-1;;;;;5729:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5729:25:40;;;:34;;;;;;;;;;;:38;:50::i;27466:131:1:-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;27542:17:1::1;:48:::0;;-1:-1:-1;;;;;;27542:48:1::1;-1:-1:-1::0;;;;;27542:48:1;;;::::1;::::0;;;::::1;::::0;;27466:131::o;5953:350::-;6015:7;6034:23;;:::i;:::-;6060:38;;;;;;;;6075:21;:19;:21::i;:::-;6060:38;;6034:64;-1:-1:-1;6109:14:1;;6144:83;6034:64;6201:16;6211:5;6201:9;:16::i;:::-;6144:17;:83::i;:::-;6108:119;;-1:-1:-1;6108:119:1;-1:-1:-1;6253:18:1;6245:4;:26;;;;;;;;;6237:35;;12:1:-1;9;2:12;6237:35:1;6289:7;5953:350;-1:-1:-1;;;;5953:350:1:o;17372:89::-;17414:7;17440:14;:12;:14::i;:::-;17433:21;;17372:89;:::o;17972:609::-;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;18078:25:::1;;:::i;:::-;18174:21;:19;:21::i;:::-;18146:25;::::0;;::::1;:49:::0;;;18432:42:::1;::::0;;;;::::1;::::0;;18447:25;;18432:42;;18375:109:::1;::::0;18411:7;;18375:22:::1;:109::i;:::-;18356:15;::::0;::::1;18341:143:::0;;;18342:4;18341:143;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;18494:32;18500:8;18510:4;:15;;;18494:5;:32::i;:::-;18558:15;::::0;;::::1;::::0;18541:33;;-1:-1:-1;;;;;18541:33:1;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;2321:1;17972:609:::0;;:::o;1178:27::-;;;;:::o;1308:53::-;;;;:::o;20955:1213::-;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;21152:13:::1;21135:14;:12;:14::i;:::-;:30;21127:69;;;::::0;;-1:-1:-1;;;21127:69:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21242:27;;:::i;:::-;21386:31;21407:9;21386:20;:31::i;:::-;21364:19;::::0;::::1;:53:::0;;;21528:77:::1;::::0;21582:13;21528:7:::1;:77::i;:::-;21502:22;::::0;::::1;21487:118:::0;;;21488:4;21487:118;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;21710:70;21731:12;;21757:13;21710:7;:70::i;:::-;21686:20;::::0;::::1;21671:109:::0;;;21672:4;21671:109;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;;-1:-1:-1;;21893:22:1::1;::::0;;::::1;::::0;-1:-1:-1;;;;;21855:25:1;;::::1;;::::0;;;:14:::1;:25;::::0;;;;;;:60;;;21967:11:::1;::::0;-1:-1:-1;21925:39:1;;::::1;:53:::0;;;;22003:20:::1;::::0;::::1;::::0;21988:12:::1;:35:::0;22072:5:::1;::::0;:40;;-1:-1:-1;;;22072:40:1;;::::1;::::0;::::1;::::0;;;;;;;;;;;;:5:::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;22072:40:1;;;;;21855:25;;22072:40;;;;;;;:5;:40;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;22072:40:1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22072:40:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;;22127:34:1::1;::::0;;-1:-1:-1;;;;;22127:34:1;::::1;::::0;;22072:40:::1;22127:34:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;2321:1;20955:1213:::0;;:::o;24095:91::-;24173:5;;;;;-1:-1:-1;;;;;24173:5:1;;24095:91::o;14402:260::-;14447:7;14622:33;14647:7;14622:20;:18;:20::i;:::-;:24;:33;:24;:33;:::i;24192:334::-;24252:7;24271:21;24295:23;24310:7;24295:14;:23::i;:::-;24390:3;;24441:5;;24390:94;;;-1:-1:-1;;;24390:94:1;;-1:-1:-1;;;;;24390:3:1;24441:5;;;;;24390:94;;;;;;;;;;;;;;-1:-1:-1;;;24390:3:1;;;;;:29;;:94;;;;;;;;;;;;;;-1:-1:-1;24390:3:1;:94;;;2:2:-1;;;;27:1;24;17:12;2:2;24390:94:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24390:94:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24390:94:1;;24192:334;-1:-1:-1;;;;24192:334:1:o;22491:1494::-;2306:3;;22608:7;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;22667:32:::1;;:::i;:::-;22806:30;22827:8;22806:20;:30::i;:::-;22784:19;::::0;::::1;:52:::0;-1:-1:-1;;;;;22942:24:1;::::1;;::::0;;;:14:::1;:24;::::0;;;;;;-1:-1:-1;22942:38:1::1;::::0;22921:18;;::::1;:59:::0;23055:16;23051:146:::1;;23106:19;::::0;::::1;::::0;23087:16:::1;::::0;::::1;:38:::0;23051:146:::1;;;23156:16;::::0;::::1;:30:::0;;;23051:146:::1;23380:80;23401:4;:19;;;23434:4;:16;;;23380:7;:80::i;:::-;23354:22;::::0;::::1;23339:121:::0;;;23340:4;23339:121;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;23570:73;23591:12;;23617:4;:16;;;23570:7;:73::i;:::-;23546:20;::::0;::::1;23531:112:::0;;;23532:4;23531:112;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;;-1:-1:-1;;23759:22:1::1;::::0;::::1;::::0;-1:-1:-1;;;;;23722:24:1;::::1;;::::0;;;:14:::1;:24;::::0;;;;;;;;:59;;;23832:18;;::::1;::::0;-1:-1:-1;23791:38:1;;::::1;:59:::0;;;;-1:-1:-1;23875:20:1;::::1;::::0;23860:12:::1;:35:::0;23928:16;;::::1;::::0;23910:35;;;;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;23962:16;;::::0;;22491:1494;-1:-1:-1;;;22491:1494:1:o;1107:33::-;;;;:::o;3418:117:40:-;-1:-1:-1;;;;;3510:18:40;3484:7;3510:18;;;-1:-1:-1;3510:18:40;;;;;;;3418:117::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;14784:120:1:-;14833:7;14852:16;:14;:16::i;:::-;-1:-1:-1;14885:12:1;;14784:120;:::o;10696:1135::-;-1:-1:-1;;;;;10954:23:1;;10762:7;10954:23;;;:14;:23;;;;;11164:24;;10762:7;;;;;;10954:23;11160:70;;11217:1;11209:10;;;;;;;;11160:70;11437:80;11458:14;:24;;;11496:11;;11437:7;:80::i;:::-;11404:113;;-1:-1:-1;11404:113:1;-1:-1:-1;11542:18:1;11531:7;:29;;;;;;;;;11527:70;;11584:1;11576:10;;;;;;;;11527:70;11627:92;11648:19;11681:14;:28;;;11627:7;:92::i;:::-;11607:112;;-1:-1:-1;11607:112:1;-1:-1:-1;11744:18:1;11733:7;:29;;;;;;;;;11729:70;;11786:1;11778:10;;;;;;;;11729:70;-1:-1:-1;11817:6:1;10696:1135;-1:-1:-1;;;;10696:1135:1:o;1406:17::-;;;;;;:::o;27603:99::-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;27668:21:1::1;:27:::0;27603:99::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;;1066:77::o;25361:473:1:-;25456:7;25614:17;25641;25691:110;25727:14;25755:36;;;;;;;;25770:19;:17;:19::i;:::-;25755:36;;25691:22;:110::i;1211:28::-;;;;:::o;1374:25::-;;;;:::o;2413:85:40:-;2484:7;2477:14;;;;;;;;;;;;;-1:-1:-1;;2477:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;2452:13;;2477:14;;2484:7;;2477:14;;;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;20422:150:1;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;20503:24:::1;20509:8;20519:7;20503:5;:24::i;:::-;20542:23;::::0;;-1:-1:-1;;;;;20542:23:1;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;20422:150:::0;;:::o;14014:260::-;14059:7;14234:33;14259:7;14234:20;:18;:20::i;6295:266:40:-;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;-1:-1:-1;;;;;6436:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6436:25:40;;;:34;;;;;;;;;;;;:38;:96::i;7294:3179:1:-;7381:26;7410:16;:14;:16::i;:::-;7470:18;;7381:45;;-1:-1:-1;7436:31:1;7569:14;:12;:14::i;:::-;7616:12;;7662:13;;7712:11;;7549:34;;-1:-1:-1;7616:12:1;;7785:45;;;7781:2686;;7932:17;;:133;;;-1:-1:-1;;;7932:133:1;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;7932:17:1;;-1:-1:-1;;7932:133:1;;;;;;;;;;;;;;:17;:133;;;2:2:-1;;;;27:1;24;17:12;2:2;7932:133:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7932:133:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7932:133:1;;-1:-1:-1;1293:9:1;8087:43;;;8079:52;;12:1:-1;9;2:12;8079:52:1;8223:17;8242:18;8264:98;8289:18;8325:23;8264:7;:98::i;:::-;8222:140;;;;8470:31;;:::i;:::-;8515:27;8556:23;8593:24;8631:22;8762:104;8789:35;;;;;;;;8804:18;8789:35;;;8842:10;8762:9;:104::i;:::-;8728:138;;-1:-1:-1;8728:138:1;-1:-1:-1;8985:99:1;8728:138;9058:12;8985:17;:99::i;:::-;8952:132;;-1:-1:-1;8952:132:1;-1:-1:-1;9194:88:1;8952:132;9256:12;9194:7;:88::i;:::-;9453:38;;;;;;;;;9468:21;;9453:38;;9165:117;;-1:-1:-1;9165:117:1;-1:-1:-1;9411:162:1;;9509:19;9546:13;9411:24;:162::i;:::-;9381:192;;-1:-1:-1;9381:192:1;-1:-1:-1;9695:144:1;9737:20;9775:16;;9695:24;:144::i;:::-;9667:172;;;;;;;;9940:18;9919;:39;;;;9986:14;9972:11;:28;;;;10029:15;10014:12;:30;;;;10074:16;10058:13;:32;;;;10110:155;10143:18;;10179:11;;10208:12;;10238:13;;10110:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:2686;;;;;;;;;;;10334:18;;10370:11;;10399:12;;10429:13;;10301:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:2686;7294:3179;;;;;;:::o;5570:216::-;5672:4;-1:-1:-1;;;;;5700:23:1;;;5692:32;;12:1:-1;9;2:12;5692:32:1;5742:6;5752:4;5742:14;5734:23;;12:1:-1;9;2:12;5734:23:1;-1:-1:-1;5774:5:1;5570:216;;;;:::o;1146:26::-;;;;:::o;13613:273::-;13702:17;;13664:7;;-1:-1:-1;;;;;13702:17:1;:31;13751:14;:12;:14::i;:::-;13783:12;;13813:13;;13844:21;;13702:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13702:177:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13702:177:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13702:177:1;;-1:-1:-1;13613:273:1;:::o;26277:466::-;26372:7;26530:17;26557;26607:103;26638:36;;;;;;;;26653:19;:17;:19::i;26749:711::-;26987:3;;-1:-1:-1;;;;;26987:3:1;26965:10;:26;26957:35;;12:1:-1;9;2:12;26957:35:1;27072:3;;27127:5;;27072:100;;;-1:-1:-1;;;;;;27072:100:1;;-1:-1:-1;;;;;27072:3:1;27127:5;;;;;27072:100;;;;;;;;;;;;-1:-1:-1;;27072:3:1;;;;;:33;;:100;;;;;;;;;;;;;;;-1:-1:-1;27072:3:1;:100;;;2:2:-1;;;;27:1;24;17:12;2:2;27072:100:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27072:100:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27072:100:1;;-1:-1:-1;27240:16:1;27259:22;27072:100;27259:12;:22::i;:::-;27240:41;;27332:26;27338:9;27349:8;27332:5;:26::i;:::-;27416:5;;:37;;;-1:-1:-1;;;27416:37:1;;-1:-1:-1;;;;;27416:37:1;;;;;;;;;;;;;;;:5;;;;;;;;-1:-1:-1;;27416:37:1;;;;;;;;;;;;;;;-1:-1:-1;27416:5:1;:37;;;2:2:-1;;;;27:1;24;17:12;2:2;27416:37:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27416:37:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;;26749:711:1:o;16171:1036::-;16218:7;16237:16;:14;:16::i;:::-;16267:13;:11;:13::i;:::-;16263:938;;-1:-1:-1;16388:27:1;;16381:34;;16263:938;16543:17;16563:14;:12;:14::i;:::-;16543:34;;16620:36;16670:23;;:::i;:::-;16707:17;16855:116;16887:9;16914:12;;16944:13;;16855:14;:116::i;:::-;16813:158;-1:-1:-1;16813:158:1;-1:-1:-1;17049:97:1;16813:158;17119:13;:11;:13::i;:::-;17049:6;:97::i;:::-;17168:21;;-1:-1:-1;17160:30:1;;-1:-1:-1;;;;;17160:30:1;24532:379;24598:7;24617:21;24641:27;24660:7;24641:18;:27::i;:::-;24740:3;;24792:5;;24740:95;;;-1:-1:-1;;;24740:95:1;;-1:-1:-1;;;;;24740:3:1;24792:5;;;;;24740:95;;;;;;;;;;;;;;-1:-1:-1;;;24740:3:1;;;;;-1:-1:-1;;24740:95:1;;;;;;;;;;;;;;:3;:95;;;2:2:-1;;;;27:1;24;17:12;2:2;24740:95:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;12497:407:1;12589:7;12610;12631;12663:20;12686:18;12696:7;12686:9;:18::i;:::-;12663:41;;12714:21;12738:29;12759:7;12738:20;:29::i;:::-;12714:53;;12777:28;12808:21;:19;:21::i;:::-;12847:12;;12861:13;;-1:-1:-1;12847:12:1;;-1:-1:-1;12497:407:1;-1:-1:-1;;;12497:407:1:o;1503:31::-;;;-1:-1:-1;;;;;1503:31:1;;:::o;15027:1013::-;15077:7;15100:13;:11;:13::i;1540:30::-;;;-1:-1:-1;;;;;1540:30:1;;:::o;24917:438::-;24979:7;25133:17;25160;25210:112;25246:14;25274:38;;;;;;;;25289:21;:19;:21::i;18905:1178::-;18963:12;18955:21;;12:1:-1;9;2:12;18955:21:1;18987:27;;:::i;:::-;19081:21;:19;:21::i;:::-;19053:25;;;:49;19117:5;;;;19113:322;;;19166:3;;19225:5;;19166:104;;;-1:-1:-1;;;;;;19166:104:1;;-1:-1:-1;;;;;19166:3:1;19225:5;;;;;19166:104;;;;;;;;;;;;-1:-1:-1;;19166:3:1;;;;;:33;;:104;;;;;;;;;;;;;;;-1:-1:-1;19166:3:1;:104;;;2:2:-1;;;;27:1;24;17:12;2:2;19166:104:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19166:104:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19166:104:1;19350:3;;:60;;;-1:-1:-1;;;19350:60:1;;19384:10;19350:60;;;;19404:4;19350:60;;;;;;19166:104;;-1:-1:-1;;;;;;19350:3:1;;;;-1:-1:-1;;19350:60:1;;;;;19166:104;;19350:60;;;;;;;;-1:-1:-1;19350:3:1;:60;;;2:2:-1;;;;27:1;24;17:12;2:2;19350:60:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19350:60:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19350:60:1;19309:101;;;19284:140;;12:1:-1;9;2:12;19284:140:1;19113:322;;19445:40;19451:10;19463:21;19476:7;19463:12;:21::i;:::-;19445:5;:40::i;:::-;19667:109;19703:7;19724:42;;;;;;;;19739:4;:25;;;19724:42;;;19667:22;:109::i;:::-;19646:17;;;19631:145;;;19632:4;19631:145;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19861:17:1;;;;19843:14;:12;:14::i;:::-;:35;;19835:44;;12:1:-1;9;2:12;19835:44:1;19968:5;;19995:17;;;;;19968:45;;-1:-1:-1;;;19968:45:1;;19983:10;19968:45;;;;;;;;;;;;;:5;;;;-1:-1:-1;;;;;19968:5:1;;-1:-1:-1;;19968:45:1;;;;;;;;;;;;;;;-1:-1:-1;19968:5:1;:45;;;2:2:-1;;;;27:1;24;17:12;2:2;19968:45:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19968:45:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;20058:17:1;;;;;20028:48;;20037:10;20028:48;;19968:45;20028:48;;;;;;;;;;;;;;;;;;;;;;;18905:1178;;:::o;3968:149:40:-;-1:-1:-1;;;;;4083:18:40;;;4057:7;4083:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3968:149::o;6471:384:1:-;6565:7;6588:23;;:::i;:::-;6614:36;;;;;;;;6629:19;:17;:19::i;1245:57::-;1293:9;1245:57;:::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;1455:42:1:-;;;-1:-1:-1;;;;;1455:42:1;;:::o;13230:234::-;13319:17;;13281:7;;-1:-1:-1;;;;;13319:17:1;:31;13368:14;:12;:14::i;:::-;13400:12;;13430:13;;13319:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;590:104:37;677:10;590:104;:::o;9357:340:40:-;-1:-1:-1;;;;;9458:19:40;;9450:68;;;;-1:-1:-1;;;9450:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9536:21:40;;9528:68;;;;-1:-1:-1;;;9528:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9607:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9658:32;;;;;;;;;;;;;;;;;9357:340;;;:::o;7035:530::-;-1:-1:-1;;;;;7140:20:40;;7132:70;;;;-1:-1:-1;;;7132:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7220:23:40;;7212:71;;;;-1:-1:-1;;;7212:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:17:40;;;;;;-1:-1:-1;7372:17:40;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7352:17:40;;;;;;;-1:-1:-1;7352:17:40;;;;;;:91;;;;7476:20;;;;;;;:32;;7501:6;7476:24;:32::i;:::-;-1:-1:-1;;;;;7453:20:40;;;;;;;-1:-1:-1;7453:20:40;;;;;;;;:55;;;;7523:35;;;;;;;-1:-1:-1;;7453:20:40;;7523:35;;;;;;;;7453:20;;-1:-1:-1;7453:20:40;-1:-1:-1;;;;;7523:35:40;;;;;;;;7035:530;;;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;2535:306:17:-;2612:9;2623:4;2640:13;2655:18;;:::i;:::-;2677:20;2687:1;2690:6;2677:9;:20::i;:::-;2639:58;;-1:-1:-1;2639:58:17;-1:-1:-1;2718:18:17;2711:3;:25;;;;;;;;;2707:71;;-1:-1:-1;2760:3:17;-1:-1:-1;2765:1:17;;-1:-1:-1;2752:15:17;;2707:71;2796:18;2816:17;2825:7;2816:8;:17::i;:::-;2788:46;;;;;;2535:306;;;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;6967:110:1:-;7040:5;;:30;;;-1:-1:-1;;;7040:30:1;;7064:4;7040:30;;;;;;-1:-1:-1;;7040:5:1;;;-1:-1:-1;;;;;7040:5:1;;-1:-1:-1;;7040:30:1;;;;;;;;;;;;;;:5;:30;;;2:2:-1;;;;27:1;24;17:12;4527:330:17;4615:9;4626:4;4643:13;4658:19;;:::i;:::-;4681:31;4696:6;4704:7;4681:14;:31::i;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:12;;:24;;8078:6;8061:24;:16;:24;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;-1:-1:-1;8116:18:40;;;;;;:30;;8139:6;8116:22;:30::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;-1:-1:-1;8095:18:40;;;;;;;;:51;;;;8161:37;;;;;;;-1:-1:-1;;8095:18:40;;;;;;;-1:-1:-1;8095:18:40;-1:-1:-1;;;;;8161:37:40;;;;;;;;;7835:370;;:::o;1612:250:16:-;1668:9;;1704:5;;;1724:6;;;1720:136;;1754:18;;-1:-1:-1;1774:1:16;-1:-1:-1;1746:30:16;;1720:136;-1:-1:-1;1815:26:16;;-1:-1:-1;1843:1:16;;-1:-1:-1;1807:38:16;;2180:459:39;2238:7;2479:6;2475:45;;-1:-1:-1;2508:1:39;2501:8;;2475:45;2542:5;;;2546:1;2542;:5;:1;2565:5;;;;;:10;2557:56;;;;-1:-1:-1;;;2557:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1302:230:16;1358:9;1369:4;1394:1;1389;:6;1385:141;;-1:-1:-1;1419:18:16;;-1:-1:-1;1439:5:16;;;1411:34;;1385:141;-1:-1:-1;1484:27:16;;-1:-1:-1;1513:1:16;1476:39;;542:331;598:9;;629:6;625:67;;-1:-1:-1;659:18:16;;-1:-1:-1;659:18:16;651:30;;625:67;711:5;;;715:1;711;:5;:1;731:5;;;;;:10;727:140;;-1:-1:-1;765:26:16;;-1:-1:-1;793:1:16;;-1:-1:-1;757:38:16;;727:140;834:18;;-1:-1:-1;854:1:16;-1:-1:-1;826:30:16;;963:209;1019:9;;1050:6;1046:75;;-1:-1:-1;1080:26:16;;-1:-1:-1;1108:1:16;1072:38;;1046:75;1139:18;1163:1;1159;:5;;;;;;1131:34;;;;963:209;;;;;:::o;8524:410:40:-;-1:-1:-1;;;;;8607:21:40;;8599:67;;;;-1:-1:-1;;;8599:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8677:49;8698:7;8715:1;8719:6;8677:20;:49::i;:::-;8758:68;8781:6;8758:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8758:18:40;;;;;;-1:-1:-1;8758:18:40;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8737:18:40;;;;;;-1:-1:-1;8737:18:40;;;;;:89;8851:12;;:24;;8868:6;8851:16;:24::i;:::-;8836:12;:39;8890:37;;;;;;;;8916:1;;-1:-1:-1;;;;;8890:37:40;;;-1:-1:-1;;;;;;;;;;;8890:37:40;;;;;;;;8524:410;;:::o;12987:94:1:-;13062:12;12987:94;:::o;2081:346:17:-;2150:9;2161:10;;:::i;:::-;2184:14;2200:19;2223:27;2231:1;:10;;;2243:6;2223:7;:27::i;:::-;2183:67;;-1:-1:-1;2183:67:17;-1:-1:-1;2272:18:17;2264:4;:26;;;;;;;;;2260:90;;-1:-1:-1;2320:18:17;;;;;;;;;-1:-1:-1;2320:18:17;;2314:4;;-1:-1:-1;2320:18:17;-1:-1:-1;2306:33:17;;2260:90;2388:31;;;;;;;;;;;;-1:-1:-1;;2388:31:17;;-1:-1:-1;2081:346:17;-1:-1:-1;;;;2081:346:17:o;2981:321::-;3078:9;3089:4;3106:13;3121:18;;:::i;:::-;3143:20;3153:1;3156:6;3143:9;:20::i;:::-;3105:58;;-1:-1:-1;3105:58:17;-1:-1:-1;3184:18:17;3177:3;:25;;;;;;;;;3173:71;;-1:-1:-1;3226:3:17;-1:-1:-1;3231:1:17;;-1:-1:-1;3218:15:17;;3173:71;3261:34;3269:17;3278:7;3269:8;:17::i;:::-;3288:6;3261:7;:34::i;:::-;3254:41;;;;;;2981:321;;;;;;;:::o;1926:263:16:-;1997:9;2008:4;2025:14;2041:8;2053:13;2061:1;2064;2053:7;:13::i;:::-;2024:42;;-1:-1:-1;2024:42:16;-1:-1:-1;2089:18:16;2081:4;:26;;;;;;;;;2077:73;;-1:-1:-1;2131:4:16;-1:-1:-1;2137:1:16;;-1:-1:-1;2123:16:16;;2077:73;2167:15;2175:3;2180:1;2167:7;:15::i;875:503:17:-;936:9;947:10;;:::i;:::-;970:14;986:20;1010:22;1018:3;446:4;1010:7;:22::i;:::-;969:63;;-1:-1:-1;969:63:17;-1:-1:-1;1054:18:17;1046:4;:26;;;;;;;;;1042:90;;-1:-1:-1;1102:18:17;;;;;;;;;-1:-1:-1;1102:18:17;;1096:4;;-1:-1:-1;1102:18:17;-1:-1:-1;1088:33:17;;1042:90;1143:14;1159:13;1176:31;1184:15;1201:5;1176:7;:31::i;:::-;1142:65;;-1:-1:-1;1142:65:17;-1:-1:-1;1229:18:17;1221:4;:26;;;;;;;;;1217:90;;1271:4;1277:18;;;;;;;;1292:1;1277:18;;;1263:33;;;;;;;;;;1217:90;1345:25;;;;;;;;;;;;-1:-1:-1;;1345:25:17;;-1:-1:-1;875:503:17;-1:-1:-1;;;;;;875:503:17:o;10695:92:40:-;;;;:::o;7227:210:17:-;7407:12;446:4;7407:23;;;7227:210::o;3816:605::-;3896:9;3907:10;;:::i;:::-;4204:14;4220;4238:25;446:4;4256:6;4238:7;:25::i;:::-;4203:60;;-1:-1:-1;4203:60:17;-1:-1:-1;4285:18:17;4277:4;:26;;;;;;;;;4273:90;;-1:-1:-1;4333:18:17;;;;;;;;;-1:-1:-1;4333:18:17;;4327:4;;-1:-1:-1;4333:18:17;-1:-1:-1;4319:33:17;;4273:90;4379:35;4386:9;4397:7;:16;;;4379:6;:35::i;1321:134:39:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;923:26781:1:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "sourceMap": "923:26781:1:-:0;;;1354:7;1308:53;;1395:4;1374:25;;4095:1215;5:9:-1;2:2;;;27:1;24;17:12;2:2;4095:1215:1;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4095:1215:1;;420:4:-1;411:14;;;;4095:1215:1;;;;;411:14:-1;4095:1215:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4095:1215:1;;420:4:-1;411:14;;;;4095:1215:1;;;;;411:14:-1;4095:1215:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4095:1215:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4095:1215:1;;;;;;;;;;;;;-1:-1:-1;4095:1215:1;-1:-1:-1;4422:10:1;4434:12;882:17:38;902:12;:10;:12::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2030:13:40;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2053:17:40;;;;:7;;:17;;;;;:::i;:::-;;2092:2;2080:9;;:14;;;;;;;;;;;;;;;;;;1956:145;;4473:6:1::1;4458:5;;:22;;;;;-1:-1:-1::0;;;;;4458:22:1::1;;;;;-1:-1:-1::0;;;;;4458:22:1::1;;;;;;4577:20;4550:3;;:48;;;;;-1:-1:-1::0;;;;;4550:48:1::1;;;;;-1:-1:-1::0;;;;;4550:48:1::1;;;;;;4705:18;4667:17;;:57;;;;;-1:-1:-1::0;;;;;4667:57:1::1;;;;;-1:-1:-1::0;;;;;4667:57:1::1;;;;;;4830:14;4802:3;;:43;;;;;-1:-1:-1::0;;;;;4802:43:1::1;;;;;-1:-1:-1::0;;;;;4802:43:1::1;;;;;;4934:19;4908:3;;:46;;;;;-1:-1:-1::0;;;;;4908:46:1::1;;;;;-1:-1:-1::0;;;;;4908:46:1::1;;;;;;4972:6;4964:5;;:14;;;;;;;;;;;;;;;;;;5109:20;5079:27;:50;;;;5199:16;:14;;;:16;;:::i;:::-;5178:18;:37:::0;-1:-1:-1;;446:4:17::1;5225:11:1;:25:::0;;;5260:21:::1;:43:::0;-1:-1:-1;923:26781:1;;-1:-1:-1;;;;;;923:26781:1;598:104:37;685:10;598:104;;:::o;12987:94:1:-;13062:12;12987:94;:::o;923:26781::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;923:26781:1;;;-1:-1:-1;923:26781:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "923:26781:1:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;923:26781:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2166:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2166:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4202:166:40;;-1:-1:-1;;;;;4202:166:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1576:32:1;;;:::i;:::-;;;;-1:-1:-1;;;;;1576:32:1;;;;;;;;;;;;;;1065:36;;;:::i;:::-;;;;;;;;;;;;;;;;12090:149;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12090:149:1;-1:-1:-1;;;;;12090:149:1;;:::i;3209:98:40:-;;;:::i;4835:317::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4835:317:40;;;;;;;;;;;;;;;;;:::i;25840:431:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;25840:431:1;;:::i;3068:81:40:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1430:19:1;;;:::i;5547:215:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5547:215:40;;-1:-1:-1;;;;;5547:215:40;;;;;;:::i;27466:131:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27466:131:1;-1:-1:-1;;;;;27466:131:1;;:::i;:::-;;5953:350;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5953:350:1;-1:-1:-1;;;;;5953:350:1;;:::i;17372:89::-;;;:::i;17972:609::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17972:609:1;;-1:-1:-1;;;;;17972:609:1;;;;;;:::i;1178:27::-;;;:::i;1308:53::-;;;:::i;20955:1213::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;20955:1213:1;;;;;;-1:-1:-1;;;;;20955:1213:1;;:::i;24095:91::-;;;:::i;14402:260::-;;;:::i;24192:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24192:334:1;;:::i;22491:1494::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;22491:1494:1;;;;;;-1:-1:-1;;;;;22491:1494:1;;:::i;1107:33::-;;;:::i;3365:117:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3365:117:40;-1:-1:-1;;;;;3365:117:40;;:::i;1706:145:38:-;;;:::i;14784:120:1:-;;;:::i;10696:1135::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10696:1135:1;-1:-1:-1;;;;;10696:1135:1;;:::i;1406:17::-;;;:::i;27603:99::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27603:99:1;;:::i;1083:77:38:-;;;:::i;25361:473:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;25361:473:1;;:::i;1211:28::-;;;:::i;1374:25::-;;;:::i;2360:85:40:-;;;:::i;20422:150:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;20422:150:1;;-1:-1:-1;;;;;20422:150:1;;;;;;:::i;14014:260::-;;;:::i;6249:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6249:266:40;;-1:-1:-1;;;;;6249:266:40;;;;;;:::i;7294:3179:1:-;;;:::i;5570:216::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5570:216:1;;-1:-1:-1;;;;;5570:216:1;;;;;;:::i;1146:26::-;;;:::i;13613:273::-;;;:::i;26277:466::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26277:466:1;;:::i;26749:711::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;26749:711:1;;;-1:-1:-1;;;;;26749:711:1;;;;;;;;;;;;:::i;16171:1036::-;;;:::i;24532:379::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24532:379:1;;:::i;12497:407::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12497:407:1;-1:-1:-1;;;;;12497:407:1;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:31;;;:::i;15027:1013::-;;;:::i;1540:30::-;;;:::i;24917:438::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24917:438:1;;:::i;18905:1178::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18905:1178:1;;:::i;3915:149:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3915:149:40;;;;;;;;;;:::i;6471:384:1:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6471:384:1;-1:-1:-1;;;;;6471:384:1;;:::i;1245:57::-;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;1455:42:1:-;;;:::i;13230:234::-;;;:::i;2166:81:40:-;2235:5;2228:12;;;;;;;;;;;;;-1:-1:-1;;2228:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;2203:13;;2228:12;;2235:5;;2228:12;;;2235:5;2228:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2166:81;;:::o;4202:166::-;4285:4;4301:39;4310:12;:10;:12::i;:::-;4324:7;4333:6;4301:8;:39::i;:::-;-1:-1:-1;4357:4:40;4202:166;;;;;:::o;1576:32:1:-;;;-1:-1:-1;;;;;1576:32:1;;:::o;1065:36::-;;;;:::o;12090:149::-;12153:7;12172:16;:14;:16::i;:::-;12205:27;12224:7;12205:18;:27::i;:::-;12198:34;;12090:149;;;;:::o;3209:98:40:-;3288:12;;3209:98;:::o;4835:317::-;4941:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;5003:121;5012:6;5020:12;:10;:12::i;:::-;5034:89;5072:6;5034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:19:40;;;;;;:11;:19;;;;;;5054:12;:10;:12::i;:::-;-1:-1:-1;;;;;5034:33:40;;;;;;;;;;;;-1:-1:-1;5034:33:40;;;;:37;:89::i;:::-;5003:8;:121::i;:::-;-1:-1:-1;5141:4:40;4835:317;;;;;:::o;25840:431:1:-;25902:7;26056:17;26083;26133:105;26164:38;;;;;;;;26179:21;:19;:21::i;:::-;26164:38;;26216:12;26133:17;:105::i;:::-;26110:128;25840:431;-1:-1:-1;;;;;25840:431:1:o;3068:81:40:-;3133:9;;;;3068:81;:::o;1430:19:1:-;;;;;;-1:-1:-1;;;;;1430:19:1;;:::o;5547:215:40:-;5635:4;5651:83;5660:12;:10;:12::i;:::-;5674:7;5683:50;5722:10;5683:11;:25;5695:12;:10;:12::i;:::-;-1:-1:-1;;;;;5683:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5683:25:40;;;:34;;;;;;;;;;;:38;:50::i;27466:131:1:-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;27542:17:1::1;:48:::0;;-1:-1:-1;;;;;;27542:48:1::1;-1:-1:-1::0;;;;;27542:48:1;;;::::1;::::0;;;::::1;::::0;;27466:131::o;5953:350::-;6015:7;6034:23;;:::i;:::-;6060:38;;;;;;;;6075:21;:19;:21::i;:::-;6060:38;;6034:64;-1:-1:-1;6109:14:1;;6144:83;6034:64;6201:16;6211:5;6201:9;:16::i;:::-;6144:17;:83::i;:::-;6108:119;;-1:-1:-1;6108:119:1;-1:-1:-1;6253:18:1;6245:4;:26;;;;;;;;;6237:35;;12:1:-1;9;2:12;6237:35:1;6289:7;5953:350;-1:-1:-1;;;;5953:350:1:o;17372:89::-;17414:7;17440:14;:12;:14::i;:::-;17433:21;;17372:89;:::o;17972:609::-;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;18078:25:::1;;:::i;:::-;18174:21;:19;:21::i;:::-;18146:25;::::0;;::::1;:49:::0;;;18432:42:::1;::::0;;;;::::1;::::0;;18447:25;;18432:42;;18375:109:::1;::::0;18411:7;;18375:22:::1;:109::i;:::-;18356:15;::::0;::::1;18341:143:::0;;;18342:4;18341:143;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;18494:32;18500:8;18510:4;:15;;;18494:5;:32::i;:::-;18558:15;::::0;;::::1;::::0;18541:33;;-1:-1:-1;;;;;18541:33:1;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;2321:1;17972:609:::0;;:::o;1178:27::-;;;;:::o;1308:53::-;;;;:::o;20955:1213::-;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;21152:13:::1;21135:14;:12;:14::i;:::-;:30;21127:69;;;::::0;;-1:-1:-1;;;21127:69:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21242:27;;:::i;:::-;21386:31;21407:9;21386:20;:31::i;:::-;21364:19;::::0;::::1;:53:::0;;;21528:77:::1;::::0;21582:13;21528:7:::1;:77::i;:::-;21502:22;::::0;::::1;21487:118:::0;;;21488:4;21487:118;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;21710:70;21731:12;;21757:13;21710:7;:70::i;:::-;21686:20;::::0;::::1;21671:109:::0;;;21672:4;21671:109;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;;-1:-1:-1;;21893:22:1::1;::::0;;::::1;::::0;-1:-1:-1;;;;;21855:25:1;;::::1;;::::0;;;:14:::1;:25;::::0;;;;;;:60;;;21967:11:::1;::::0;-1:-1:-1;21925:39:1;;::::1;:53:::0;;;;22003:20:::1;::::0;::::1;::::0;21988:12:::1;:35:::0;22072:5:::1;::::0;:40;;-1:-1:-1;;;22072:40:1;;::::1;::::0;::::1;::::0;;;;;;;;;;;;:5:::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;22072:40:1;;;;;21855:25;;22072:40;;;;;;;:5;:40;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;22072:40:1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22072:40:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;;22127:34:1::1;::::0;;-1:-1:-1;;;;;22127:34:1;::::1;::::0;;22072:40:::1;22127:34:::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;2321:1;20955:1213:::0;;:::o;24095:91::-;24173:5;;;;;-1:-1:-1;;;;;24173:5:1;;24095:91::o;14402:260::-;14447:7;14622:33;14647:7;14622:20;:18;:20::i;:::-;:24;:33;:24;:33;:::i;24192:334::-;24252:7;24271:21;24295:23;24310:7;24295:14;:23::i;:::-;24390:3;;24441:5;;24390:94;;;-1:-1:-1;;;24390:94:1;;-1:-1:-1;;;;;24390:3:1;24441:5;;;;;24390:94;;;;;;;;;;;;;;-1:-1:-1;;;24390:3:1;;;;;:29;;:94;;;;;;;;;;;;;;-1:-1:-1;24390:3:1;:94;;;2:2:-1;;;;27:1;24;17:12;2:2;24390:94:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24390:94:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;24390:94:1;;24192:334;-1:-1:-1;;;;24192:334:1:o;22491:1494::-;2306:3;;22608:7;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;22667:32:::1;;:::i;:::-;22806:30;22827:8;22806:20;:30::i;:::-;22784:19;::::0;::::1;:52:::0;-1:-1:-1;;;;;22942:24:1;::::1;;::::0;;;:14:::1;:24;::::0;;;;;;-1:-1:-1;22942:38:1::1;::::0;22921:18;;::::1;:59:::0;23055:16;23051:146:::1;;23106:19;::::0;::::1;::::0;23087:16:::1;::::0;::::1;:38:::0;23051:146:::1;;;23156:16;::::0;::::1;:30:::0;;;23051:146:::1;23380:80;23401:4;:19;;;23434:4;:16;;;23380:7;:80::i;:::-;23354:22;::::0;::::1;23339:121:::0;;;23340:4;23339:121;::::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;23570:73;23591:12;;23617:4;:16;;;23570:7;:73::i;:::-;23546:20;::::0;::::1;23531:112:::0;;;23532:4;23531:112;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;;-1:-1:-1;;23759:22:1::1;::::0;::::1;::::0;-1:-1:-1;;;;;23722:24:1;::::1;;::::0;;;:14:::1;:24;::::0;;;;;;;;:59;;;23832:18;;::::1;::::0;-1:-1:-1;23791:38:1;;::::1;:59:::0;;;;-1:-1:-1;23875:20:1;::::1;::::0;23860:12:::1;:35:::0;23928:16;;::::1;::::0;23910:35;;;;;;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;23962:16;;::::0;;22491:1494;-1:-1:-1;;;22491:1494:1:o;1107:33::-;;;;:::o;3365:117:40:-;-1:-1:-1;;;;;3457:18:40;3431:7;3457:18;;;-1:-1:-1;3457:18:40;;;;;;;3365:117::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;14784:120:1:-;14833:7;14852:16;:14;:16::i;:::-;-1:-1:-1;14885:12:1;;14784:120;:::o;10696:1135::-;-1:-1:-1;;;;;10954:23:1;;10762:7;10954:23;;;:14;:23;;;;;11164:24;;10762:7;;;;;;10954:23;11160:70;;11217:1;11209:10;;;;;;;;11160:70;11437:80;11458:14;:24;;;11496:11;;11437:7;:80::i;:::-;11404:113;;-1:-1:-1;11404:113:1;-1:-1:-1;11542:18:1;11531:7;:29;;;;;;;;;11527:70;;11584:1;11576:10;;;;;;;;11527:70;11627:92;11648:19;11681:14;:28;;;11627:7;:92::i;:::-;11607:112;;-1:-1:-1;11607:112:1;-1:-1:-1;11744:18:1;11733:7;:29;;;;;;;;;11729:70;;11786:1;11778:10;;;;;;;;11729:70;-1:-1:-1;11817:6:1;10696:1135;-1:-1:-1;;;;10696:1135:1:o;1406:17::-;;;;;;:::o;27603:99::-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;27668:21:1::1;:27:::0;27603:99::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;;1083:77::o;25361:473:1:-;25456:7;25614:17;25641;25691:110;25727:14;25755:36;;;;;;;;25770:19;:17;:19::i;:::-;25755:36;;25691:22;:110::i;1211:28::-;;;;:::o;1374:25::-;;;;:::o;2360:85:40:-;2431:7;2424:14;;;;;;;;;;;;;-1:-1:-1;;2424:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;2399:13;;2424:14;;2431:7;;2424:14;;;2431:7;2424:14;;;;;;;;;;;;;;;;;;;;;;;;20422:150:1;2306:3;;-1:-1:-1;;;;;2306:3:1;2284:10;:26;2276:35;;12:1:-1;9;2:12;2276:35:1;20503:24:::1;20509:8;20519:7;20503:5;:24::i;:::-;20542:23;::::0;;-1:-1:-1;;;;;20542:23:1;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;20422:150:::0;;:::o;14014:260::-;14059:7;14234:33;14259:7;14234:20;:18;:20::i;6249:266:40:-;6342:4;6358:129;6367:12;:10;:12::i;:::-;6381:7;6390:96;6429:15;6390:96;;;;;;;;;;;;;;;;;:11;:25;6402:12;:10;:12::i;:::-;-1:-1:-1;;;;;6390:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6390:25:40;;;:34;;;;;;;;;;;;:38;:96::i;7294:3179:1:-;7381:26;7410:16;:14;:16::i;:::-;7470:18;;7381:45;;-1:-1:-1;7436:31:1;7569:14;:12;:14::i;:::-;7616:12;;7662:13;;7712:11;;7549:34;;-1:-1:-1;7616:12:1;;7785:45;;;7781:2686;;7932:17;;:133;;;-1:-1:-1;;;7932:133:1;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;7932:17:1;;-1:-1:-1;;7932:133:1;;;;;;;;;;;;;;:17;:133;;;2:2:-1;;;;27:1;24;17:12;2:2;7932:133:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7932:133:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7932:133:1;;-1:-1:-1;1293:9:1;8087:43;;;8079:52;;12:1:-1;9;2:12;8079:52:1;8223:17;8242:18;8264:98;8289:18;8325:23;8264:7;:98::i;:::-;8222:140;;;;8470:31;;:::i;:::-;8515:27;8556:23;8593:24;8631:22;8762:104;8789:35;;;;;;;;8804:18;8789:35;;;8842:10;8762:9;:104::i;:::-;8728:138;;-1:-1:-1;8728:138:1;-1:-1:-1;8985:99:1;8728:138;9058:12;8985:17;:99::i;:::-;8952:132;;-1:-1:-1;8952:132:1;-1:-1:-1;9194:88:1;8952:132;9256:12;9194:7;:88::i;:::-;9453:38;;;;;;;;;9468:21;;9453:38;;9165:117;;-1:-1:-1;9165:117:1;-1:-1:-1;9411:162:1;;9509:19;9546:13;9411:24;:162::i;:::-;9381:192;;-1:-1:-1;9381:192:1;-1:-1:-1;9695:144:1;9737:20;9775:16;;9695:24;:144::i;:::-;9667:172;;;;;;;;9940:18;9919;:39;;;;9986:14;9972:11;:28;;;;10029:15;10014:12;:30;;;;10074:16;10058:13;:32;;;;10110:155;10143:18;;10179:11;;10208:12;;10238:13;;10110:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:2686;;;;;;;;;;;10334:18;;10370:11;;10399:12;;10429:13;;10301:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7781:2686;7294:3179;;;;;;:::o;5570:216::-;5672:4;-1:-1:-1;;;;;5700:23:1;;;5692:32;;12:1:-1;9;2:12;5692:32:1;5742:6;5752:4;5742:14;5734:23;;12:1:-1;9;2:12;5734:23:1;-1:-1:-1;5774:5:1;5570:216;;;;:::o;1146:26::-;;;;:::o;13613:273::-;13702:17;;13664:7;;-1:-1:-1;;;;;13702:17:1;:31;13751:14;:12;:14::i;:::-;13783:12;;13813:13;;13844:21;;13702:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13702:177:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13702:177:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13702:177:1;;-1:-1:-1;13613:273:1;:::o;26277:466::-;26372:7;26530:17;26557;26607:103;26638:36;;;;;;;;26653:19;:17;:19::i;26749:711::-;26987:3;;-1:-1:-1;;;;;26987:3:1;26965:10;:26;26957:35;;12:1:-1;9;2:12;26957:35:1;27072:3;;27127:5;;27072:100;;;-1:-1:-1;;;;;;27072:100:1;;-1:-1:-1;;;;;27072:3:1;27127:5;;;;;27072:100;;;;;;;;;;;;-1:-1:-1;;27072:3:1;;;;;:33;;:100;;;;;;;;;;;;;;;-1:-1:-1;27072:3:1;:100;;;2:2:-1;;;;27:1;24;17:12;2:2;27072:100:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27072:100:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;27072:100:1;;-1:-1:-1;27240:16:1;27259:22;27072:100;27259:12;:22::i;:::-;27240:41;;27332:26;27338:9;27349:8;27332:5;:26::i;:::-;27416:5;;:37;;;-1:-1:-1;;;27416:37:1;;-1:-1:-1;;;;;27416:37:1;;;;;;;;;;;;;;;:5;;;;;;;;-1:-1:-1;;27416:37:1;;;;;;;;;;;;;;;-1:-1:-1;27416:5:1;:37;;;2:2:-1;;;;27:1;24;17:12;2:2;27416:37:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27416:37:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;;26749:711:1:o;16171:1036::-;16218:7;16237:16;:14;:16::i;:::-;16267:13;:11;:13::i;:::-;16263:938;;-1:-1:-1;16388:27:1;;16381:34;;16263:938;16543:17;16563:14;:12;:14::i;:::-;16543:34;;16620:36;16670:23;;:::i;:::-;16707:17;16855:116;16887:9;16914:12;;16944:13;;16855:14;:116::i;:::-;16813:158;-1:-1:-1;16813:158:1;-1:-1:-1;17049:97:1;16813:158;17119:13;:11;:13::i;:::-;17049:6;:97::i;:::-;17168:21;;-1:-1:-1;17160:30:1;;-1:-1:-1;;;;;17160:30:1;24532:379;24598:7;24617:21;24641:27;24660:7;24641:18;:27::i;:::-;24740:3;;24792:5;;24740:95;;;-1:-1:-1;;;24740:95:1;;-1:-1:-1;;;;;24740:3:1;24792:5;;;;;24740:95;;;;;;;;;;;;;;-1:-1:-1;;;24740:3:1;;;;;-1:-1:-1;;24740:95:1;;;;;;;;;;;;;;:3;:95;;;2:2:-1;;;;27:1;24;17:12;2:2;24740:95:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;12497:407:1;12589:7;12610;12631;12663:20;12686:18;12696:7;12686:9;:18::i;:::-;12663:41;;12714:21;12738:29;12759:7;12738:20;:29::i;:::-;12714:53;;12777:28;12808:21;:19;:21::i;:::-;12847:12;;12861:13;;-1:-1:-1;12847:12:1;;-1:-1:-1;12497:407:1;-1:-1:-1;;;12497:407:1:o;1503:31::-;;;-1:-1:-1;;;;;1503:31:1;;:::o;15027:1013::-;15077:7;15100:13;:11;:13::i;1540:30::-;;;-1:-1:-1;;;;;1540:30:1;;:::o;24917:438::-;24979:7;25133:17;25160;25210:112;25246:14;25274:38;;;;;;;;25289:21;:19;:21::i;18905:1178::-;18963:12;18955:21;;12:1:-1;9;2:12;18955:21:1;18987:27;;:::i;:::-;19081:21;:19;:21::i;:::-;19053:25;;;:49;19117:5;;;;19113:322;;;19166:3;;19225:5;;19166:104;;;-1:-1:-1;;;;;;19166:104:1;;-1:-1:-1;;;;;19166:3:1;19225:5;;;;;19166:104;;;;;;;;;;;;-1:-1:-1;;19166:3:1;;;;;:33;;:104;;;;;;;;;;;;;;;-1:-1:-1;19166:3:1;:104;;;2:2:-1;;;;27:1;24;17:12;2:2;19166:104:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19166:104:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19166:104:1;19350:3;;:60;;;-1:-1:-1;;;19350:60:1;;19384:10;19350:60;;;;19404:4;19350:60;;;;;;19166:104;;-1:-1:-1;;;;;;19350:3:1;;;;-1:-1:-1;;19350:60:1;;;;;19166:104;;19350:60;;;;;;;;-1:-1:-1;19350:3:1;:60;;;2:2:-1;;;;27:1;24;17:12;2:2;19350:60:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19350:60:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19350:60:1;19309:101;;;19284:140;;12:1:-1;9;2:12;19284:140:1;19113:322;;19445:40;19451:10;19463:21;19476:7;19463:12;:21::i;:::-;19445:5;:40::i;:::-;19667:109;19703:7;19724:42;;;;;;;;19739:4;:25;;;19724:42;;;19667:22;:109::i;:::-;19646:17;;;19631:145;;;19632:4;19631:145;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19861:17:1;;;;19843:14;:12;:14::i;:::-;:35;;19835:44;;12:1:-1;9;2:12;19835:44:1;19968:5;;19995:17;;;;;19968:45;;-1:-1:-1;;;19968:45:1;;19983:10;19968:45;;;;;;;;;;;;;:5;;;;-1:-1:-1;;;;;19968:5:1;;-1:-1:-1;;19968:45:1;;;;;;;;;;;;;;;-1:-1:-1;19968:5:1;:45;;;2:2:-1;;;;27:1;24;17:12;2:2;19968:45:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19968:45:1;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;20058:17:1;;;;;20028:48;;20037:10;20028:48;;19968:45;20028:48;;;;;;;;;;;;;;;;;;;;;;;18905:1178;;:::o;3915:149:40:-;-1:-1:-1;;;;;4030:18:40;;;4004:7;4030:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3915:149::o;6471:384:1:-;6565:7;6588:23;;:::i;:::-;6614:36;;;;;;;;6629:19;:17;:19::i;1245:57::-;1293:9;1245:57;:::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;1455:42:1:-;;;-1:-1:-1;;;;;1455:42:1;;:::o;13230:234::-;13319:17;;13281:7;;-1:-1:-1;;;;;13319:17:1;:31;13368:14;:12;:14::i;:::-;13400:12;;13430:13;;13319:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;598:104:37;685:10;598:104;:::o;9313:340:40:-;-1:-1:-1;;;;;9414:19:40;;9406:68;;;;-1:-1:-1;;;9406:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9492:21:40;;9484:68;;;;-1:-1:-1;;;9484:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9563:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9614:32;;;;;;;;;;;;;;;;;9313:340;;;:::o;6989:530::-;-1:-1:-1;;;;;7094:20:40;;7086:70;;;;-1:-1:-1;;;7086:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:23:40;;7166:71;;;;-1:-1:-1;;;7166:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:47;7269:6;7277:9;7288:6;7248:20;:47::i;:::-;7326:71;7348:6;7326:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7326:17:40;;;;;;-1:-1:-1;7326:17:40;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7306:17:40;;;;;;;-1:-1:-1;7306:17:40;;;;;;:91;;;;7430:20;;;;;;;:32;;7455:6;7430:24;:32::i;:::-;-1:-1:-1;;;;;7407:20:40;;;;;;;-1:-1:-1;7407:20:40;;;;;;;;:55;;;;7477:35;;;;;;;-1:-1:-1;;7407:20:40;;7477:35;;;;;;;;7407:20;;-1:-1:-1;7407:20:40;-1:-1:-1;;;;;7477:35:40;;;;;;;;6989:530;;;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;2535:306:17:-;2612:9;2623:4;2640:13;2655:18;;:::i;:::-;2677:20;2687:1;2690:6;2677:9;:20::i;:::-;2639:58;;-1:-1:-1;2639:58:17;-1:-1:-1;2718:18:17;2711:3;:25;;;;;;;;;2707:71;;-1:-1:-1;2760:3:17;-1:-1:-1;2765:1:17;;-1:-1:-1;2752:15:17;;2707:71;2796:18;2816:17;2825:7;2816:8;:17::i;:::-;2788:46;;;;;;2535:306;;;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;6967:110:1:-;7040:5;;:30;;;-1:-1:-1;;;7040:30:1;;7064:4;7040:30;;;;;;-1:-1:-1;;7040:5:1;;;-1:-1:-1;;;;;7040:5:1;;-1:-1:-1;;7040:30:1;;;;;;;;;;;;;;:5;:30;;;2:2:-1;;;;27:1;24;17:12;4527:330:17;4615:9;4626:4;4643:13;4658:19;;:::i;:::-;4681:31;4696:6;4704:7;4681:14;:31::i;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;7941:20;:49::i;:::-;8016:12;;:24;;8033:6;8016:24;:16;:24;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;-1:-1:-1;8071:18:40;;;;;;:30;;8094:6;8071:22;:30::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;-1:-1:-1;8050:18:40;;;;;;;;:51;;;;8116:37;;;;;;;-1:-1:-1;;8050:18:40;;;;;;;-1:-1:-1;8050:18:40;-1:-1:-1;;;;;8116:37:40;;;;;;;;;7790:370;;:::o;1612:250:16:-;1668:9;;1704:5;;;1724:6;;;1720:136;;1754:18;;-1:-1:-1;1774:1:16;-1:-1:-1;1746:30:16;;1720:136;-1:-1:-1;1815:26:16;;-1:-1:-1;1843:1:16;;-1:-1:-1;1807:38:16;;2188:459:39;2246:7;2487:6;2483:45;;-1:-1:-1;2516:1:39;2509:8;;2483:45;2550:5;;;2554:1;2550;:5;:1;2573:5;;;;;:10;2565:56;;;;-1:-1:-1;;;2565:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1302:230:16;1358:9;1369:4;1394:1;1389;:6;1385:141;;-1:-1:-1;1419:18:16;;-1:-1:-1;1439:5:16;;;1411:34;;1385:141;-1:-1:-1;1484:27:16;;-1:-1:-1;1513:1:16;1476:39;;542:331;598:9;;629:6;625:67;;-1:-1:-1;659:18:16;;-1:-1:-1;659:18:16;651:30;;625:67;711:5;;;715:1;711;:5;:1;731:5;;;;;:10;727:140;;-1:-1:-1;765:26:16;;-1:-1:-1;793:1:16;;-1:-1:-1;757:38:16;;727:140;834:18;;-1:-1:-1;854:1:16;-1:-1:-1;826:30:16;;963:209;1019:9;;1050:6;1046:75;;-1:-1:-1;1080:26:16;;-1:-1:-1;1108:1:16;1072:38;;1046:75;1139:18;1163:1;1159;:5;;;;;;1131:34;;;;963:209;;;;;:::o;8480:410:40:-;-1:-1:-1;;;;;8563:21:40;;8555:67;;;;-1:-1:-1;;;8555:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8633:49;8654:7;8671:1;8675:6;8633:20;:49::i;:::-;8714:68;8737:6;8714:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8714:18:40;;;;;;-1:-1:-1;8714:18:40;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8693:18:40;;;;;;-1:-1:-1;8693:18:40;;;;;:89;8807:12;;:24;;8824:6;8807:16;:24::i;:::-;8792:12;:39;8846:37;;;;;;;;8872:1;;-1:-1:-1;;;;;8846:37:40;;;-1:-1:-1;;;;;;;;;;;8846:37:40;;;;;;;;8480:410;;:::o;12987:94:1:-;13062:12;12987:94;:::o;2081:346:17:-;2150:9;2161:10;;:::i;:::-;2184:14;2200:19;2223:27;2231:1;:10;;;2243:6;2223:7;:27::i;:::-;2183:67;;-1:-1:-1;2183:67:17;-1:-1:-1;2272:18:17;2264:4;:26;;;;;;;;;2260:90;;-1:-1:-1;2320:18:17;;;;;;;;;-1:-1:-1;2320:18:17;;2314:4;;-1:-1:-1;2320:18:17;-1:-1:-1;2306:33:17;;2260:90;2388:31;;;;;;;;;;;;-1:-1:-1;;2388:31:17;;-1:-1:-1;2081:346:17;-1:-1:-1;;;;2081:346:17:o;2981:321::-;3078:9;3089:4;3106:13;3121:18;;:::i;:::-;3143:20;3153:1;3156:6;3143:9;:20::i;:::-;3105:58;;-1:-1:-1;3105:58:17;-1:-1:-1;3184:18:17;3177:3;:25;;;;;;;;;3173:71;;-1:-1:-1;3226:3:17;-1:-1:-1;3231:1:17;;-1:-1:-1;3218:15:17;;3173:71;3261:34;3269:17;3278:7;3269:8;:17::i;:::-;3288:6;3261:7;:34::i;:::-;3254:41;;;;;;2981:321;;;;;;;:::o;1926:263:16:-;1997:9;2008:4;2025:14;2041:8;2053:13;2061:1;2064;2053:7;:13::i;:::-;2024:42;;-1:-1:-1;2024:42:16;-1:-1:-1;2089:18:16;2081:4;:26;;;;;;;;;2077:73;;-1:-1:-1;2131:4:16;-1:-1:-1;2137:1:16;;-1:-1:-1;2123:16:16;;2077:73;2167:15;2175:3;2180:1;2167:7;:15::i;875:503:17:-;936:9;947:10;;:::i;:::-;970:14;986:20;1010:22;1018:3;446:4;1010:7;:22::i;:::-;969:63;;-1:-1:-1;969:63:17;-1:-1:-1;1054:18:17;1046:4;:26;;;;;;;;;1042:90;;-1:-1:-1;1102:18:17;;;;;;;;;-1:-1:-1;1102:18:17;;1096:4;;-1:-1:-1;1102:18:17;-1:-1:-1;1088:33:17;;1042:90;1143:14;1159:13;1176:31;1184:15;1201:5;1176:7;:31::i;:::-;1142:65;;-1:-1:-1;1142:65:17;-1:-1:-1;1229:18:17;1221:4;:26;;;;;;;;;1217:90;;1271:4;1277:18;;;;;;;;1292:1;1277:18;;;1263:33;;;;;;;;;;1217:90;1345:25;;;;;;;;;;;;-1:-1:-1;;1345:25:17;;-1:-1:-1;875:503:17;-1:-1:-1;;;;;;875:503:17:o;10651:92:40:-;;;;:::o;7227:210:17:-;7407:12;446:4;7407:23;;;7227:210::o;3816:605::-;3896:9;3907:10;;:::i;:::-;4204:14;4220;4238:25;446:4;4256:6;4238:7;:25::i;:::-;4203:60;;-1:-1:-1;4203:60:17;-1:-1:-1;4285:18:17;4277:4;:26;;;;;;;;;4273:90;;-1:-1:-1;4333:18:17;;;;;;;;;-1:-1:-1;4333:18:17;;4327:4;;-1:-1:-1;4333:18:17;-1:-1:-1;4319:33:17;;4273:90;4379:35;4386:9;4397:7;:16;;;4379:6;:35::i;1329:134:39:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i;923:26781:1:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;923:26781:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.6.0;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"./compound/Exponential.sol\";\nimport \"./compound/InterestRateModel.sol\";\nimport \"./interfaces/UniswapOracleFactoryI.sol\";\nimport \"./interfaces/MoneyMarketInstanceI.sol\";\nimport \"./interfaces/MoneyMarketFactoryI.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title AskoRiskToken\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe AskoRiskToken contract is an ERC20 contract designed to be owned by a MoneyMarketInstance contract. This contract's\ntoken represents a Risk lending pool in a MoneyMarketInstance contract.\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol && ERC20.sol\n**/\n\ncontract AskoRiskToken is Ownable, ERC20, Exponential {\n using SafeMath for uint256;\n uint256 internal initialExchangeRateMantissa;\n uint256 public reserveFactorMantissa;\n uint256 public accrualBlockNumber;\n uint256 public borrowIndex;\n uint256 public totalBorrows;\n uint256 public totalReserves;\n uint256 public constant borrowRateMaxMantissa = 0.0005e16;\n uint256 public liquidationIncentiveMantissa = .001e18; //.001\n uint256 public one = 1e18;\n\n bool public isALR;\n\n IERC20 public asset;\n InterestRateModel public interestRateModel;\n MoneyMarketInstanceI public MMI;\n MoneyMarketFactoryI public MMF;\n UniswapOracleFactoryI public UOF;\n\n mapping(address => BorrowSnapshot) internal accountBorrows;\n mapping(address => uint256) nonCompliant; // tracks user to a market to a time\n\n /**\n@notice struct for borrow balance information\n@member principal Total balance (with accrued interest), after applying the most recent balance-changing action\n@member interestIndex Global borrowIndex as of the most recent balance-changing action\n*/\n struct BorrowSnapshot {\n uint256 principal;\n uint256 interestIndex;\n }\n\n /**\n@notice onlyMMInstance is a modifier used to make a function only callable by theproperMoneyMarketInstance contract\n**/\n modifier onlyMMInstance() {\n require(msg.sender == address(MMI));\n _;\n }\n\n event InterestAccrued(\n uint256 accrualBlockNumber,\n uint256 borrowIndex,\n uint256 totalBorrows,\n uint256 totalReserves\n );\n event Minted(address lender, uint256 amountMinted);\n event Redeemed(\n address redeemer,\n uint256 amountART,\n uint256 assetAmountRedeemed\n );\n event Burn(address account, uint256 amount);\n event Borrowed(address borrower, uint256 amountBorrowed);\n event Repayed(address borrower, uint256 amountRepayed);\n event NonCompliantTimerStart(address borrower);\n event Accountliquidated(\n address borrower,\n address liquidator,\n uint256 amountRepayed,\n address ARTowed,\n address ARTcollateral\n );\n event NonCompliantTimerReset(address borrower);\n\n /**\n@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\nis used to set up the name, symbol, and decimal variables for the AskoRiskToken contract.\n@param _interestRateModel is the address of the interest rate model for a specific ART\n@param _asset is the address of the underlying asset for a specific ART contract\n@param _oracleFactory is teh address of the uniswap oracle factory contract\n@param _tokenName is the name of the asset the MoneyMarketInstance that owns this contract represents\n@param _tokenSymbol is the symbol of the asset the MoneyMarketInstance that owns this contract represents\n@param _isALR signifies whether or not a specific AskoRiskToken instance is a high risk or low risk token.\n@param _initialExchangeRate is the initial exchange rate mantissa for a specific ART\n@dev these two perameters become hyphenated with \"AHR\" during this process( e.x: AHR-wBitcoin, AHR-wBTC)\n**/\n constructor(\n address _interestRateModel,\n address _asset,\n address _oracleFactory,\n address _MoneyMarketControl,\n address _MoneyMarketInstance,\n string memory _tokenName,\n string memory _tokenSymbol,\n bool _isALR,\n uint256 _initialExchangeRate\n ) public ERC20(_tokenName, _tokenSymbol) {\n asset = IERC20(_asset); //instanciate the asset as a usable ERC20 contract instance\n MMI = MoneyMarketInstanceI(_MoneyMarketInstance); //instanciates this contracts MoneyMarketInstance contract\n interestRateModel = InterestRateModel(_interestRateModel); //instanciates the this contracts interest rate model as a contract\n UOF = UniswapOracleFactoryI(_oracleFactory); //instantiatesthe UniswapOracleFactory as a contract\n MMF = MoneyMarketFactoryI(_MoneyMarketControl);\n isALR = _isALR; // sets the isALR varaible to determine whether or not a specific contract is an ALR token\n initialExchangeRateMantissa = _initialExchangeRate; //sets the initialExchangeRateMantissa\n accrualBlockNumber = getBlockNumber();\n borrowIndex = mantissaOne;\n reserveFactorMantissa = 1000000000000000000;\n }\n\n /**\n@notice transfer is an override function that effectivly makes transfering a ART impossible. this is necissary to avoid a\n user taking out a loan using his ALR as collateral and then transfering his ALR so his loan cant be liquidated.\n**/\n function transfer(address recipient, uint256 amount)\n public\n override\n returns (bool)\n {\n require(recipient == address(0));\n require(amount == 1e45);\n return false;\n }\n\n /**\n@notice Get the underlying balance of the `owners`\n@param owner The address of the account to query\n@return The amount of underlying owned by `owner`\n*/\n function balanceOfUnderlying(address owner) external returns (uint256) {\n Exp memory exchangeRate = Exp({mantissa: exchangeRateCurrent()});\n (MathError mErr, uint256 balance) = mulScalarTruncate(\n exchangeRate,\n balanceOf(owner)\n );\n require(mErr == MathError.NO_ERROR);\n return balance;\n }\n\n /**\n@notice Get the underlying balance of the `owners`\n@param owner The address of the account to query\n@return The amount of underlying owned by `owner`\n**/\n function balanceOfUnderlyingPrior(address owner)\n public\n view\n returns (uint256)\n {\n Exp memory exchangeRate = Exp({mantissa: exchangeRatePrior()});\n (MathError mErr, uint256 balance) = mulScalarTruncate(\n exchangeRate,\n balanceOf(owner)\n );\n require(mErr == MathError.NO_ERROR);\n return balance;\n }\n\n /**\n@notice getCashPrior is a view funcion that returns and ART's balance of its underlying asset\n**/\n function getCashPrior() internal view returns (uint256) {\n return asset.balanceOf(address(this));\n }\n\n /**\n@notice Applies accrued interest to total borrows and reserves\n@dev This calculates interest accrued from the last checkpointed block\n up to the current block and writes new checkpoint to storage.\n*/\n function accrueInterest() public {\n //Remember the initial block number\n uint256 currentBlockNumber = getBlockNumber();\n uint256 accrualBlockNumberPrior = accrualBlockNumber;\n\n //Read the previous values out of storage\n uint256 cashPrior = getCashPrior();\n uint256 borrowsPrior = totalBorrows;\n uint256 reservesPrior = totalReserves;\n uint256 borrowIndexPrior = borrowIndex;\n //Short-circuit accumulating 0 interest\n if (accrualBlockNumberPrior != currentBlockNumber) {\n //Calculate the current borrow interest rate\n uint256 borrowRateMantissa = interestRateModel.getBorrowRate(\n cashPrior,\n borrowsPrior,\n reservesPrior\n );\n require(borrowRateMantissa <= borrowRateMaxMantissa);\n\n //Calculate the number of blocks elapsed since the last accrual\n (MathError mathErr, uint256 blockDelta) = subUInt(\n currentBlockNumber,\n accrualBlockNumberPrior\n );\n //Calculate the interest accumulated into borrows and reserves and the new index:\n Exp memory simpleInterestFactor;\n uint256 interestAccumulated;\n uint256 totalBorrowsNew;\n uint256 totalReservesNew;\n uint256 borrowIndexNew;\n //simpleInterestFactor = borrowRate * blockDelta\n (mathErr, simpleInterestFactor) = mulScalar(\n Exp({mantissa: borrowRateMantissa}),\n blockDelta\n );\n //interestAccumulated = simpleInterestFactor * totalBorrows\n (mathErr, interestAccumulated) = mulScalarTruncate(\n simpleInterestFactor,\n borrowsPrior\n );\n //totalBorrowsNew = interestAccumulated + totalBorrows\n (mathErr, totalBorrowsNew) = addUInt(\n interestAccumulated,\n borrowsPrior\n );\n //totalReservesNew = interestAccumulated * reserveFactor + totalReserves\n (mathErr, totalReservesNew) = mulScalarTruncateAddUInt(\n Exp({mantissa: reserveFactorMantissa}),\n interestAccumulated,\n reservesPrior\n );\n //borrowIndexNew = simpleInterestFactor * borrowIndex + borrowIndex\n (mathErr, borrowIndexNew) = mulScalarTruncateAddUInt(\n simpleInterestFactor,\n borrowIndexPrior,\n borrowIndexPrior\n );\n //Write the previously calculated values into storage\n accrualBlockNumber = currentBlockNumber;\n borrowIndex = borrowIndexNew;\n totalBorrows = totalBorrowsNew;\n totalReserves = totalReservesNew;\n\n emit InterestAccrued(\n accrualBlockNumber,\n borrowIndex,\n totalBorrows,\n totalReserves\n );\n } else {\n emit InterestAccrued(\n accrualBlockNumber,\n borrowIndex,\n totalBorrows,\n totalReserves\n );\n }\n }\n\n /**\n@notice returns last calculated account's borrow balance using the prior borrowIndex\n@param account The address whose balance should be calculated after updating borrowIndex\n@return The calculated balance\n**/\n function borrowBalancePrior(address account) public view returns (uint256) {\n MathError mathErr;\n uint256 principalTimesIndex;\n uint256 result;\n\n //Get borrowBalance and borrowIndex\n BorrowSnapshot storage borrowSnapshot = accountBorrows[account];\n\n //If borrowBalance = 0 then borrowIndex is likely also 0.\n //Rather than failing the calculation with a division by 0, we immediately return 0 in this case.\n if (borrowSnapshot.principal == 0) {\n return (0);\n }\n\n //Calculate new borrow balance using the interest index:\n //recentBorrowBalance = borrower.borrowBalance * market.borrowIndex / borrower.borrowIndex\n (mathErr, principalTimesIndex) = mulUInt(\n borrowSnapshot.principal,\n borrowIndex\n );\n if (mathErr != MathError.NO_ERROR) {\n return (0);\n }\n\n (mathErr, result) = divUInt(\n principalTimesIndex,\n borrowSnapshot.interestIndex\n );\n if (mathErr != MathError.NO_ERROR) {\n return (0);\n }\n\n return (result);\n }\n\n /**\n@notice Accrue interest to updated borrowIndex and then calculate account's borrow balance using the updated borrowIndex\n@param account The address whose balance should be calculated after updating borrowIndex\n@return The calculated balance\n**/\n function borrowBalanceCurrent(address account) public returns (uint256) {\n accrueInterest();\n return borrowBalancePrior(account);\n }\n\n /**\n@notice Get a snapshot of the account's balances, and the cached exchange rate\n@dev This is used to perform liquidity checks.\n@param account Address of the account to snapshot\n@return (token balance, borrow balance, exchange rate mantissa)\n**/\n function getAccountSnapshot(address account)\n external\n returns (\n uint256,\n uint256,\n uint256\n )\n {\n uint256 tokenBalance = balanceOf(account);\n uint256 borrowBalance = borrowBalanceCurrent(account);\n uint256 exchangeRateMantissa = exchangeRateCurrent();\n return (tokenBalance, borrowBalance, exchangeRateMantissa);\n }\n\n /**\n@notice getBlockNumber allows for easy retrieval of block number\n**/\n function getBlockNumber() internal view returns (uint256) {\n return block.number;\n }\n\n /**\n@notice Returns the current per-block borrow interest rate for this ART\n@return The borrow interest rate per block, scaled by 1e18\n**/\n function borrowRatePerBlock() public view returns (uint256) {\n return\n interestRateModel.getBorrowRate(\n getCashPrior(),\n totalBorrows,\n totalReserves\n );\n }\n\n /**\n@notice Returns the current per-block supply interest rate for this ART\n@return The supply interest rate per block, scaled by 1e18\n**/\n function supplyRatePerBlock() public view returns (uint256) {\n return\n interestRateModel.getSupplyRate(\n getCashPrior(),\n totalBorrows,\n totalReserves,\n reserveFactorMantissa\n );\n }\n\n /**\n@notice getSupplyAPY roughly calculates the current APY for supplying using an average of 6500 blocks per day\n**/\n function getSupplyAPY() public view returns (uint256) {\n //multiply rate per block by blocks per year with an average of 6500 blocks a day per https://ycharts.com/indicators/ethereum_blocks_per_day\n return supplyRatePerBlock().mul(2372500);\n }\n\n /**\n@notice getSupplyAPY roughly calculates the current APY for borrowing using an average of 6500 blocks per day\n**/\n function getBorrowAPY() public view returns (uint256) {\n //multiply rate per block by blocks per year with an average of 6500 blocks a day per https://ycharts.com/indicators/ethereum_blocks_per_day\n return borrowRatePerBlock().mul(2372500);\n }\n\n /**\n@notice Returns the current total borrows plus accrued interest\n@return The total borrows with interest\n**/\n function totalBorrowsCurrent() external returns (uint256) {\n accrueInterest();\n return totalBorrows;\n }\n\n /**\n@notice return prior exchange rate for front end viewing\n@return Calculated exchange rate scaled by 1e18\n**/\n function exchangeRatePrior() public view returns (uint256) {\n if (totalSupply() == 0) {\n //If there are no tokens minted: exchangeRate = initialExchangeRate\n return initialExchangeRateMantissa;\n } else {\n //Otherwise: exchangeRate = (totalCash + totalBorrows - totalReserves) / totalSupply\n uint256 totalCash = getCashPrior(); //get contract asset balance\n uint256 cashPlusBorrowsMinusReserves;\n Exp memory exchangeRate;\n MathError mathErr;\n //calculate total value held by contract plus owed to contract\n (mathErr, cashPlusBorrowsMinusReserves) = addThenSubUInt(\n totalCash,\n totalBorrows,\n totalReserves\n );\n //calculate exchange rate\n (mathErr, exchangeRate) = getExp(\n cashPlusBorrowsMinusReserves,\n totalSupply()\n );\n return (exchangeRate.mantissa);\n }\n }\n\n /**\n@notice Accrue interest then return the up-to-date exchange rate\n@return Calculated exchange rate scaled by 1e18\n**/\n function exchangeRateCurrent() public returns (uint256) {\n accrueInterest();\n if (totalSupply() == 0) {\n //If there are no tokens minted: exchangeRate = initialExchangeRate\n return initialExchangeRateMantissa;\n } else {\n //Otherwise: exchangeRate = (totalCash + totalBorrows - totalReserves) / totalSupply\n uint256 totalCash = getCashPrior(); //get contract asset balance\n uint256 cashPlusBorrowsMinusReserves;\n Exp memory exchangeRate;\n MathError mathErr;\n //calculate total value held by contract plus owed to contract\n (mathErr, cashPlusBorrowsMinusReserves) = addThenSubUInt(\n totalCash,\n totalBorrows,\n totalReserves\n );\n //calculate exchange rate\n (mathErr, exchangeRate) = getExp(\n cashPlusBorrowsMinusReserves,\n totalSupply()\n );\n return (exchangeRate.mantissa);\n }\n }\n\n /**\n@notice Get cash balance of this cToken in the underlying asset in other contracts\n@return The quantity of underlying asset owned by this contract\n**/\n function getCash() external view returns (uint256) {\n return getCashPrior();\n }\n\n //struct used by mint to avoid stack too deep errors\n struct MintLocalVars {\n MathError mathErr;\n uint256 exchangeRateMantissa;\n uint256 mintTokens;\n }\n\n /**\n@notice mint is a modified function that only the owner of this contract(its MoneyMarketInstance) can call.\n This function allows an amount of AskoRiskToken token to be minted when called.\n@param _account is the account the AHR is being minted to\n@param _amount is the amount of stablecoin being input\n**/\n function mint(address _account, uint256 _amount) public onlyMMInstance {\n //declare struct\n MintLocalVars memory vars;\n //retrieve exchange rate\n vars.exchangeRateMantissa = exchangeRateCurrent();\n //We get the current exchange rate and calculate the number of AHR to be minted:\n //mintTokens = _amount / exchangeRate\n\n (vars.mathErr, vars.mintTokens) = divScalarByExpTruncate(\n _amount,\n Exp({mantissa: vars.exchangeRateMantissa})\n );\n _mint(_account, vars.mintTokens);\n emit Minted(_account, vars.mintTokens);\n }\n\n struct RedeemLocalVars {\n MathError mathErr;\n uint256 exchangeRateMantissa;\n uint256 redeemAmount;\n }\n\n /**\n@notice redeem allows a user to redeem their AskoRiskToken for the appropriate amount of underlying asset\n@param _amount is the amount of Asset being requested in ART exhange\n**/\n function redeem(uint256 _amount) public {\n require(_amount != 0);\n\n RedeemLocalVars memory vars;\n\n //get exchange rate\n vars.exchangeRateMantissa = exchangeRateCurrent();\n\n if (isALR) {\n uint256 USDCAmountOfAsset = UOF.getUnderlyingAssetPriceOfUSDC(\n address(asset),\n _amount\n );\n require(\n USDCAmountOfAsset <=\n MMF.checkAvailibleCollateralValue(msg.sender, address(this))\n );\n }\n\n _burn(msg.sender, convertToART(_amount));\n /**\nWe calculate the exchange rate and the amount of underlying to be redeemed:\nredeemAmount = _amount x exchangeRateCurrent\n*/\n (vars.mathErr, vars.redeemAmount) = divScalarByExpTruncate(\n _amount,\n Exp({mantissa: vars.exchangeRateMantissa})\n );\n //Fail if protocol has insufficient cash\n require(getCashPrior() >= vars.redeemAmount);\n //transfer the calculated amount of underlying asset to the msg.sender\n asset.transfer(msg.sender, vars.redeemAmount);\n emit Redeemed(msg.sender, _amount, vars.redeemAmount);\n }\n\n /**\n@notice burn is a modified function that only the owner of this contract(its MoneyMarketInstance) can call.\n This function allows an amount of AskoRiskToken token to be burned from an address when called.\n@param _account is the account the AHR is being burned from\n@param _amount is the amount of AHR being burned\n**/\n function burn(address _account, uint256 _amount) public onlyMMInstance {\n _burn(_account, _amount);\n emit Burn(_account, _amount);\n }\n\n //struct used by borrow function to avoid stack too deep errors\n struct BorrowLocalVars {\n MathError mathErr;\n uint256 accountBorrows;\n uint256 accountBorrowsNew;\n uint256 totalBorrowsNew;\n }\n\n /**\n@notice Sender borrows assets from the protocol to their own address\n@param _borrowAmount The amount of the underlying asset to borrow\n*/\n function borrow(uint256 _borrowAmount, address _borrower)\n external\n onlyMMInstance\n {\n //Fail if protocol has insufficient underlying cash\n require(getCashPrior() > _borrowAmount, \"not enough token to borrow\");\n //create local vars storage\n BorrowLocalVars memory vars;\n //calculate the new borrower and total borrow balances, failing on overflow:\n vars.accountBorrows = borrowBalanceCurrent(_borrower);\n //accountBorrowsNew = accountBorrows + borrowAmount\n (vars.mathErr, vars.accountBorrowsNew) = addUInt(\n vars.accountBorrows,\n _borrowAmount\n );\n //totalBorrowsNew = totalBorrows + borrowAmount\n (vars.mathErr, vars.totalBorrowsNew) = addUInt(\n totalBorrows,\n _borrowAmount\n );\n //We write the previously calculated values into storage\n accountBorrows[_borrower].principal = vars.accountBorrowsNew;\n accountBorrows[_borrower].interestIndex = borrowIndex;\n totalBorrows = vars.totalBorrowsNew;\n //send them their loaned asset\n asset.transfer(_borrower, _borrowAmount);\n emit Borrowed(_borrower, _borrowAmount);\n }\n\n struct RepayBorrowLocalVars {\n MathError mathErr;\n uint256 repayAmount;\n uint256 borrowerIndex;\n uint256 accountBorrows;\n uint256 accountBorrowsNew;\n uint256 totalBorrowsNew;\n }\n\n /**\n@notice Sender repays their own borrow\n@param repayAmount The amount to repay\n*/\n function repayBorrow(uint256 repayAmount, address borrower)\n external\n onlyMMInstance\n returns (uint256)\n {\n //create local vars storage\n RepayBorrowLocalVars memory vars;\n //We fetch the amount the borrower owes, with accumulated interest\n vars.accountBorrows = borrowBalanceCurrent(borrower);\n //We remember the original borrowerIndex for verification purposes\n vars.borrowerIndex = accountBorrows[borrower].interestIndex;\n //If repayAmount == 0, repayAmount = accountBorrows\n\n if (repayAmount == 0) {\n vars.repayAmount = vars.accountBorrows;\n } else {\n vars.repayAmount = repayAmount;\n }\n\n //We calculate the new borrower and total borrow balances\n\n //accountBorrowsNew = accountBorrows - actualRepayAmount\n (vars.mathErr, vars.accountBorrowsNew) = subUInt(\n vars.accountBorrows,\n vars.repayAmount\n );\n //totalBorrowsNew = totalBorrows - actualRepayAmount\n (vars.mathErr, vars.totalBorrowsNew) = subUInt(\n totalBorrows,\n vars.repayAmount\n );\n /* We write the previously calculated values into storage */\n accountBorrows[borrower].principal = vars.accountBorrowsNew;\n accountBorrows[borrower].interestIndex = vars.borrowerIndex;\n totalBorrows = vars.totalBorrowsNew;\n emit Repayed(borrower, vars.repayAmount);\n return vars.repayAmount;\n }\n\n /**\n@notice getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address\n**/\n function getAssetAdd() public view returns (address) {\n return address(asset);\n }\n\n function getUSDCWorthOfART(uint256 _amount) public returns (uint256) {\n uint256 assetValOfArt = convertFromART(_amount);\n //get asset price of USDC\n uint256 USDCAmountOfAsset = UOF.getUnderlyingPriceofAsset(\n address(asset),\n assetValOfArt\n );\n\n return USDCAmountOfAsset;\n }\n\n function viewUSDCWorthOfART(uint256 _amount) public view returns (uint256) {\n uint256 assetValOfArt = viewConvertFromART(_amount);\n //get asset price of USDC\n uint256 USDCAmountOfAsset = UOF.viewUnderlyingPriceofAsset(\n address(asset),\n assetValOfArt\n );\n //return one ART USD value\n return USDCAmountOfAsset;\n }\n\n function convertToART(uint256 _amountOfAsset) public returns (uint256) {\n //We get the current exchange rate and calculate the number of AHR to be minted:\n //mintTokens = _amount / exchangeRate\n MathError mathErr;\n uint256 artTokens;\n (mathErr, artTokens) = divScalarByExpTruncate(\n _amountOfAsset,\n Exp({mantissa: exchangeRateCurrent()})\n );\n return artTokens;\n }\n\n function viewConvertToART(uint256 _amountOfAsset)\n public\n view\n returns (uint256)\n {\n //We get the current exchange rate and calculate the number of AHR to be minted:\n //mintTokens = _amount / exchangeRate\n MathError mathErr;\n uint256 artTokens;\n (mathErr, artTokens) = divScalarByExpTruncate(\n _amountOfAsset,\n Exp({mantissa: exchangeRatePrior()})\n );\n return artTokens;\n }\n\n function convertFromART(uint256 _amountOfART) public returns (uint256) {\n //We get the current exchange rate and calculate the number of AHR to be minted:\n //mintTokens = _amount / exchangeRate\n MathError mathErr;\n uint256 artTokens;\n (mathErr, artTokens) = mulScalarTruncate(\n Exp({mantissa: exchangeRateCurrent()}),\n _amountOfART\n );\n return artTokens;\n }\n\n function viewConvertFromART(uint256 _amountOfART)\n public\n view\n returns (uint256)\n {\n //We get the current exchange rate and calculate the number of AHR to be minted:\n //mintTokens = _amount / exchangeRate\n MathError mathErr;\n uint256 artTokens;\n (mathErr, artTokens) = mulScalarTruncate(\n Exp({mantissa: exchangeRatePrior()}),\n _amountOfART\n );\n return artTokens;\n }\n\n function _liquidate(\n uint256 _liquidateValue,\n address _borrower,\n address _liquidator\n ) public {\n //require that this function can only be called by control contract\n require(msg.sender == address(MMF));\n //get asset amount of the input USDC price\n uint256 assetVal = UOF.getUnderlyingAssetPriceOfUSDC(\n address(asset),\n _liquidateValue\n );\n //get ART value of the above returned asset value\n uint256 artValue = convertToART(assetVal);\n //burn the ART from the borrower\n _burn(_borrower, artValue);\n //transfer unlocked asset to liquidator\n asset.transfer(_liquidator, assetVal);\n }\n\n function _updateInterestModel(address _newModel) public onlyOwner {\n interestRateModel = InterestRateModel(_newModel);\n }\n\n function setReserveRatio(uint256 _RR) public onlyOwner {\n reserveFactorMantissa = _RR;\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", "exportedSymbols": { "AskoRiskToken": [ 1519 @@ -1270,7 +1270,7 @@ "id": 50, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 10759, + "sourceUnit": 10762, "src": "25:60:1", "symbolAliases": [], "unitAlias": "" @@ -1281,62 +1281,62 @@ "id": 51, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 11462, + "sourceUnit": 11461, "src": "86:63:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", "id": 52, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6347, + "sourceUnit": 6350, "src": "150:36:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", "file": "./compound/InterestRateModel.sol", "id": 53, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6380, + "sourceUnit": 6383, "src": "187:42:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", "id": 54, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6793, + "sourceUnit": 6796, "src": "230:48:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "file": "./interfaces/MoneyMarketInstanceI.sol", "id": 55, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6720, + "sourceUnit": 6723, "src": "279:47:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", "id": 56, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6650, + "sourceUnit": 6653, "src": "327:46:1", "symbolAliases": [], "unitAlias": "" @@ -1351,10 +1351,10 @@ "id": 58, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10758, + "referencedDeclaration": 10761, "src": "949:7:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10758", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, @@ -1369,10 +1369,10 @@ "id": 60, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11461, + "referencedDeclaration": 11460, "src": "958:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11461", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, @@ -1387,10 +1387,10 @@ "id": 62, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6346, + "referencedDeclaration": 6349, "src": "965:11:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6346", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, @@ -1400,12 +1400,12 @@ } ], "contractDependencies": [ - 5161, - 6346, - 10649, - 10758, - 11461, - 11539 + 5164, + 6349, + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { @@ -1418,12 +1418,12 @@ "id": 1519, "linearizedBaseContracts": [ 1519, - 6346, - 5161, - 11461, - 11539, - 10758, - 10649 + 6349, + 5164, + 11460, + 11538, + 10761, + 10652 ], "name": "AskoRiskToken", "nodeType": "ContractDefinition", @@ -1435,10 +1435,10 @@ "id": 64, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10954, + "referencedDeclaration": 10957, "src": "989:8:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10954", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, @@ -1808,7 +1808,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" }, "typeName": { @@ -1816,10 +1816,10 @@ "id": 90, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11539, + "referencedDeclaration": 11538, "src": "1430:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -1839,7 +1839,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" }, "typeName": { @@ -1847,10 +1847,10 @@ "id": 92, "name": "InterestRateModel", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "1455:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -1870,7 +1870,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -1878,10 +1878,10 @@ "id": 94, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "1503:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -1901,7 +1901,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { @@ -1909,10 +1909,10 @@ "id": 96, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "1540:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -1932,7 +1932,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { @@ -1940,10 +1940,10 @@ "id": 98, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "1576:21:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -2177,7 +2177,7 @@ "referencedDeclaration": 95, "src": "2306:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -2185,7 +2185,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -3107,7 +3107,7 @@ "referencedDeclaration": 91, "src": "4458:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -3141,10 +3141,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11539, + "referencedDeclaration": 11538, "src": "4466:6:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$11539_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$11538_$", "typeString": "type(contract IERC20)" } }, @@ -3159,13 +3159,13 @@ "src": "4466:14:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, "src": "4458:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -3190,7 +3190,7 @@ "referencedDeclaration": 95, "src": "4550:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -3224,10 +3224,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "4556:20:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -3242,13 +3242,13 @@ "src": "4556:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "src": "4550:48:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -3273,7 +3273,7 @@ "referencedDeclaration": 93, "src": "4667:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -3307,10 +3307,10 @@ "name": "InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "4687:17:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6379_$", + "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6382_$", "typeString": "type(contract InterestRateModel)" } }, @@ -3325,13 +3325,13 @@ "src": "4687:37:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, "src": "4667:57:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -3356,7 +3356,7 @@ "referencedDeclaration": 99, "src": "4802:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -3390,10 +3390,10 @@ "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "4808:21:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6792_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, @@ -3408,13 +3408,13 @@ "src": "4808:37:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "4802:43:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -3439,7 +3439,7 @@ "referencedDeclaration": 97, "src": "4908:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -3473,10 +3473,10 @@ "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "4914:19:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6649_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, @@ -3491,13 +3491,13 @@ "src": "4914:40:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "4908:46:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -3690,7 +3690,7 @@ "name": "mantissaOne", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5184, "src": "5239:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3806,10 +3806,10 @@ "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11461, + "referencedDeclaration": 11460, "src": "4416:5:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11461_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -4098,7 +4098,7 @@ }, { "baseFunctions": [ - 11082 + 11081 ], "body": { "id": 295, @@ -4516,7 +4516,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -4524,10 +4524,10 @@ "id": 304, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6034:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4582,10 +4582,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6060:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -4602,7 +4602,7 @@ "src": "6060:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -4627,7 +4627,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -4635,10 +4635,10 @@ "id": 311, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6109:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4687,7 +4687,7 @@ "referencedDeclaration": 305, "src": "6175:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -4719,7 +4719,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "6201:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -4745,7 +4745,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -4757,10 +4757,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "6144:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -4775,7 +4775,7 @@ "src": "6144:83:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -4789,7 +4789,7 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 326, @@ -4806,7 +4806,7 @@ "referencedDeclaration": 312, "src": "6245:4:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4820,10 +4820,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6253:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -4837,7 +4837,7 @@ "referencedDeclaration": null, "src": "6253:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5023,7 +5023,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -5031,10 +5031,10 @@ "id": 340, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6588:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -5089,10 +5089,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6614:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -5109,7 +5109,7 @@ "src": "6614:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -5134,7 +5134,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -5142,10 +5142,10 @@ "id": 347, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6661:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5194,7 +5194,7 @@ "referencedDeclaration": 341, "src": "6727:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -5226,7 +5226,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "6753:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -5252,7 +5252,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -5264,10 +5264,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "6696:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -5282,7 +5282,7 @@ "src": "6696:83:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -5296,7 +5296,7 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 362, @@ -5313,7 +5313,7 @@ "referencedDeclaration": 348, "src": "6797:4:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5327,10 +5327,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6805:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -5344,7 +5344,7 @@ "referencedDeclaration": null, "src": "6805:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5595,7 +5595,7 @@ "referencedDeclaration": 91, "src": "7040:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -5606,7 +5606,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 11478, + "referencedDeclaration": 11477, "src": "7040:15:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -6312,7 +6312,7 @@ "referencedDeclaration": 93, "src": "7932:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -6323,7 +6323,7 @@ "lValueRequested": false, "memberName": "getBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6364, + "referencedDeclaration": 6367, "src": "7932:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -6456,7 +6456,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -6464,10 +6464,10 @@ "id": 431, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "8223:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6549,10 +6549,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "8264:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -6567,7 +6567,7 @@ "src": "8264:98:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -6591,7 +6591,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -6599,10 +6599,10 @@ "id": 440, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "8470:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6791,7 +6791,7 @@ "referencedDeclaration": 432, "src": "8729:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6804,7 +6804,7 @@ "referencedDeclaration": 441, "src": "8738:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -6818,7 +6818,7 @@ "nodeType": "TupleExpression", "src": "8728:31:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -6855,10 +6855,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "8789:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -6875,7 +6875,7 @@ "src": "8789:35:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -6896,7 +6896,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -6908,10 +6908,10 @@ "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5351, + "referencedDeclaration": 5354, "src": "8762:9:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -6926,7 +6926,7 @@ "src": "8762:104:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -6960,7 +6960,7 @@ "referencedDeclaration": 432, "src": "8953:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6987,7 +6987,7 @@ "nodeType": "TupleExpression", "src": "8952:30:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7005,7 +7005,7 @@ "referencedDeclaration": 441, "src": "9020:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -7026,7 +7026,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -7038,10 +7038,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "8985:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -7056,7 +7056,7 @@ "src": "8985:99:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7090,7 +7090,7 @@ "referencedDeclaration": 432, "src": "9166:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7117,7 +7117,7 @@ "nodeType": "TupleExpression", "src": "9165:26:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7168,10 +7168,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "9194:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -7186,7 +7186,7 @@ "src": "9194:88:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7220,7 +7220,7 @@ "referencedDeclaration": 432, "src": "9382:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7247,7 +7247,7 @@ "nodeType": "TupleExpression", "src": "9381:27:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7284,10 +7284,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "9453:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -7304,7 +7304,7 @@ "src": "9453:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -7338,7 +7338,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -7354,10 +7354,10 @@ "name": "mulScalarTruncateAddUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5431, + "referencedDeclaration": 5434, "src": "9411:24:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -7372,7 +7372,7 @@ "src": "9411:162:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7406,7 +7406,7 @@ "referencedDeclaration": 432, "src": "9668:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7433,7 +7433,7 @@ "nodeType": "TupleExpression", "src": "9667:25:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7451,7 +7451,7 @@ "referencedDeclaration": 441, "src": "9737:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -7485,7 +7485,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -7501,10 +7501,10 @@ "name": "mulScalarTruncateAddUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5431, + "referencedDeclaration": 5434, "src": "9695:24:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -7519,7 +7519,7 @@ "src": "9695:144:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -7883,7 +7883,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -7891,10 +7891,10 @@ "id": 548, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "10781:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8205,7 +8205,7 @@ "referencedDeclaration": 549, "src": "11405:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8232,7 +8232,7 @@ "nodeType": "TupleExpression", "src": "11404:30:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -8299,10 +8299,10 @@ "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5025, + "referencedDeclaration": 5028, "src": "11437:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -8317,7 +8317,7 @@ "src": "11437:80:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -8335,7 +8335,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 585, @@ -8352,7 +8352,7 @@ "referencedDeclaration": 549, "src": "11531:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8366,10 +8366,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "11542:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -8383,7 +8383,7 @@ "referencedDeclaration": null, "src": "11542:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8466,7 +8466,7 @@ "referencedDeclaration": 549, "src": "11608:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8493,7 +8493,7 @@ "nodeType": "TupleExpression", "src": "11607:17:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -8560,10 +8560,10 @@ "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5055, + "referencedDeclaration": 5058, "src": "11627:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -8578,7 +8578,7 @@ "src": "11627:92:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -8596,7 +8596,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 604, @@ -8613,7 +8613,7 @@ "referencedDeclaration": 549, "src": "11733:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -8627,10 +8627,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "11744:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -8644,7 +8644,7 @@ "referencedDeclaration": null, "src": "11744:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -9096,7 +9096,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "12686:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -9684,7 +9684,7 @@ "referencedDeclaration": 93, "src": "13319:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -9695,7 +9695,7 @@ "lValueRequested": false, "memberName": "getBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6364, + "referencedDeclaration": 6367, "src": "13319:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -9894,7 +9894,7 @@ "referencedDeclaration": 93, "src": "13702:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -9905,7 +9905,7 @@ "lValueRequested": false, "memberName": "getSupplyRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6378, + "referencedDeclaration": 6381, "src": "13702:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -10069,7 +10069,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10867, + "referencedDeclaration": 10870, "src": "14234:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -10233,7 +10233,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10867, + "referencedDeclaration": 10870, "src": "14622:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -10474,7 +10474,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "15100:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -10652,7 +10652,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -10660,10 +10660,10 @@ "id": 765, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "15503:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -10693,7 +10693,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -10701,10 +10701,10 @@ "id": 768, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "15540:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -10737,7 +10737,7 @@ "referencedDeclaration": 769, "src": "15647:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -10764,7 +10764,7 @@ "nodeType": "TupleExpression", "src": "15646:39:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -10832,10 +10832,10 @@ "name": "addThenSubUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, + "referencedDeclaration": 5163, "src": "15688:14:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -10850,7 +10850,7 @@ "src": "15688:116:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -10884,7 +10884,7 @@ "referencedDeclaration": 769, "src": "15857:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -10897,7 +10897,7 @@ "referencedDeclaration": 766, "src": "15866:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -10911,7 +10911,7 @@ "nodeType": "TupleExpression", "src": "15856:23:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -10942,7 +10942,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "15952:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -10980,10 +10980,10 @@ "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5249, + "referencedDeclaration": 5252, "src": "15882:6:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -10998,7 +10998,7 @@ "src": "15882:97:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -11027,7 +11027,7 @@ "referencedDeclaration": 766, "src": "16001:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -11038,7 +11038,7 @@ "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5183, + "referencedDeclaration": 5186, "src": "16001:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11222,7 +11222,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "16267:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -11400,7 +11400,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -11408,10 +11408,10 @@ "id": 822, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "16670:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -11441,7 +11441,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -11449,10 +11449,10 @@ "id": 825, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "16707:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -11485,7 +11485,7 @@ "referencedDeclaration": 826, "src": "16814:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -11512,7 +11512,7 @@ "nodeType": "TupleExpression", "src": "16813:39:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -11580,10 +11580,10 @@ "name": "addThenSubUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, + "referencedDeclaration": 5163, "src": "16855:14:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -11598,7 +11598,7 @@ "src": "16855:116:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -11632,7 +11632,7 @@ "referencedDeclaration": 826, "src": "17024:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -11645,7 +11645,7 @@ "referencedDeclaration": 823, "src": "17033:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -11659,7 +11659,7 @@ "nodeType": "TupleExpression", "src": "17023:23:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -11690,7 +11690,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "17119:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -11728,10 +11728,10 @@ "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5249, + "referencedDeclaration": 5252, "src": "17049:6:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -11746,7 +11746,7 @@ "src": "17049:97:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -11775,7 +11775,7 @@ "referencedDeclaration": 823, "src": "17168:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -11786,7 +11786,7 @@ "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5183, + "referencedDeclaration": 5186, "src": "17168:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12029,7 +12029,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -12037,10 +12037,10 @@ "id": 866, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "17555:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -12273,7 +12273,7 @@ "referencedDeclaration": 867, "src": "18342:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -12316,7 +12316,7 @@ "nodeType": "TupleExpression", "src": "18341:31:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -12382,10 +12382,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "18432:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -12402,7 +12402,7 @@ "src": "18432:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -12414,7 +12414,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -12422,10 +12422,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "18375:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -12440,7 +12440,7 @@ "src": "18375:109:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -12516,7 +12516,7 @@ "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11337, + "referencedDeclaration": 11336, "src": "18494:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -12758,7 +12758,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -12766,10 +12766,10 @@ "id": 921, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "18620:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -13134,7 +13134,7 @@ "referencedDeclaration": 91, "src": "19225:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -13142,7 +13142,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -13217,7 +13217,7 @@ "referencedDeclaration": 99, "src": "19166:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -13228,7 +13228,7 @@ "lValueRequested": false, "memberName": "getUnderlyingAssetPriceOfUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 6760, + "referencedDeclaration": 6763, "src": "19166:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -13397,7 +13397,7 @@ "referencedDeclaration": 97, "src": "19350:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -13408,7 +13408,7 @@ "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6603, + "referencedDeclaration": 6606, "src": "19350:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", @@ -13579,7 +13579,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "19445:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -13641,7 +13641,7 @@ "referencedDeclaration": 922, "src": "19632:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -13684,7 +13684,7 @@ "nodeType": "TupleExpression", "src": "19631:33:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -13750,10 +13750,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "19724:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -13770,7 +13770,7 @@ "src": "19724:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -13782,7 +13782,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -13790,10 +13790,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "19667:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -13808,7 +13808,7 @@ "src": "19667:109:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -14029,7 +14029,7 @@ "referencedDeclaration": 91, "src": "19968:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -14040,7 +14040,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "19968:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -14302,7 +14302,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "20503:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -14528,7 +14528,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -14536,10 +14536,10 @@ "id": 1048, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "20679:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -14949,7 +14949,7 @@ "referencedDeclaration": 1049, "src": "21488:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -14992,7 +14992,7 @@ "nodeType": "TupleExpression", "src": "21487:38:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -15059,10 +15059,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "21528:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -15077,7 +15077,7 @@ "src": "21528:77:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -15127,7 +15127,7 @@ "referencedDeclaration": 1049, "src": "21672:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -15170,7 +15170,7 @@ "nodeType": "TupleExpression", "src": "21671:36:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -15221,10 +15221,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "21710:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -15239,7 +15239,7 @@ "src": "21710:70:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -15560,7 +15560,7 @@ "referencedDeclaration": 91, "src": "22072:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -15571,7 +15571,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "22072:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -15797,7 +15797,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -15805,10 +15805,10 @@ "id": 1144, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "22212:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -16458,7 +16458,7 @@ "referencedDeclaration": 1145, "src": "23340:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -16501,7 +16501,7 @@ "nodeType": "TupleExpression", "src": "23339:38:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -16584,10 +16584,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "23380:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -16602,7 +16602,7 @@ "src": "23380:80:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -16652,7 +16652,7 @@ "referencedDeclaration": 1145, "src": "23532:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -16695,7 +16695,7 @@ "nodeType": "TupleExpression", "src": "23531:36:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -16762,10 +16762,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "23570:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -16780,7 +16780,7 @@ "src": "23570:73:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -17349,7 +17349,7 @@ "referencedDeclaration": 91, "src": "24173:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -17357,7 +17357,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -17611,7 +17611,7 @@ "referencedDeclaration": 91, "src": "24441:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -17619,7 +17619,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -17694,7 +17694,7 @@ "referencedDeclaration": 99, "src": "24390:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -17705,7 +17705,7 @@ "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6740, + "referencedDeclaration": 6743, "src": "24390:29:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -17980,7 +17980,7 @@ "referencedDeclaration": 91, "src": "24792:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -17988,7 +17988,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -18063,7 +18063,7 @@ "referencedDeclaration": 99, "src": "24740:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -18074,7 +18074,7 @@ "lValueRequested": false, "memberName": "viewUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6750, + "referencedDeclaration": 6753, "src": "24740:30:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -18228,7 +18228,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -18236,10 +18236,10 @@ "id": 1338, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "25133:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18311,7 +18311,7 @@ "referencedDeclaration": 1339, "src": "25188:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18338,7 +18338,7 @@ "nodeType": "TupleExpression", "src": "25187:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18406,10 +18406,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "25274:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -18426,7 +18426,7 @@ "src": "25274:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -18438,7 +18438,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -18446,10 +18446,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "25210:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -18464,7 +18464,7 @@ "src": "25210:112:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18607,7 +18607,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -18615,10 +18615,10 @@ "id": 1366, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "25614:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18690,7 +18690,7 @@ "referencedDeclaration": 1367, "src": "25669:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18717,7 +18717,7 @@ "nodeType": "TupleExpression", "src": "25668:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18785,10 +18785,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "25755:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -18805,7 +18805,7 @@ "src": "25755:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -18817,7 +18817,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -18825,10 +18825,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "25691:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -18843,7 +18843,7 @@ "src": "25691:110:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18986,7 +18986,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -18994,10 +18994,10 @@ "id": 1394, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "26056:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19069,7 +19069,7 @@ "referencedDeclaration": 1395, "src": "26111:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19096,7 +19096,7 @@ "nodeType": "TupleExpression", "src": "26110:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -19151,10 +19151,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "26164:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -19171,7 +19171,7 @@ "src": "26164:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -19192,7 +19192,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -19204,10 +19204,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "26133:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -19222,7 +19222,7 @@ "src": "26133:105:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -19365,7 +19365,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -19373,10 +19373,10 @@ "id": 1422, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "26530:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19448,7 +19448,7 @@ "referencedDeclaration": 1423, "src": "26585:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19475,7 +19475,7 @@ "nodeType": "TupleExpression", "src": "26584:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -19530,10 +19530,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "26638:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -19550,7 +19550,7 @@ "src": "26638:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -19571,7 +19571,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -19583,10 +19583,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "26607:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -19601,7 +19601,7 @@ "src": "26607:103:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -19785,7 +19785,7 @@ "referencedDeclaration": 97, "src": "26987:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -19793,7 +19793,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], @@ -19931,7 +19931,7 @@ "referencedDeclaration": 91, "src": "27127:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -19939,7 +19939,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -20014,7 +20014,7 @@ "referencedDeclaration": 99, "src": "27072:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -20025,7 +20025,7 @@ "lValueRequested": false, "memberName": "getUnderlyingAssetPriceOfUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 6760, + "referencedDeclaration": 6763, "src": "27072:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -20184,7 +20184,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "27332:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -20261,7 +20261,7 @@ "referencedDeclaration": 91, "src": "27416:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -20272,7 +20272,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "27416:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20437,7 +20437,7 @@ "referencedDeclaration": 93, "src": "27542:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -20471,10 +20471,10 @@ "name": "InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "27562:17:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6379_$", + "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6382_$", "typeString": "type(contract InterestRateModel)" } }, @@ -20489,13 +20489,13 @@ "src": "27562:28:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, "src": "27542:48:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -20520,7 +20520,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "27522:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -20651,7 +20651,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "27648:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -20720,7 +20720,7 @@ "src": "0:27705:1" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/AskoRiskToken.sol", "exportedSymbols": { "AskoRiskToken": [ 1519 @@ -20746,7 +20746,7 @@ "id": 50, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 10759, + "sourceUnit": 10762, "src": "25:60:1", "symbolAliases": [], "unitAlias": "" @@ -20757,62 +20757,62 @@ "id": 51, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 11462, + "sourceUnit": 11461, "src": "86:63:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", "id": 52, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6347, + "sourceUnit": 6350, "src": "150:36:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", "file": "./compound/InterestRateModel.sol", "id": 53, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6380, + "sourceUnit": 6383, "src": "187:42:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", "id": 54, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6793, + "sourceUnit": 6796, "src": "230:48:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "file": "./interfaces/MoneyMarketInstanceI.sol", "id": 55, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6720, + "sourceUnit": 6723, "src": "279:47:1", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", "id": 56, "nodeType": "ImportDirective", "scope": 1520, - "sourceUnit": 6650, + "sourceUnit": 6653, "src": "327:46:1", "symbolAliases": [], "unitAlias": "" @@ -20827,10 +20827,10 @@ "id": 58, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10758, + "referencedDeclaration": 10761, "src": "949:7:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10758", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, @@ -20845,10 +20845,10 @@ "id": 60, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11461, + "referencedDeclaration": 11460, "src": "958:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11461", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, @@ -20863,10 +20863,10 @@ "id": 62, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6346, + "referencedDeclaration": 6349, "src": "965:11:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6346", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, @@ -20876,12 +20876,12 @@ } ], "contractDependencies": [ - 5161, - 6346, - 10649, - 10758, - 11461, - 11539 + 5164, + 6349, + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { @@ -20894,12 +20894,12 @@ "id": 1519, "linearizedBaseContracts": [ 1519, - 6346, - 5161, - 11461, - 11539, - 10758, - 10649 + 6349, + 5164, + 11460, + 11538, + 10761, + 10652 ], "name": "AskoRiskToken", "nodeType": "ContractDefinition", @@ -20911,10 +20911,10 @@ "id": 64, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10954, + "referencedDeclaration": 10957, "src": "989:8:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10954", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, @@ -21284,7 +21284,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" }, "typeName": { @@ -21292,10 +21292,10 @@ "id": 90, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11539, + "referencedDeclaration": 11538, "src": "1430:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -21315,7 +21315,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" }, "typeName": { @@ -21323,10 +21323,10 @@ "id": 92, "name": "InterestRateModel", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "1455:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -21346,7 +21346,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -21354,10 +21354,10 @@ "id": 94, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "1503:20:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -21377,7 +21377,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { @@ -21385,10 +21385,10 @@ "id": 96, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "1540:19:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -21408,7 +21408,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { @@ -21416,10 +21416,10 @@ "id": 98, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "1576:21:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -21653,7 +21653,7 @@ "referencedDeclaration": 95, "src": "2306:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -21661,7 +21661,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -22583,7 +22583,7 @@ "referencedDeclaration": 91, "src": "4458:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -22617,10 +22617,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11539, + "referencedDeclaration": 11538, "src": "4466:6:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$11539_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$11538_$", "typeString": "type(contract IERC20)" } }, @@ -22635,13 +22635,13 @@ "src": "4466:14:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, "src": "4458:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -22666,7 +22666,7 @@ "referencedDeclaration": 95, "src": "4550:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -22700,10 +22700,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "4556:20:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -22718,13 +22718,13 @@ "src": "4556:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "src": "4550:48:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -22749,7 +22749,7 @@ "referencedDeclaration": 93, "src": "4667:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -22783,10 +22783,10 @@ "name": "InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "4687:17:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6379_$", + "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6382_$", "typeString": "type(contract InterestRateModel)" } }, @@ -22801,13 +22801,13 @@ "src": "4687:37:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, "src": "4667:57:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -22832,7 +22832,7 @@ "referencedDeclaration": 99, "src": "4802:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -22866,10 +22866,10 @@ "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "4808:21:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6792_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, @@ -22884,13 +22884,13 @@ "src": "4808:37:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "4802:43:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -22915,7 +22915,7 @@ "referencedDeclaration": 97, "src": "4908:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -22949,10 +22949,10 @@ "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "4914:19:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6649_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, @@ -22967,13 +22967,13 @@ "src": "4914:40:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "4908:46:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -23166,7 +23166,7 @@ "name": "mantissaOne", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5181, + "referencedDeclaration": 5184, "src": "5239:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23282,10 +23282,10 @@ "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11461, + "referencedDeclaration": 11460, "src": "4416:5:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11461_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -23574,7 +23574,7 @@ }, { "baseFunctions": [ - 11082 + 11081 ], "body": { "id": 295, @@ -23992,7 +23992,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -24000,10 +24000,10 @@ "id": 304, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6034:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24058,10 +24058,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6060:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -24078,7 +24078,7 @@ "src": "6060:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -24103,7 +24103,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -24111,10 +24111,10 @@ "id": 311, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6109:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24163,7 +24163,7 @@ "referencedDeclaration": 305, "src": "6175:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -24195,7 +24195,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "6201:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -24221,7 +24221,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -24233,10 +24233,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "6144:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -24251,7 +24251,7 @@ "src": "6144:83:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -24265,7 +24265,7 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 326, @@ -24282,7 +24282,7 @@ "referencedDeclaration": 312, "src": "6245:4:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24296,10 +24296,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6253:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -24313,7 +24313,7 @@ "referencedDeclaration": null, "src": "6253:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24499,7 +24499,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -24507,10 +24507,10 @@ "id": 340, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6588:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24565,10 +24565,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "6614:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -24585,7 +24585,7 @@ "src": "6614:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -24610,7 +24610,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -24618,10 +24618,10 @@ "id": 347, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6661:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24670,7 +24670,7 @@ "referencedDeclaration": 341, "src": "6727:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -24702,7 +24702,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "6753:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -24728,7 +24728,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -24740,10 +24740,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "6696:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -24758,7 +24758,7 @@ "src": "6696:83:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -24772,7 +24772,7 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 362, @@ -24789,7 +24789,7 @@ "referencedDeclaration": 348, "src": "6797:4:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24803,10 +24803,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "6805:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -24820,7 +24820,7 @@ "referencedDeclaration": null, "src": "6805:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -25071,7 +25071,7 @@ "referencedDeclaration": 91, "src": "7040:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -25082,7 +25082,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 11478, + "referencedDeclaration": 11477, "src": "7040:15:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -25788,7 +25788,7 @@ "referencedDeclaration": 93, "src": "7932:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -25799,7 +25799,7 @@ "lValueRequested": false, "memberName": "getBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6364, + "referencedDeclaration": 6367, "src": "7932:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -25932,7 +25932,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -25940,10 +25940,10 @@ "id": 431, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "8223:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26025,10 +26025,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "8264:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -26043,7 +26043,7 @@ "src": "8264:98:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26067,7 +26067,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -26075,10 +26075,10 @@ "id": 440, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "8470:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -26267,7 +26267,7 @@ "referencedDeclaration": 432, "src": "8729:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26280,7 +26280,7 @@ "referencedDeclaration": 441, "src": "8738:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -26294,7 +26294,7 @@ "nodeType": "TupleExpression", "src": "8728:31:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -26331,10 +26331,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "8789:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -26351,7 +26351,7 @@ "src": "8789:35:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -26372,7 +26372,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -26384,10 +26384,10 @@ "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5351, + "referencedDeclaration": 5354, "src": "8762:9:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -26402,7 +26402,7 @@ "src": "8762:104:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -26436,7 +26436,7 @@ "referencedDeclaration": 432, "src": "8953:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26463,7 +26463,7 @@ "nodeType": "TupleExpression", "src": "8952:30:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26481,7 +26481,7 @@ "referencedDeclaration": 441, "src": "9020:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -26502,7 +26502,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -26514,10 +26514,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "8985:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -26532,7 +26532,7 @@ "src": "8985:99:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26566,7 +26566,7 @@ "referencedDeclaration": 432, "src": "9166:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26593,7 +26593,7 @@ "nodeType": "TupleExpression", "src": "9165:26:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26644,10 +26644,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "9194:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -26662,7 +26662,7 @@ "src": "9194:88:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26696,7 +26696,7 @@ "referencedDeclaration": 432, "src": "9382:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26723,7 +26723,7 @@ "nodeType": "TupleExpression", "src": "9381:27:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26760,10 +26760,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "9453:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -26780,7 +26780,7 @@ "src": "9453:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -26814,7 +26814,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -26830,10 +26830,10 @@ "name": "mulScalarTruncateAddUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5431, + "referencedDeclaration": 5434, "src": "9411:24:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -26848,7 +26848,7 @@ "src": "9411:162:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26882,7 +26882,7 @@ "referencedDeclaration": 432, "src": "9668:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -26909,7 +26909,7 @@ "nodeType": "TupleExpression", "src": "9667:25:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -26927,7 +26927,7 @@ "referencedDeclaration": 441, "src": "9737:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -26961,7 +26961,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -26977,10 +26977,10 @@ "name": "mulScalarTruncateAddUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5431, + "referencedDeclaration": 5434, "src": "9695:24:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -26995,7 +26995,7 @@ "src": "9695:144:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -27359,7 +27359,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -27367,10 +27367,10 @@ "id": 548, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "10781:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -27681,7 +27681,7 @@ "referencedDeclaration": 549, "src": "11405:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -27708,7 +27708,7 @@ "nodeType": "TupleExpression", "src": "11404:30:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -27775,10 +27775,10 @@ "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5025, + "referencedDeclaration": 5028, "src": "11437:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -27793,7 +27793,7 @@ "src": "11437:80:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -27811,7 +27811,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 585, @@ -27828,7 +27828,7 @@ "referencedDeclaration": 549, "src": "11531:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -27842,10 +27842,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "11542:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -27859,7 +27859,7 @@ "referencedDeclaration": null, "src": "11542:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -27942,7 +27942,7 @@ "referencedDeclaration": 549, "src": "11608:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -27969,7 +27969,7 @@ "nodeType": "TupleExpression", "src": "11607:17:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -28036,10 +28036,10 @@ "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5055, + "referencedDeclaration": 5058, "src": "11627:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -28054,7 +28054,7 @@ "src": "11627:92:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -28072,7 +28072,7 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "id": 604, @@ -28089,7 +28089,7 @@ "referencedDeclaration": 549, "src": "11733:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -28103,10 +28103,10 @@ "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "11744:9:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4978_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, @@ -28120,7 +28120,7 @@ "referencedDeclaration": null, "src": "11744:18:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -28572,7 +28572,7 @@ "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, + "referencedDeclaration": 11060, "src": "12686:9:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", @@ -29160,7 +29160,7 @@ "referencedDeclaration": 93, "src": "13319:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -29171,7 +29171,7 @@ "lValueRequested": false, "memberName": "getBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6364, + "referencedDeclaration": 6367, "src": "13319:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -29370,7 +29370,7 @@ "referencedDeclaration": 93, "src": "13702:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -29381,7 +29381,7 @@ "lValueRequested": false, "memberName": "getSupplyRate", "nodeType": "MemberAccess", - "referencedDeclaration": 6378, + "referencedDeclaration": 6381, "src": "13702:31:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", @@ -29545,7 +29545,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10867, + "referencedDeclaration": 10870, "src": "14234:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -29709,7 +29709,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10867, + "referencedDeclaration": 10870, "src": "14622:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -29950,7 +29950,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "15100:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -30128,7 +30128,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -30136,10 +30136,10 @@ "id": 765, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "15503:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30169,7 +30169,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -30177,10 +30177,10 @@ "id": 768, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "15540:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -30213,7 +30213,7 @@ "referencedDeclaration": 769, "src": "15647:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -30240,7 +30240,7 @@ "nodeType": "TupleExpression", "src": "15646:39:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -30308,10 +30308,10 @@ "name": "addThenSubUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, + "referencedDeclaration": 5163, "src": "15688:14:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -30326,7 +30326,7 @@ "src": "15688:116:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -30360,7 +30360,7 @@ "referencedDeclaration": 769, "src": "15857:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -30373,7 +30373,7 @@ "referencedDeclaration": 766, "src": "15866:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -30387,7 +30387,7 @@ "nodeType": "TupleExpression", "src": "15856:23:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -30418,7 +30418,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "15952:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -30456,10 +30456,10 @@ "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5249, + "referencedDeclaration": 5252, "src": "15882:6:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -30474,7 +30474,7 @@ "src": "15882:97:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -30503,7 +30503,7 @@ "referencedDeclaration": 766, "src": "16001:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -30514,7 +30514,7 @@ "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5183, + "referencedDeclaration": 5186, "src": "16001:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30698,7 +30698,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "16267:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -30876,7 +30876,7 @@ "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { @@ -30884,10 +30884,10 @@ "id": 822, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "16670:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30917,7 +30917,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -30925,10 +30925,10 @@ "id": 825, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "16707:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -30961,7 +30961,7 @@ "referencedDeclaration": 826, "src": "16814:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -30988,7 +30988,7 @@ "nodeType": "TupleExpression", "src": "16813:39:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -31056,10 +31056,10 @@ "name": "addThenSubUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5160, + "referencedDeclaration": 5163, "src": "16855:14:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -31074,7 +31074,7 @@ "src": "16855:116:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -31108,7 +31108,7 @@ "referencedDeclaration": 826, "src": "17024:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -31121,7 +31121,7 @@ "referencedDeclaration": 823, "src": "17033:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -31135,7 +31135,7 @@ "nodeType": "TupleExpression", "src": "17023:23:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -31166,7 +31166,7 @@ "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11047, + "referencedDeclaration": 11046, "src": "17119:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", @@ -31204,10 +31204,10 @@ "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5249, + "referencedDeclaration": 5252, "src": "17049:6:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -31222,7 +31222,7 @@ "src": "17049:97:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_struct$_Exp_$5184_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -31251,7 +31251,7 @@ "referencedDeclaration": 823, "src": "17168:12:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -31262,7 +31262,7 @@ "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5183, + "referencedDeclaration": 5186, "src": "17168:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31505,7 +31505,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -31513,10 +31513,10 @@ "id": 866, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "17555:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -31749,7 +31749,7 @@ "referencedDeclaration": 867, "src": "18342:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -31792,7 +31792,7 @@ "nodeType": "TupleExpression", "src": "18341:31:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -31858,10 +31858,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "18432:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -31878,7 +31878,7 @@ "src": "18432:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -31890,7 +31890,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -31898,10 +31898,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "18375:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -31916,7 +31916,7 @@ "src": "18375:109:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -31992,7 +31992,7 @@ "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11337, + "referencedDeclaration": 11336, "src": "18494:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -32234,7 +32234,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -32242,10 +32242,10 @@ "id": 921, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "18620:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -32610,7 +32610,7 @@ "referencedDeclaration": 91, "src": "19225:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -32618,7 +32618,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -32693,7 +32693,7 @@ "referencedDeclaration": 99, "src": "19166:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -32704,7 +32704,7 @@ "lValueRequested": false, "memberName": "getUnderlyingAssetPriceOfUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 6760, + "referencedDeclaration": 6763, "src": "19166:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -32873,7 +32873,7 @@ "referencedDeclaration": 97, "src": "19350:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -32884,7 +32884,7 @@ "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6603, + "referencedDeclaration": 6606, "src": "19350:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", @@ -33055,7 +33055,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "19445:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -33117,7 +33117,7 @@ "referencedDeclaration": 922, "src": "19632:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -33160,7 +33160,7 @@ "nodeType": "TupleExpression", "src": "19631:33:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -33226,10 +33226,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "19724:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -33246,7 +33246,7 @@ "src": "19724:42:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -33258,7 +33258,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -33266,10 +33266,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "19667:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -33284,7 +33284,7 @@ "src": "19667:109:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -33505,7 +33505,7 @@ "referencedDeclaration": 91, "src": "19968:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -33516,7 +33516,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "19968:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -33778,7 +33778,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "20503:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -34004,7 +34004,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -34012,10 +34012,10 @@ "id": 1048, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "20679:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -34425,7 +34425,7 @@ "referencedDeclaration": 1049, "src": "21488:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -34468,7 +34468,7 @@ "nodeType": "TupleExpression", "src": "21487:38:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -34535,10 +34535,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "21528:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -34553,7 +34553,7 @@ "src": "21528:77:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -34603,7 +34603,7 @@ "referencedDeclaration": 1049, "src": "21672:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -34646,7 +34646,7 @@ "nodeType": "TupleExpression", "src": "21671:36:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -34697,10 +34697,10 @@ "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5121, + "referencedDeclaration": 5124, "src": "21710:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -34715,7 +34715,7 @@ "src": "21710:70:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -35036,7 +35036,7 @@ "referencedDeclaration": 91, "src": "22072:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -35047,7 +35047,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "22072:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -35273,7 +35273,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -35281,10 +35281,10 @@ "id": 1144, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "22212:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -35934,7 +35934,7 @@ "referencedDeclaration": 1145, "src": "23340:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -35977,7 +35977,7 @@ "nodeType": "TupleExpression", "src": "23339:38:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -36060,10 +36060,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "23380:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -36078,7 +36078,7 @@ "src": "23380:80:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -36128,7 +36128,7 @@ "referencedDeclaration": 1145, "src": "23532:12:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -36171,7 +36171,7 @@ "nodeType": "TupleExpression", "src": "23531:36:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -36238,10 +36238,10 @@ "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5086, + "referencedDeclaration": 5089, "src": "23570:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -36256,7 +36256,7 @@ "src": "23570:73:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -36825,7 +36825,7 @@ "referencedDeclaration": 91, "src": "24173:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -36833,7 +36833,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -37087,7 +37087,7 @@ "referencedDeclaration": 91, "src": "24441:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -37095,7 +37095,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -37170,7 +37170,7 @@ "referencedDeclaration": 99, "src": "24390:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -37181,7 +37181,7 @@ "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6740, + "referencedDeclaration": 6743, "src": "24390:29:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -37456,7 +37456,7 @@ "referencedDeclaration": 91, "src": "24792:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -37464,7 +37464,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -37539,7 +37539,7 @@ "referencedDeclaration": 99, "src": "24740:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -37550,7 +37550,7 @@ "lValueRequested": false, "memberName": "viewUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6750, + "referencedDeclaration": 6753, "src": "24740:30:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -37704,7 +37704,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -37712,10 +37712,10 @@ "id": 1338, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "25133:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -37787,7 +37787,7 @@ "referencedDeclaration": 1339, "src": "25188:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -37814,7 +37814,7 @@ "nodeType": "TupleExpression", "src": "25187:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -37882,10 +37882,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "25274:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -37902,7 +37902,7 @@ "src": "25274:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -37914,7 +37914,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -37922,10 +37922,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "25210:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -37940,7 +37940,7 @@ "src": "25210:112:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -38083,7 +38083,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -38091,10 +38091,10 @@ "id": 1366, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "25614:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38166,7 +38166,7 @@ "referencedDeclaration": 1367, "src": "25669:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38193,7 +38193,7 @@ "nodeType": "TupleExpression", "src": "25668:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -38261,10 +38261,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "25755:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -38281,7 +38281,7 @@ "src": "25755:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -38293,7 +38293,7 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], @@ -38301,10 +38301,10 @@ "name": "divScalarByExpTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5552, + "referencedDeclaration": 5555, "src": "25691:22:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5184_memory_ptr_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -38319,7 +38319,7 @@ "src": "25691:110:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -38462,7 +38462,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -38470,10 +38470,10 @@ "id": 1394, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "26056:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38545,7 +38545,7 @@ "referencedDeclaration": 1395, "src": "26111:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38572,7 +38572,7 @@ "nodeType": "TupleExpression", "src": "26110:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -38627,10 +38627,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "26164:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -38647,7 +38647,7 @@ "src": "26164:38:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -38668,7 +38668,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -38680,10 +38680,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "26133:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -38698,7 +38698,7 @@ "src": "26133:105:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -38841,7 +38841,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { @@ -38849,10 +38849,10 @@ "id": 1422, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4978, + "referencedDeclaration": 4981, "src": "26530:9:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38924,7 +38924,7 @@ "referencedDeclaration": 1423, "src": "26585:7:1", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4978", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -38951,7 +38951,7 @@ "nodeType": "TupleExpression", "src": "26584:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -39006,10 +39006,10 @@ "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5187, "src": "26638:3:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5184_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, @@ -39026,7 +39026,7 @@ "src": "26638:36:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -39047,7 +39047,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5184_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -39059,10 +39059,10 @@ "name": "mulScalarTruncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5390, + "referencedDeclaration": 5393, "src": "26607:17:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5184_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, @@ -39077,7 +39077,7 @@ "src": "26607:103:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4978_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -39261,7 +39261,7 @@ "referencedDeclaration": 97, "src": "26987:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -39269,7 +39269,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], @@ -39407,7 +39407,7 @@ "referencedDeclaration": 91, "src": "27127:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -39415,7 +39415,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], @@ -39490,7 +39490,7 @@ "referencedDeclaration": 99, "src": "27072:3:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -39501,7 +39501,7 @@ "lValueRequested": false, "memberName": "getUnderlyingAssetPriceOfUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 6760, + "referencedDeclaration": 6763, "src": "27072:33:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", @@ -39660,7 +39660,7 @@ "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11393, + "referencedDeclaration": 11392, "src": "27332:5:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", @@ -39737,7 +39737,7 @@ "referencedDeclaration": 91, "src": "27416:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11539", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -39748,7 +39748,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 11488, + "referencedDeclaration": 11487, "src": "27416:14:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -39913,7 +39913,7 @@ "referencedDeclaration": 93, "src": "27542:17:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -39947,10 +39947,10 @@ "name": "InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6379, + "referencedDeclaration": 6382, "src": "27562:17:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6379_$", + "typeIdentifier": "t_type$_t_contract$_InterestRateModel_$6382_$", "typeString": "type(contract InterestRateModel)" } }, @@ -39965,13 +39965,13 @@ "src": "27562:28:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, "src": "27542:48:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_InterestRateModel_$6379", + "typeIdentifier": "t_contract$_InterestRateModel_$6382", "typeString": "contract InterestRateModel" } }, @@ -39996,7 +39996,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "27522:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -40127,7 +40127,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "27648:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -40201,7 +40201,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T05:44:27.887Z", + "updatedAt": "2020-12-12T01:13:52.319Z", "devdoc": { "methods": { "accrueInterest()": { @@ -40321,7 +40321,7 @@ "details": "See {IERC20-totalSupply}." }, "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." diff --git a/AskoLend-contracts/build/contracts/AskoRiskTokenI.json b/AskoLend-contracts/build/contracts/AskoRiskTokenI.json index 0f02873f..0790bce4 100644 --- a/AskoLend-contracts/build/contracts/AskoRiskTokenI.json +++ b/AskoLend-contracts/build/contracts/AskoRiskTokenI.json @@ -282,26 +282,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"}],\"name\":\"_liquidate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"_updateInterestModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"convertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"convertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_USDCAmount\",\"type\":\"uint256\"}],\"name\":\"getUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidationIncentiveMantissa\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setReserveRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_USDCAmount\",\"type\":\"uint256\"}],\"name\":\"viewUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"The AskoRiskTokenI contract an abstract contract MoneyMarketControl uses to interface with a AskoRiskToken. This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":\"AskoRiskTokenI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"}],\"name\":\"_liquidate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"_updateInterestModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfART\",\"type\":\"uint256\"}],\"name\":\"convertFromART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountOfAsset\",\"type\":\"uint256\"}],\"name\":\"convertToART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_USDCAmount\",\"type\":\"uint256\"}],\"name\":\"getUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidationIncentiveMantissa\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setReserveRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_USDCAmount\",\"type\":\"uint256\"}],\"name\":\"viewUSDCWorthOfART\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"The AskoRiskTokenI contract an abstract contract MoneyMarketControl uses to interface with a AskoRiskToken. This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":\"AskoRiskTokenI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title AskoRiskTokenI\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe AskoRiskTokenI contract an abstract contract MoneyMarketControl uses to interface\n with a AskoRiskToken.\n This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits\n**/\n\nabstract contract AskoRiskTokenI {\n uint256 public liquidationIncentiveMantissa;\n\n function getAssetAdd() public view virtual returns (address);\n\n function borrowBalanceCurrent(address account)\n public\n virtual\n returns (uint256);\n\n function exchangeRateCurrent() public virtual returns (uint256);\n\n function _liquidate(\n uint256 _liquidateValue,\n address _borrower,\n address _liquidator\n ) public virtual;\n\n function mint(address _account, uint256 _amount) public virtual;\n\n function borrow(uint256 _borrowAmount, address _borrower) external virtual;\n\n function repayBorrow(uint256 repayAmount, address borrower)\n external\n virtual\n returns (uint256);\n\n function getUSDCWorthOfART(uint256 _USDCAmount)\n public\n virtual\n returns (uint256);\n\n function burn(address _account, uint256 _amount) public virtual;\n\n function viewUSDCWorthOfART(uint256 _USDCAmount)\n public\n view\n virtual\n returns (uint256);\n\n function convertToART(uint256 _amountOfAsset)\n public\n virtual\n returns (uint256);\n\n function convertFromART(uint256 _amountOfART)\n public\n virtual\n returns (uint256);\n\n function balanceOf(address _account) public virtual returns (uint256);\n\n function _updateInterestModel(address _newModel) public virtual;\n\n function setReserveRatio(uint256 _RR) public virtual;\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "exportedSymbols": { "AskoRiskTokenI": [ - 6554 + 6561 ] }, - "id": 6555, + "id": 6562, "nodeType": "SourceUnit", "nodes": [ { - "id": 6449, + "id": 6456, "literals": [ "solidity", "^", @@ -317,15 +317,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6450, + "id": 6457, "nodeType": "StructuredDocumentation", "src": "267:221:21", "text": "The AskoRiskTokenI contract an abstract contract MoneyMarketControl uses to interface\nwith a AskoRiskToken.\nThis is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*" }, "fullyImplemented": false, - "id": 6554, + "id": 6561, "linearizedBaseContracts": [ - 6554 + 6561 ], "name": "AskoRiskTokenI", "nodeType": "ContractDefinition", @@ -333,12 +333,12 @@ { "constant": false, "functionSelector": "4ada90af", - "id": 6452, + "id": 6459, "mutability": "mutable", "name": "liquidationIncentiveMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6554, + "scope": 6561, "src": "529:43:21", "stateVariable": true, "storageLocation": "default", @@ -347,7 +347,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6451, + "id": 6458, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "529:7:21", @@ -363,7 +363,7 @@ "body": null, "documentation": null, "functionSelector": "4c20ac74", - "id": 6457, + "id": 6464, "implemented": false, "kind": "function", "modifiers": [], @@ -371,23 +371,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6453, + "id": 6460, "nodeType": "ParameterList", "parameters": [], "src": "599:2:21" }, "returnParameters": { - "id": 6456, + "id": 6463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6455, + "id": 6462, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6457, + "scope": 6464, "src": "631:7:21", "stateVariable": false, "storageLocation": "default", @@ -396,7 +396,7 @@ "typeString": "address" }, "typeName": { - "id": 6454, + "id": 6461, "name": "address", "nodeType": "ElementaryTypeName", "src": "631:7:21", @@ -412,7 +412,7 @@ ], "src": "630:9:21" }, - "scope": 6554, + "scope": 6561, "src": "579:61:21", "stateMutability": "view", "virtual": true, @@ -422,7 +422,7 @@ "body": null, "documentation": null, "functionSelector": "17bfdfbc", - "id": 6464, + "id": 6471, "implemented": false, "kind": "function", "modifiers": [], @@ -430,17 +430,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6460, + "id": 6467, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6459, + "id": 6466, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6464, + "scope": 6471, "src": "676:15:21", "stateVariable": false, "storageLocation": "default", @@ -449,7 +449,7 @@ "typeString": "address" }, "typeName": { - "id": 6458, + "id": 6465, "name": "address", "nodeType": "ElementaryTypeName", "src": "676:7:21", @@ -466,17 +466,17 @@ "src": "675:17:21" }, "returnParameters": { - "id": 6463, + "id": 6470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6462, + "id": 6469, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6464, + "scope": 6471, "src": "741:7:21", "stateVariable": false, "storageLocation": "default", @@ -485,7 +485,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6461, + "id": 6468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "741:7:21", @@ -500,7 +500,7 @@ ], "src": "740:9:21" }, - "scope": 6554, + "scope": 6561, "src": "646:104:21", "stateMutability": "nonpayable", "virtual": true, @@ -510,7 +510,7 @@ "body": null, "documentation": null, "functionSelector": "bd6d894d", - "id": 6469, + "id": 6476, "implemented": false, "kind": "function", "modifiers": [], @@ -518,23 +518,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6465, + "id": 6472, "nodeType": "ParameterList", "parameters": [], "src": "784:2:21" }, "returnParameters": { - "id": 6468, + "id": 6475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6467, + "id": 6474, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6469, + "scope": 6476, "src": "811:7:21", "stateVariable": false, "storageLocation": "default", @@ -543,7 +543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6466, + "id": 6473, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "811:7:21", @@ -558,7 +558,7 @@ ], "src": "810:9:21" }, - "scope": 6554, + "scope": 6561, "src": "756:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -568,7 +568,7 @@ "body": null, "documentation": null, "functionSelector": "b7e7b50c", - "id": 6478, + "id": 6485, "implemented": false, "kind": "function", "modifiers": [], @@ -576,17 +576,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6476, + "id": 6483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6471, + "id": 6478, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "855:23:21", "stateVariable": false, "storageLocation": "default", @@ -595,7 +595,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6470, + "id": 6477, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "855:7:21", @@ -609,12 +609,12 @@ }, { "constant": false, - "id": 6473, + "id": 6480, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "888:17:21", "stateVariable": false, "storageLocation": "default", @@ -623,7 +623,7 @@ "typeString": "address" }, "typeName": { - "id": 6472, + "id": 6479, "name": "address", "nodeType": "ElementaryTypeName", "src": "888:7:21", @@ -638,12 +638,12 @@ }, { "constant": false, - "id": 6475, + "id": 6482, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "915:19:21", "stateVariable": false, "storageLocation": "default", @@ -652,7 +652,7 @@ "typeString": "address" }, "typeName": { - "id": 6474, + "id": 6481, "name": "address", "nodeType": "ElementaryTypeName", "src": "915:7:21", @@ -669,12 +669,12 @@ "src": "845:95:21" }, "returnParameters": { - "id": 6477, + "id": 6484, "nodeType": "ParameterList", "parameters": [], "src": "955:0:21" }, - "scope": 6554, + "scope": 6561, "src": "826:130:21", "stateMutability": "nonpayable", "virtual": true, @@ -684,7 +684,7 @@ "body": null, "documentation": null, "functionSelector": "40c10f19", - "id": 6485, + "id": 6492, "implemented": false, "kind": "function", "modifiers": [], @@ -692,17 +692,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6483, + "id": 6490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6480, + "id": 6487, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6485, + "scope": 6492, "src": "976:16:21", "stateVariable": false, "storageLocation": "default", @@ -711,7 +711,7 @@ "typeString": "address" }, "typeName": { - "id": 6479, + "id": 6486, "name": "address", "nodeType": "ElementaryTypeName", "src": "976:7:21", @@ -726,12 +726,12 @@ }, { "constant": false, - "id": 6482, + "id": 6489, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6485, + "scope": 6492, "src": "994:15:21", "stateVariable": false, "storageLocation": "default", @@ -740,7 +740,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6481, + "id": 6488, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "994:7:21", @@ -756,12 +756,12 @@ "src": "975:35:21" }, "returnParameters": { - "id": 6484, + "id": 6491, "nodeType": "ParameterList", "parameters": [], "src": "1025:0:21" }, - "scope": 6554, + "scope": 6561, "src": "962:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -771,7 +771,7 @@ "body": null, "documentation": null, "functionSelector": "4b3fd148", - "id": 6492, + "id": 6499, "implemented": false, "kind": "function", "modifiers": [], @@ -779,17 +779,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6490, + "id": 6497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6487, + "id": 6494, "mutability": "mutable", "name": "_borrowAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6492, + "scope": 6499, "src": "1048:21:21", "stateVariable": false, "storageLocation": "default", @@ -798,7 +798,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6486, + "id": 6493, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1048:7:21", @@ -812,12 +812,12 @@ }, { "constant": false, - "id": 6489, + "id": 6496, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6492, + "scope": 6499, "src": "1071:17:21", "stateVariable": false, "storageLocation": "default", @@ -826,7 +826,7 @@ "typeString": "address" }, "typeName": { - "id": 6488, + "id": 6495, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:21", @@ -843,12 +843,12 @@ "src": "1047:42:21" }, "returnParameters": { - "id": 6491, + "id": 6498, "nodeType": "ParameterList", "parameters": [], "src": "1106:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1032:75:21", "stateMutability": "nonpayable", "virtual": true, @@ -858,7 +858,7 @@ "body": null, "documentation": null, "functionSelector": "69a5e8cf", - "id": 6501, + "id": 6508, "implemented": false, "kind": "function", "modifiers": [], @@ -866,17 +866,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6497, + "id": 6504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6494, + "id": 6501, "mutability": "mutable", "name": "repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1134:19:21", "stateVariable": false, "storageLocation": "default", @@ -885,7 +885,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6493, + "id": 6500, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:21", @@ -899,12 +899,12 @@ }, { "constant": false, - "id": 6496, + "id": 6503, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1155:16:21", "stateVariable": false, "storageLocation": "default", @@ -913,7 +913,7 @@ "typeString": "address" }, "typeName": { - "id": 6495, + "id": 6502, "name": "address", "nodeType": "ElementaryTypeName", "src": "1155:7:21", @@ -930,17 +930,17 @@ "src": "1133:39:21" }, "returnParameters": { - "id": 6500, + "id": 6507, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6499, + "id": 6506, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1223:7:21", "stateVariable": false, "storageLocation": "default", @@ -949,7 +949,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6498, + "id": 6505, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1223:7:21", @@ -964,7 +964,7 @@ ], "src": "1222:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1113:119:21", "stateMutability": "nonpayable", "virtual": true, @@ -974,7 +974,7 @@ "body": null, "documentation": null, "functionSelector": "5f27adbd", - "id": 6508, + "id": 6515, "implemented": false, "kind": "function", "modifiers": [], @@ -982,17 +982,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6504, + "id": 6511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6503, + "id": 6510, "mutability": "mutable", "name": "_USDCAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6515, "src": "1265:19:21", "stateVariable": false, "storageLocation": "default", @@ -1001,7 +1001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6502, + "id": 6509, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1265:7:21", @@ -1017,17 +1017,17 @@ "src": "1264:21:21" }, "returnParameters": { - "id": 6507, + "id": 6514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6506, + "id": 6513, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6515, "src": "1334:7:21", "stateVariable": false, "storageLocation": "default", @@ -1036,7 +1036,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6505, + "id": 6512, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1334:7:21", @@ -1051,7 +1051,7 @@ ], "src": "1333:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1238:105:21", "stateMutability": "nonpayable", "virtual": true, @@ -1061,7 +1061,7 @@ "body": null, "documentation": null, "functionSelector": "9dc29fac", - "id": 6515, + "id": 6522, "implemented": false, "kind": "function", "modifiers": [], @@ -1069,17 +1069,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6513, + "id": 6520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6510, + "id": 6517, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6515, + "scope": 6522, "src": "1363:16:21", "stateVariable": false, "storageLocation": "default", @@ -1088,7 +1088,7 @@ "typeString": "address" }, "typeName": { - "id": 6509, + "id": 6516, "name": "address", "nodeType": "ElementaryTypeName", "src": "1363:7:21", @@ -1103,12 +1103,12 @@ }, { "constant": false, - "id": 6512, + "id": 6519, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6515, + "scope": 6522, "src": "1381:15:21", "stateVariable": false, "storageLocation": "default", @@ -1117,7 +1117,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6511, + "id": 6518, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1381:7:21", @@ -1133,12 +1133,12 @@ "src": "1362:35:21" }, "returnParameters": { - "id": 6514, + "id": 6521, "nodeType": "ParameterList", "parameters": [], "src": "1412:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1349:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -1148,7 +1148,7 @@ "body": null, "documentation": null, "functionSelector": "bebf2b89", - "id": 6522, + "id": 6529, "implemented": false, "kind": "function", "modifiers": [], @@ -1156,17 +1156,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6518, + "id": 6525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6517, + "id": 6524, "mutability": "mutable", "name": "_USDCAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6522, + "scope": 6529, "src": "1447:19:21", "stateVariable": false, "storageLocation": "default", @@ -1175,7 +1175,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6516, + "id": 6523, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1447:7:21", @@ -1191,17 +1191,17 @@ "src": "1446:21:21" }, "returnParameters": { - "id": 6521, + "id": 6528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6520, + "id": 6527, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6522, + "scope": 6529, "src": "1529:7:21", "stateVariable": false, "storageLocation": "default", @@ -1210,7 +1210,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6519, + "id": 6526, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1529:7:21", @@ -1225,7 +1225,7 @@ ], "src": "1528:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1419:119:21", "stateMutability": "view", "virtual": true, @@ -1235,7 +1235,7 @@ "body": null, "documentation": null, "functionSelector": "d383752d", - "id": 6529, + "id": 6536, "implemented": false, "kind": "function", "modifiers": [], @@ -1243,17 +1243,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6525, + "id": 6532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6524, + "id": 6531, "mutability": "mutable", "name": "_amountOfAsset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6529, + "scope": 6536, "src": "1566:22:21", "stateVariable": false, "storageLocation": "default", @@ -1262,7 +1262,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6523, + "id": 6530, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1566:7:21", @@ -1278,17 +1278,17 @@ "src": "1565:24:21" }, "returnParameters": { - "id": 6528, + "id": 6535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6527, + "id": 6534, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6529, + "scope": 6536, "src": "1638:7:21", "stateVariable": false, "storageLocation": "default", @@ -1297,7 +1297,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6526, + "id": 6533, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1638:7:21", @@ -1312,7 +1312,7 @@ ], "src": "1637:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1544:103:21", "stateMutability": "nonpayable", "virtual": true, @@ -1322,7 +1322,7 @@ "body": null, "documentation": null, "functionSelector": "286f4d23", - "id": 6536, + "id": 6543, "implemented": false, "kind": "function", "modifiers": [], @@ -1330,17 +1330,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6532, + "id": 6539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6531, + "id": 6538, "mutability": "mutable", "name": "_amountOfART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6536, + "scope": 6543, "src": "1677:20:21", "stateVariable": false, "storageLocation": "default", @@ -1349,7 +1349,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6530, + "id": 6537, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1677:7:21", @@ -1365,17 +1365,17 @@ "src": "1676:22:21" }, "returnParameters": { - "id": 6535, + "id": 6542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6534, + "id": 6541, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6536, + "scope": 6543, "src": "1747:7:21", "stateVariable": false, "storageLocation": "default", @@ -1384,7 +1384,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6533, + "id": 6540, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1747:7:21", @@ -1399,7 +1399,7 @@ ], "src": "1746:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1653:103:21", "stateMutability": "nonpayable", "virtual": true, @@ -1409,7 +1409,7 @@ "body": null, "documentation": null, "functionSelector": "70a08231", - "id": 6543, + "id": 6550, "implemented": false, "kind": "function", "modifiers": [], @@ -1417,17 +1417,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6539, + "id": 6546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6538, + "id": 6545, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6543, + "scope": 6550, "src": "1781:16:21", "stateVariable": false, "storageLocation": "default", @@ -1436,7 +1436,7 @@ "typeString": "address" }, "typeName": { - "id": 6537, + "id": 6544, "name": "address", "nodeType": "ElementaryTypeName", "src": "1781:7:21", @@ -1453,17 +1453,17 @@ "src": "1780:18:21" }, "returnParameters": { - "id": 6542, + "id": 6549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6541, + "id": 6548, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6543, + "scope": 6550, "src": "1823:7:21", "stateVariable": false, "storageLocation": "default", @@ -1472,7 +1472,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6540, + "id": 6547, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1823:7:21", @@ -1487,7 +1487,7 @@ ], "src": "1822:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1762:70:21", "stateMutability": "nonpayable", "virtual": true, @@ -1497,7 +1497,7 @@ "body": null, "documentation": null, "functionSelector": "3aacd0d4", - "id": 6548, + "id": 6555, "implemented": false, "kind": "function", "modifiers": [], @@ -1505,17 +1505,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6546, + "id": 6553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6545, + "id": 6552, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6548, + "scope": 6555, "src": "1868:17:21", "stateVariable": false, "storageLocation": "default", @@ -1524,7 +1524,7 @@ "typeString": "address" }, "typeName": { - "id": 6544, + "id": 6551, "name": "address", "nodeType": "ElementaryTypeName", "src": "1868:7:21", @@ -1541,12 +1541,12 @@ "src": "1867:19:21" }, "returnParameters": { - "id": 6547, + "id": 6554, "nodeType": "ParameterList", "parameters": [], "src": "1901:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1838:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -1556,7 +1556,7 @@ "body": null, "documentation": null, "functionSelector": "8b4f3b2c", - "id": 6553, + "id": 6560, "implemented": false, "kind": "function", "modifiers": [], @@ -1564,17 +1564,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6551, + "id": 6558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6550, + "id": 6557, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6553, + "scope": 6560, "src": "1933:11:21", "stateVariable": false, "storageLocation": "default", @@ -1583,7 +1583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6549, + "id": 6556, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1933:7:21", @@ -1599,36 +1599,36 @@ "src": "1932:13:21" }, "returnParameters": { - "id": 6552, + "id": 6559, "nodeType": "ParameterList", "parameters": [], "src": "1960:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1908:53:21", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6555, + "scope": 6562, "src": "490:1473:21" } ], "src": "0:1964:21" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "exportedSymbols": { "AskoRiskTokenI": [ - 6554 + 6561 ] }, - "id": 6555, + "id": 6562, "nodeType": "SourceUnit", "nodes": [ { - "id": 6449, + "id": 6456, "literals": [ "solidity", "^", @@ -1644,15 +1644,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6450, + "id": 6457, "nodeType": "StructuredDocumentation", "src": "267:221:21", "text": "The AskoRiskTokenI contract an abstract contract MoneyMarketControl uses to interface\nwith a AskoRiskToken.\nThis is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*" }, "fullyImplemented": false, - "id": 6554, + "id": 6561, "linearizedBaseContracts": [ - 6554 + 6561 ], "name": "AskoRiskTokenI", "nodeType": "ContractDefinition", @@ -1660,12 +1660,12 @@ { "constant": false, "functionSelector": "4ada90af", - "id": 6452, + "id": 6459, "mutability": "mutable", "name": "liquidationIncentiveMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6554, + "scope": 6561, "src": "529:43:21", "stateVariable": true, "storageLocation": "default", @@ -1674,7 +1674,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6451, + "id": 6458, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "529:7:21", @@ -1690,7 +1690,7 @@ "body": null, "documentation": null, "functionSelector": "4c20ac74", - "id": 6457, + "id": 6464, "implemented": false, "kind": "function", "modifiers": [], @@ -1698,23 +1698,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6453, + "id": 6460, "nodeType": "ParameterList", "parameters": [], "src": "599:2:21" }, "returnParameters": { - "id": 6456, + "id": 6463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6455, + "id": 6462, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6457, + "scope": 6464, "src": "631:7:21", "stateVariable": false, "storageLocation": "default", @@ -1723,7 +1723,7 @@ "typeString": "address" }, "typeName": { - "id": 6454, + "id": 6461, "name": "address", "nodeType": "ElementaryTypeName", "src": "631:7:21", @@ -1739,7 +1739,7 @@ ], "src": "630:9:21" }, - "scope": 6554, + "scope": 6561, "src": "579:61:21", "stateMutability": "view", "virtual": true, @@ -1749,7 +1749,7 @@ "body": null, "documentation": null, "functionSelector": "17bfdfbc", - "id": 6464, + "id": 6471, "implemented": false, "kind": "function", "modifiers": [], @@ -1757,17 +1757,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6460, + "id": 6467, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6459, + "id": 6466, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6464, + "scope": 6471, "src": "676:15:21", "stateVariable": false, "storageLocation": "default", @@ -1776,7 +1776,7 @@ "typeString": "address" }, "typeName": { - "id": 6458, + "id": 6465, "name": "address", "nodeType": "ElementaryTypeName", "src": "676:7:21", @@ -1793,17 +1793,17 @@ "src": "675:17:21" }, "returnParameters": { - "id": 6463, + "id": 6470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6462, + "id": 6469, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6464, + "scope": 6471, "src": "741:7:21", "stateVariable": false, "storageLocation": "default", @@ -1812,7 +1812,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6461, + "id": 6468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "741:7:21", @@ -1827,7 +1827,7 @@ ], "src": "740:9:21" }, - "scope": 6554, + "scope": 6561, "src": "646:104:21", "stateMutability": "nonpayable", "virtual": true, @@ -1837,7 +1837,7 @@ "body": null, "documentation": null, "functionSelector": "bd6d894d", - "id": 6469, + "id": 6476, "implemented": false, "kind": "function", "modifiers": [], @@ -1845,23 +1845,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6465, + "id": 6472, "nodeType": "ParameterList", "parameters": [], "src": "784:2:21" }, "returnParameters": { - "id": 6468, + "id": 6475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6467, + "id": 6474, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6469, + "scope": 6476, "src": "811:7:21", "stateVariable": false, "storageLocation": "default", @@ -1870,7 +1870,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6466, + "id": 6473, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "811:7:21", @@ -1885,7 +1885,7 @@ ], "src": "810:9:21" }, - "scope": 6554, + "scope": 6561, "src": "756:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -1895,7 +1895,7 @@ "body": null, "documentation": null, "functionSelector": "b7e7b50c", - "id": 6478, + "id": 6485, "implemented": false, "kind": "function", "modifiers": [], @@ -1903,17 +1903,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6476, + "id": 6483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6471, + "id": 6478, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "855:23:21", "stateVariable": false, "storageLocation": "default", @@ -1922,7 +1922,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6470, + "id": 6477, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "855:7:21", @@ -1936,12 +1936,12 @@ }, { "constant": false, - "id": 6473, + "id": 6480, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "888:17:21", "stateVariable": false, "storageLocation": "default", @@ -1950,7 +1950,7 @@ "typeString": "address" }, "typeName": { - "id": 6472, + "id": 6479, "name": "address", "nodeType": "ElementaryTypeName", "src": "888:7:21", @@ -1965,12 +1965,12 @@ }, { "constant": false, - "id": 6475, + "id": 6482, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6478, + "scope": 6485, "src": "915:19:21", "stateVariable": false, "storageLocation": "default", @@ -1979,7 +1979,7 @@ "typeString": "address" }, "typeName": { - "id": 6474, + "id": 6481, "name": "address", "nodeType": "ElementaryTypeName", "src": "915:7:21", @@ -1996,12 +1996,12 @@ "src": "845:95:21" }, "returnParameters": { - "id": 6477, + "id": 6484, "nodeType": "ParameterList", "parameters": [], "src": "955:0:21" }, - "scope": 6554, + "scope": 6561, "src": "826:130:21", "stateMutability": "nonpayable", "virtual": true, @@ -2011,7 +2011,7 @@ "body": null, "documentation": null, "functionSelector": "40c10f19", - "id": 6485, + "id": 6492, "implemented": false, "kind": "function", "modifiers": [], @@ -2019,17 +2019,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6483, + "id": 6490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6480, + "id": 6487, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6485, + "scope": 6492, "src": "976:16:21", "stateVariable": false, "storageLocation": "default", @@ -2038,7 +2038,7 @@ "typeString": "address" }, "typeName": { - "id": 6479, + "id": 6486, "name": "address", "nodeType": "ElementaryTypeName", "src": "976:7:21", @@ -2053,12 +2053,12 @@ }, { "constant": false, - "id": 6482, + "id": 6489, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6485, + "scope": 6492, "src": "994:15:21", "stateVariable": false, "storageLocation": "default", @@ -2067,7 +2067,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6481, + "id": 6488, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "994:7:21", @@ -2083,12 +2083,12 @@ "src": "975:35:21" }, "returnParameters": { - "id": 6484, + "id": 6491, "nodeType": "ParameterList", "parameters": [], "src": "1025:0:21" }, - "scope": 6554, + "scope": 6561, "src": "962:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -2098,7 +2098,7 @@ "body": null, "documentation": null, "functionSelector": "4b3fd148", - "id": 6492, + "id": 6499, "implemented": false, "kind": "function", "modifiers": [], @@ -2106,17 +2106,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6490, + "id": 6497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6487, + "id": 6494, "mutability": "mutable", "name": "_borrowAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6492, + "scope": 6499, "src": "1048:21:21", "stateVariable": false, "storageLocation": "default", @@ -2125,7 +2125,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6486, + "id": 6493, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1048:7:21", @@ -2139,12 +2139,12 @@ }, { "constant": false, - "id": 6489, + "id": 6496, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6492, + "scope": 6499, "src": "1071:17:21", "stateVariable": false, "storageLocation": "default", @@ -2153,7 +2153,7 @@ "typeString": "address" }, "typeName": { - "id": 6488, + "id": 6495, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:21", @@ -2170,12 +2170,12 @@ "src": "1047:42:21" }, "returnParameters": { - "id": 6491, + "id": 6498, "nodeType": "ParameterList", "parameters": [], "src": "1106:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1032:75:21", "stateMutability": "nonpayable", "virtual": true, @@ -2185,7 +2185,7 @@ "body": null, "documentation": null, "functionSelector": "69a5e8cf", - "id": 6501, + "id": 6508, "implemented": false, "kind": "function", "modifiers": [], @@ -2193,17 +2193,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6497, + "id": 6504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6494, + "id": 6501, "mutability": "mutable", "name": "repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1134:19:21", "stateVariable": false, "storageLocation": "default", @@ -2212,7 +2212,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6493, + "id": 6500, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:21", @@ -2226,12 +2226,12 @@ }, { "constant": false, - "id": 6496, + "id": 6503, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1155:16:21", "stateVariable": false, "storageLocation": "default", @@ -2240,7 +2240,7 @@ "typeString": "address" }, "typeName": { - "id": 6495, + "id": 6502, "name": "address", "nodeType": "ElementaryTypeName", "src": "1155:7:21", @@ -2257,17 +2257,17 @@ "src": "1133:39:21" }, "returnParameters": { - "id": 6500, + "id": 6507, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6499, + "id": 6506, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6501, + "scope": 6508, "src": "1223:7:21", "stateVariable": false, "storageLocation": "default", @@ -2276,7 +2276,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6498, + "id": 6505, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1223:7:21", @@ -2291,7 +2291,7 @@ ], "src": "1222:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1113:119:21", "stateMutability": "nonpayable", "virtual": true, @@ -2301,7 +2301,7 @@ "body": null, "documentation": null, "functionSelector": "5f27adbd", - "id": 6508, + "id": 6515, "implemented": false, "kind": "function", "modifiers": [], @@ -2309,17 +2309,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6504, + "id": 6511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6503, + "id": 6510, "mutability": "mutable", "name": "_USDCAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6515, "src": "1265:19:21", "stateVariable": false, "storageLocation": "default", @@ -2328,7 +2328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6502, + "id": 6509, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1265:7:21", @@ -2344,17 +2344,17 @@ "src": "1264:21:21" }, "returnParameters": { - "id": 6507, + "id": 6514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6506, + "id": 6513, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6515, "src": "1334:7:21", "stateVariable": false, "storageLocation": "default", @@ -2363,7 +2363,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6505, + "id": 6512, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1334:7:21", @@ -2378,7 +2378,7 @@ ], "src": "1333:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1238:105:21", "stateMutability": "nonpayable", "virtual": true, @@ -2388,7 +2388,7 @@ "body": null, "documentation": null, "functionSelector": "9dc29fac", - "id": 6515, + "id": 6522, "implemented": false, "kind": "function", "modifiers": [], @@ -2396,17 +2396,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6513, + "id": 6520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6510, + "id": 6517, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6515, + "scope": 6522, "src": "1363:16:21", "stateVariable": false, "storageLocation": "default", @@ -2415,7 +2415,7 @@ "typeString": "address" }, "typeName": { - "id": 6509, + "id": 6516, "name": "address", "nodeType": "ElementaryTypeName", "src": "1363:7:21", @@ -2430,12 +2430,12 @@ }, { "constant": false, - "id": 6512, + "id": 6519, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6515, + "scope": 6522, "src": "1381:15:21", "stateVariable": false, "storageLocation": "default", @@ -2444,7 +2444,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6511, + "id": 6518, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1381:7:21", @@ -2460,12 +2460,12 @@ "src": "1362:35:21" }, "returnParameters": { - "id": 6514, + "id": 6521, "nodeType": "ParameterList", "parameters": [], "src": "1412:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1349:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -2475,7 +2475,7 @@ "body": null, "documentation": null, "functionSelector": "bebf2b89", - "id": 6522, + "id": 6529, "implemented": false, "kind": "function", "modifiers": [], @@ -2483,17 +2483,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6518, + "id": 6525, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6517, + "id": 6524, "mutability": "mutable", "name": "_USDCAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6522, + "scope": 6529, "src": "1447:19:21", "stateVariable": false, "storageLocation": "default", @@ -2502,7 +2502,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6516, + "id": 6523, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1447:7:21", @@ -2518,17 +2518,17 @@ "src": "1446:21:21" }, "returnParameters": { - "id": 6521, + "id": 6528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6520, + "id": 6527, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6522, + "scope": 6529, "src": "1529:7:21", "stateVariable": false, "storageLocation": "default", @@ -2537,7 +2537,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6519, + "id": 6526, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1529:7:21", @@ -2552,7 +2552,7 @@ ], "src": "1528:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1419:119:21", "stateMutability": "view", "virtual": true, @@ -2562,7 +2562,7 @@ "body": null, "documentation": null, "functionSelector": "d383752d", - "id": 6529, + "id": 6536, "implemented": false, "kind": "function", "modifiers": [], @@ -2570,17 +2570,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6525, + "id": 6532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6524, + "id": 6531, "mutability": "mutable", "name": "_amountOfAsset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6529, + "scope": 6536, "src": "1566:22:21", "stateVariable": false, "storageLocation": "default", @@ -2589,7 +2589,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6523, + "id": 6530, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1566:7:21", @@ -2605,17 +2605,17 @@ "src": "1565:24:21" }, "returnParameters": { - "id": 6528, + "id": 6535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6527, + "id": 6534, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6529, + "scope": 6536, "src": "1638:7:21", "stateVariable": false, "storageLocation": "default", @@ -2624,7 +2624,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6526, + "id": 6533, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1638:7:21", @@ -2639,7 +2639,7 @@ ], "src": "1637:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1544:103:21", "stateMutability": "nonpayable", "virtual": true, @@ -2649,7 +2649,7 @@ "body": null, "documentation": null, "functionSelector": "286f4d23", - "id": 6536, + "id": 6543, "implemented": false, "kind": "function", "modifiers": [], @@ -2657,17 +2657,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6532, + "id": 6539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6531, + "id": 6538, "mutability": "mutable", "name": "_amountOfART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6536, + "scope": 6543, "src": "1677:20:21", "stateVariable": false, "storageLocation": "default", @@ -2676,7 +2676,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6530, + "id": 6537, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1677:7:21", @@ -2692,17 +2692,17 @@ "src": "1676:22:21" }, "returnParameters": { - "id": 6535, + "id": 6542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6534, + "id": 6541, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6536, + "scope": 6543, "src": "1747:7:21", "stateVariable": false, "storageLocation": "default", @@ -2711,7 +2711,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6533, + "id": 6540, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1747:7:21", @@ -2726,7 +2726,7 @@ ], "src": "1746:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1653:103:21", "stateMutability": "nonpayable", "virtual": true, @@ -2736,7 +2736,7 @@ "body": null, "documentation": null, "functionSelector": "70a08231", - "id": 6543, + "id": 6550, "implemented": false, "kind": "function", "modifiers": [], @@ -2744,17 +2744,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6539, + "id": 6546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6538, + "id": 6545, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6543, + "scope": 6550, "src": "1781:16:21", "stateVariable": false, "storageLocation": "default", @@ -2763,7 +2763,7 @@ "typeString": "address" }, "typeName": { - "id": 6537, + "id": 6544, "name": "address", "nodeType": "ElementaryTypeName", "src": "1781:7:21", @@ -2780,17 +2780,17 @@ "src": "1780:18:21" }, "returnParameters": { - "id": 6542, + "id": 6549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6541, + "id": 6548, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6543, + "scope": 6550, "src": "1823:7:21", "stateVariable": false, "storageLocation": "default", @@ -2799,7 +2799,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6540, + "id": 6547, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1823:7:21", @@ -2814,7 +2814,7 @@ ], "src": "1822:9:21" }, - "scope": 6554, + "scope": 6561, "src": "1762:70:21", "stateMutability": "nonpayable", "virtual": true, @@ -2824,7 +2824,7 @@ "body": null, "documentation": null, "functionSelector": "3aacd0d4", - "id": 6548, + "id": 6555, "implemented": false, "kind": "function", "modifiers": [], @@ -2832,17 +2832,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6546, + "id": 6553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6545, + "id": 6552, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6548, + "scope": 6555, "src": "1868:17:21", "stateVariable": false, "storageLocation": "default", @@ -2851,7 +2851,7 @@ "typeString": "address" }, "typeName": { - "id": 6544, + "id": 6551, "name": "address", "nodeType": "ElementaryTypeName", "src": "1868:7:21", @@ -2868,12 +2868,12 @@ "src": "1867:19:21" }, "returnParameters": { - "id": 6547, + "id": 6554, "nodeType": "ParameterList", "parameters": [], "src": "1901:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1838:64:21", "stateMutability": "nonpayable", "virtual": true, @@ -2883,7 +2883,7 @@ "body": null, "documentation": null, "functionSelector": "8b4f3b2c", - "id": 6553, + "id": 6560, "implemented": false, "kind": "function", "modifiers": [], @@ -2891,17 +2891,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6551, + "id": 6558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6550, + "id": 6557, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6553, + "scope": 6560, "src": "1933:11:21", "stateVariable": false, "storageLocation": "default", @@ -2910,7 +2910,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6549, + "id": 6556, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1933:7:21", @@ -2926,19 +2926,19 @@ "src": "1932:13:21" }, "returnParameters": { - "id": 6552, + "id": 6559, "nodeType": "ParameterList", "parameters": [], "src": "1960:0:21" }, - "scope": 6554, + "scope": 6561, "src": "1908:53:21", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6555, + "scope": 6562, "src": "490:1473:21" } ], @@ -2950,7 +2950,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T00:49:13.451Z", + "updatedAt": "2020-12-12T01:13:52.569Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/BaseJumpRateModelV2.json b/AskoLend-contracts/build/contracts/BaseJumpRateModelV2.json index d7e8d6b8..d91fa783 100644 --- a/AskoLend-contracts/build/contracts/BaseJumpRateModelV2.json +++ b/AskoLend-contracts/build/contracts/BaseJumpRateModelV2.json @@ -233,26 +233,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseRatePerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"}],\"name\":\"NewInterestParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"baseRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocksPerYear\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jumpMultiplierPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kink\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierPerBlock\",\"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\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"}],\"name\":\"updateJumpRateModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"utilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Compound (modified by Dharma Labs, refactored by Arr00)\",\"methods\":{\"constructor\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"owner_\":\"The address of the owner, i.e. the Timelock contract (which has the ability to update parameters directly)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserveFactorMantissa\":\"The current reserve factor for the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The supply rate percentage per block as a mantissa (scaled by 1e18)\"}},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\"}},\"utilizationRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market (currently unused)\"},\"returns\":{\"_0\":\"The utilization rate as a mantissa between [0, 1e18]\"}}},\"title\":\"Logic for Compound's JumpRateModel Contract V2.\"},\"userdoc\":{\"methods\":{\"constructor\":\"Construct an interest rate model\",\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply rate per block\"},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"notice\":\"Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\"},\"utilizationRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\"}},\"notice\":\"Version 2 modifies Version 1 by enabling updateable parameters.\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":\"BaseJumpRateModelV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseRatePerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"}],\"name\":\"NewInterestParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"baseRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocksPerYear\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jumpMultiplierPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kink\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierPerBlock\",\"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\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"}],\"name\":\"updateJumpRateModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"utilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Compound (modified by Dharma Labs, refactored by Arr00)\",\"methods\":{\"constructor\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"owner_\":\"The address of the owner, i.e. the Timelock contract (which has the ability to update parameters directly)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserveFactorMantissa\":\"The current reserve factor for the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The supply rate percentage per block as a mantissa (scaled by 1e18)\"}},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\"}},\"utilizationRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market (currently unused)\"},\"returns\":{\"_0\":\"The utilization rate as a mantissa between [0, 1e18]\"}}},\"title\":\"Logic for Compound's JumpRateModel Contract V2.\"},\"userdoc\":{\"methods\":{\"constructor\":\"Construct an interest rate model\",\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply rate per block\"},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"notice\":\"Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\"},\"utilizationRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\"}},\"notice\":\"Version 2 modifies Version 1 by enabling updateable parameters.\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":\"BaseJumpRateModelV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\n/**\n * @title Logic for Compound's JumpRateModel Contract V2.\n * @author Compound (modified by Dharma Labs, refactored by Arr00)\n * @notice Version 2 modifies Version 1 by enabling updateable parameters.\n */\ncontract BaseJumpRateModelV2 {\n using SafeMath for uint;\n\n event NewInterestParams(uint baseRatePerBlock, uint multiplierPerBlock, uint jumpMultiplierPerBlock, uint kink);\n\n /**\n * @notice The address of the owner, i.e. the Timelock contract, which can update parameters directly\n */\n address public owner;\n\n /**\n * @notice The approximate number of blocks per year that is assumed by the interest rate model\n */\n uint public constant blocksPerYear = 2102400;\n\n /**\n * @notice The multiplier of utilization rate that gives the slope of the interest rate\n */\n uint public multiplierPerBlock;\n\n /**\n * @notice The base interest rate which is the y-intercept when utilization rate is 0\n */\n uint public baseRatePerBlock;\n\n /**\n * @notice The multiplierPerBlock after hitting a specified utilization point\n */\n uint public jumpMultiplierPerBlock;\n\n /**\n * @notice The utilization point at which the jump multiplier is applied\n */\n uint public kink;\n\n /**\n * @notice Construct an interest rate model\n * @param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n * @param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n * @param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n * @param kink_ The utilization point at which the jump multiplier is applied\n * @param owner_ The address of the owner, i.e. the Timelock contract (which has the ability to update parameters directly)\n */\n constructor(uint baseRatePerYear, uint multiplierPerYear, uint jumpMultiplierPerYear, uint kink_, address owner_) internal {\n owner = owner_;\n\n updateJumpRateModelInternal(baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_);\n }\n\n /**\n * @notice Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\n * @param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n * @param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n * @param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n * @param kink_ The utilization point at which the jump multiplier is applied\n */\n function updateJumpRateModel(uint baseRatePerYear, uint multiplierPerYear, uint jumpMultiplierPerYear, uint kink_) external {\n require(msg.sender == owner, \"only the owner may call this function.\");\n\n updateJumpRateModelInternal(baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_);\n }\n\n /**\n * @notice Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\n * @param cash The amount of cash in the market\n * @param borrows The amount of borrows in the market\n * @param reserves The amount of reserves in the market (currently unused)\n * @return The utilization rate as a mantissa between [0, 1e18]\n */\n function utilizationRate(uint cash, uint borrows, uint reserves) public pure returns (uint) {\n // Utilization rate is 0 when there are no borrows\n if (borrows == 0) {\n return 0;\n }\n\n return borrows.mul(1e18).div(cash.add(borrows).sub(reserves));\n }\n\n /**\n * @notice Calculates the current borrow rate per block, with the error code expected by the market\n * @param cash The amount of cash in the market\n * @param borrows The amount of borrows in the market\n * @param reserves The amount of reserves in the market\n * @return The borrow rate percentage per block as a mantissa (scaled by 1e18)\n */\n function getBorrowRateInternal(uint cash, uint borrows, uint reserves) internal view returns (uint) {\n uint util = utilizationRate(cash, borrows, reserves);\n\n if (util <= kink) {\n return util.mul(multiplierPerBlock).div(1e18).add(baseRatePerBlock);\n } else {\n uint normalRate = kink.mul(multiplierPerBlock).div(1e18).add(baseRatePerBlock);\n uint excessUtil = util.sub(kink);\n return excessUtil.mul(jumpMultiplierPerBlock).div(1e18).add(normalRate);\n }\n }\n\n /**\n * @notice Calculates the current supply rate per block\n * @param cash The amount of cash in the market\n * @param borrows The amount of borrows in the market\n * @param reserves The amount of reserves in the market\n * @param reserveFactorMantissa The current reserve factor for the market\n * @return The supply rate percentage per block as a mantissa (scaled by 1e18)\n */\n function getSupplyRate(uint cash, uint borrows, uint reserves, uint reserveFactorMantissa) public view returns (uint) {\n uint oneMinusReserveFactor = uint(1e18).sub(reserveFactorMantissa);\n uint borrowRate = getBorrowRateInternal(cash, borrows, reserves);\n uint rateToPool = borrowRate.mul(oneMinusReserveFactor).div(1e18);\n return utilizationRate(cash, borrows, reserves).mul(rateToPool).div(1e18);\n }\n\n /**\n * @notice Internal function to update the parameters of the interest rate model\n * @param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n * @param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n * @param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n * @param kink_ The utilization point at which the jump multiplier is applied\n */\n function updateJumpRateModelInternal(uint baseRatePerYear, uint multiplierPerYear, uint jumpMultiplierPerYear, uint kink_) internal {\n baseRatePerBlock = baseRatePerYear.div(blocksPerYear);\n multiplierPerBlock = (multiplierPerYear.mul(1e18)).div(blocksPerYear.mul(kink_));\n jumpMultiplierPerBlock = jumpMultiplierPerYear.div(blocksPerYear);\n kink = kink_;\n\n emit NewInterestParams(baseRatePerBlock, multiplierPerBlock, jumpMultiplierPerBlock, kink);\n }\n\n \n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", "exportedSymbols": { "BaseJumpRateModelV2": [ - 4840 + 4973 ] }, - "id": 4841, + "id": 4974, "nodeType": "SourceUnit", "nodes": [ { - "id": 4547, + "id": 4680, "literals": [ "solidity", "^", @@ -265,10 +265,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4548, + "id": 4681, "nodeType": "ImportDirective", - "scope": 4841, - "sourceUnit": 10795, + "scope": 4974, + "sourceUnit": 10958, "src": "25:59:15", "symbolAliases": [], "unitAlias": "" @@ -279,37 +279,37 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4549, + "id": 4682, "nodeType": "StructuredDocumentation", "src": "86:211:15", "text": "@title Logic for Compound's JumpRateModel Contract V2.\n@author Compound (modified by Dharma Labs, refactored by Arr00)\n@notice Version 2 modifies Version 1 by enabling updateable parameters." }, "fullyImplemented": true, - "id": 4840, + "id": 4973, "linearizedBaseContracts": [ - 4840 + 4973 ], "name": "BaseJumpRateModelV2", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4552, + "id": 4685, "libraryName": { "contractScope": null, - "id": 4550, + "id": 4683, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10794, + "referencedDeclaration": 10957, "src": "339:8:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10794", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "333:24:15", "typeName": { - "id": 4551, + "id": 4684, "name": "uint", "nodeType": "ElementaryTypeName", "src": "352:4:15", @@ -322,22 +322,22 @@ { "anonymous": false, "documentation": null, - "id": 4562, + "id": 4695, "name": "NewInterestParams", "nodeType": "EventDefinition", "parameters": { - "id": 4561, + "id": 4694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4554, + "id": 4687, "indexed": false, "mutability": "mutable", "name": "baseRatePerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "387:21:15", "stateVariable": false, "storageLocation": "default", @@ -346,7 +346,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4553, + "id": 4686, "name": "uint", "nodeType": "ElementaryTypeName", "src": "387:4:15", @@ -360,13 +360,13 @@ }, { "constant": false, - "id": 4556, + "id": 4689, "indexed": false, "mutability": "mutable", "name": "multiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "410:23:15", "stateVariable": false, "storageLocation": "default", @@ -375,7 +375,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4555, + "id": 4688, "name": "uint", "nodeType": "ElementaryTypeName", "src": "410:4:15", @@ -389,13 +389,13 @@ }, { "constant": false, - "id": 4558, + "id": 4691, "indexed": false, "mutability": "mutable", "name": "jumpMultiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "435:27:15", "stateVariable": false, "storageLocation": "default", @@ -404,7 +404,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4557, + "id": 4690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "435:4:15", @@ -418,13 +418,13 @@ }, { "constant": false, - "id": 4560, + "id": 4693, "indexed": false, "mutability": "mutable", "name": "kink", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "464:9:15", "stateVariable": false, "storageLocation": "default", @@ -433,7 +433,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4559, + "id": 4692, "name": "uint", "nodeType": "ElementaryTypeName", "src": "464:4:15", @@ -453,12 +453,12 @@ { "constant": false, "functionSelector": "8da5cb5b", - "id": 4564, + "id": 4697, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "603:20:15", "stateVariable": true, "storageLocation": "default", @@ -467,7 +467,7 @@ "typeString": "address" }, "typeName": { - "id": 4563, + "id": 4696, "name": "address", "nodeType": "ElementaryTypeName", "src": "603:7:15", @@ -483,12 +483,12 @@ { "constant": true, "functionSelector": "a385fb96", - "id": 4567, + "id": 4700, "mutability": "constant", "name": "blocksPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "746:44:15", "stateVariable": true, "storageLocation": "default", @@ -497,7 +497,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4565, + "id": 4698, "name": "uint", "nodeType": "ElementaryTypeName", "src": "746:4:15", @@ -509,7 +509,7 @@ "value": { "argumentTypes": null, "hexValue": "32313032343030", - "id": 4566, + "id": 4699, "isConstant": false, "isLValue": false, "isPure": true, @@ -529,12 +529,12 @@ { "constant": false, "functionSelector": "8726bb89", - "id": 4569, + "id": 4702, "mutability": "mutable", "name": "multiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "905:30:15", "stateVariable": true, "storageLocation": "default", @@ -543,7 +543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4568, + "id": 4701, "name": "uint", "nodeType": "ElementaryTypeName", "src": "905:4:15", @@ -558,12 +558,12 @@ { "constant": false, "functionSelector": "f14039de", - "id": 4571, + "id": 4704, "mutability": "mutable", "name": "baseRatePerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1048:28:15", "stateVariable": true, "storageLocation": "default", @@ -572,7 +572,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4570, + "id": 4703, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1048:4:15", @@ -587,12 +587,12 @@ { "constant": false, "functionSelector": "b9f9850a", - "id": 4573, + "id": 4706, "mutability": "mutable", "name": "jumpMultiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1181:34:15", "stateVariable": true, "storageLocation": "default", @@ -601,7 +601,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4572, + "id": 4705, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1181:4:15", @@ -616,12 +616,12 @@ { "constant": false, "functionSelector": "fd2da339", - "id": 4575, + "id": 4708, "mutability": "mutable", "name": "kink", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1315:16:15", "stateVariable": true, "storageLocation": "default", @@ -630,7 +630,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4574, + "id": 4707, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1315:4:15", @@ -644,25 +644,25 @@ }, { "body": { - "id": 4600, + "id": 4733, "nodeType": "Block", "src": "2035:136:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 4591, + "id": 4724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4589, + "id": 4722, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4564, + "referencedDeclaration": 4697, "src": "2045:5:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -673,11 +673,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4590, + "id": 4723, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4586, + "referencedDeclaration": 4719, "src": "2053:6:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -690,7 +690,7 @@ "typeString": "address" } }, - "id": 4592, + "id": 4725, "nodeType": "ExpressionStatement", "src": "2045:14:15" }, @@ -700,11 +700,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4594, + "id": 4727, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4578, + "referencedDeclaration": 4711, "src": "2098:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -713,11 +713,11 @@ }, { "argumentTypes": null, - "id": 4595, + "id": 4728, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4580, + "referencedDeclaration": 4713, "src": "2116:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -726,11 +726,11 @@ }, { "argumentTypes": null, - "id": 4596, + "id": 4729, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4582, + "referencedDeclaration": 4715, "src": "2135:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -739,11 +739,11 @@ }, { "argumentTypes": null, - "id": 4597, + "id": 4730, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4584, + "referencedDeclaration": 4717, "src": "2158:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -770,18 +770,18 @@ "typeString": "uint256" } ], - "id": 4593, + "id": 4726, "name": "updateJumpRateModelInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4972, "src": "2070:27:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4598, + "id": 4731, "isConstant": false, "isLValue": false, "isPure": false, @@ -796,19 +796,19 @@ "typeString": "tuple()" } }, - "id": 4599, + "id": 4732, "nodeType": "ExpressionStatement", "src": "2070:94:15" } ] }, "documentation": { - "id": 4576, + "id": 4709, "nodeType": "StructuredDocumentation", "src": "1338:569:15", "text": "@notice Construct an interest rate model\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied\n@param owner_ The address of the owner, i.e. the Timelock contract (which has the ability to update parameters directly)" }, - "id": 4601, + "id": 4734, "implemented": true, "kind": "constructor", "modifiers": [], @@ -816,17 +816,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4587, + "id": 4720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4578, + "id": 4711, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1924:20:15", "stateVariable": false, "storageLocation": "default", @@ -835,7 +835,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4577, + "id": 4710, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1924:4:15", @@ -849,12 +849,12 @@ }, { "constant": false, - "id": 4580, + "id": 4713, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1946:22:15", "stateVariable": false, "storageLocation": "default", @@ -863,7 +863,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4579, + "id": 4712, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1946:4:15", @@ -877,12 +877,12 @@ }, { "constant": false, - "id": 4582, + "id": 4715, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1970:26:15", "stateVariable": false, "storageLocation": "default", @@ -891,7 +891,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4581, + "id": 4714, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1970:4:15", @@ -905,12 +905,12 @@ }, { "constant": false, - "id": 4584, + "id": 4717, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1998:10:15", "stateVariable": false, "storageLocation": "default", @@ -919,7 +919,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4583, + "id": 4716, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1998:4:15", @@ -933,12 +933,12 @@ }, { "constant": false, - "id": 4586, + "id": 4719, "mutability": "mutable", "name": "owner_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "2010:14:15", "stateVariable": false, "storageLocation": "default", @@ -947,7 +947,7 @@ "typeString": "address" }, "typeName": { - "id": 4585, + "id": 4718, "name": "address", "nodeType": "ElementaryTypeName", "src": "2010:7:15", @@ -964,12 +964,12 @@ "src": "1923:102:15" }, "returnParameters": { - "id": 4588, + "id": 4721, "nodeType": "ParameterList", "parameters": [], "src": "2035:0:15" }, - "scope": 4840, + "scope": 4973, "src": "1912:259:15", "stateMutability": "nonpayable", "virtual": false, @@ -977,7 +977,7 @@ }, { "body": { - "id": 4628, + "id": 4761, "nodeType": "Block", "src": "2803:191:15", "statements": [ @@ -991,7 +991,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4617, + "id": 4750, "isConstant": false, "isLValue": false, "isPure": false, @@ -1000,7 +1000,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4614, + "id": 4747, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1011,7 +1011,7 @@ "typeString": "msg" } }, - "id": 4615, + "id": 4748, "isConstant": false, "isLValue": false, "isPure": false, @@ -1029,11 +1029,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4616, + "id": 4749, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4564, + "referencedDeclaration": 4697, "src": "2835:5:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1049,7 +1049,7 @@ { "argumentTypes": null, "hexValue": "6f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2e", - "id": 4618, + "id": 4751, "isConstant": false, "isLValue": false, "isPure": true, @@ -1076,7 +1076,7 @@ "typeString": "literal_string \"only the owner may call this function.\"" } ], - "id": 4613, + "id": 4746, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1090,7 +1090,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4619, + "id": 4752, "isConstant": false, "isLValue": false, "isPure": false, @@ -1105,7 +1105,7 @@ "typeString": "tuple()" } }, - "id": 4620, + "id": 4753, "nodeType": "ExpressionStatement", "src": "2813:70:15" }, @@ -1115,11 +1115,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4622, + "id": 4755, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4604, + "referencedDeclaration": 4737, "src": "2922:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1128,11 +1128,11 @@ }, { "argumentTypes": null, - "id": 4623, + "id": 4756, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4606, + "referencedDeclaration": 4739, "src": "2939:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1141,11 +1141,11 @@ }, { "argumentTypes": null, - "id": 4624, + "id": 4757, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4608, + "referencedDeclaration": 4741, "src": "2958:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1154,11 +1154,11 @@ }, { "argumentTypes": null, - "id": 4625, + "id": 4758, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, + "referencedDeclaration": 4743, "src": "2981:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1185,18 +1185,18 @@ "typeString": "uint256" } ], - "id": 4621, + "id": 4754, "name": "updateJumpRateModelInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4972, "src": "2894:27:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4626, + "id": 4759, "isConstant": false, "isLValue": false, "isPure": false, @@ -1211,20 +1211,20 @@ "typeString": "tuple()" } }, - "id": 4627, + "id": 4760, "nodeType": "ExpressionStatement", "src": "2894:93:15" } ] }, "documentation": { - "id": 4602, + "id": 4735, "nodeType": "StructuredDocumentation", "src": "2177:497:15", "text": "@notice Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied" }, "functionSelector": "2037f3e7", - "id": 4629, + "id": 4762, "implemented": true, "kind": "function", "modifiers": [], @@ -1232,17 +1232,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4611, + "id": 4744, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4604, + "id": 4737, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2708:20:15", "stateVariable": false, "storageLocation": "default", @@ -1251,7 +1251,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4603, + "id": 4736, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2708:4:15", @@ -1265,12 +1265,12 @@ }, { "constant": false, - "id": 4606, + "id": 4739, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2730:22:15", "stateVariable": false, "storageLocation": "default", @@ -1279,7 +1279,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4605, + "id": 4738, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2730:4:15", @@ -1293,12 +1293,12 @@ }, { "constant": false, - "id": 4608, + "id": 4741, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2754:26:15", "stateVariable": false, "storageLocation": "default", @@ -1307,7 +1307,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4607, + "id": 4740, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2754:4:15", @@ -1321,12 +1321,12 @@ }, { "constant": false, - "id": 4610, + "id": 4743, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2782:10:15", "stateVariable": false, "storageLocation": "default", @@ -1335,7 +1335,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4609, + "id": 4742, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2782:4:15", @@ -1351,12 +1351,12 @@ "src": "2707:86:15" }, "returnParameters": { - "id": 4612, + "id": 4745, "nodeType": "ParameterList", "parameters": [], "src": "2803:0:15" }, - "scope": 4840, + "scope": 4973, "src": "2679:315:15", "stateMutability": "nonpayable", "virtual": false, @@ -1364,7 +1364,7 @@ }, { "body": { - "id": 4662, + "id": 4795, "nodeType": "Block", "src": "3467:198:15", "statements": [ @@ -1375,18 +1375,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4643, + "id": 4776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4641, + "id": 4774, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3540:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1398,7 +1398,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4642, + "id": 4775, "isConstant": false, "isLValue": false, "isPure": true, @@ -1420,11 +1420,11 @@ } }, "falseBody": null, - "id": 4647, + "id": 4780, "nodeType": "IfStatement", "src": "3536:51:15", "trueBody": { - "id": 4646, + "id": 4779, "nodeType": "Block", "src": "3554:33:15", "statements": [ @@ -1432,7 +1432,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 4644, + "id": 4777, "isConstant": false, "isLValue": false, "isPure": true, @@ -1447,8 +1447,8 @@ }, "value": "0" }, - "functionReturnParameters": 4640, - "id": 4645, + "functionReturnParameters": 4773, + "id": 4778, "nodeType": "Return", "src": "3568:8:15" } @@ -1464,11 +1464,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4658, + "id": 4791, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4636, + "referencedDeclaration": 4769, "src": "3648:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1488,11 +1488,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4655, + "id": 4788, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3635:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1509,32 +1509,32 @@ ], "expression": { "argumentTypes": null, - "id": 4653, + "id": 4786, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4632, + "referencedDeclaration": 4765, "src": "3626:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4654, + "id": 4787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "3626:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4656, + "id": 4789, "isConstant": false, "isLValue": false, "isPure": false, @@ -1549,21 +1549,21 @@ "typeString": "uint256" } }, - "id": 4657, + "id": 4790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "3626:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4659, + "id": 4792, "isConstant": false, "isLValue": false, "isPure": false, @@ -1592,7 +1592,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4650, + "id": 4783, "isConstant": false, "isLValue": false, "isPure": true, @@ -1617,32 +1617,32 @@ ], "expression": { "argumentTypes": null, - "id": 4648, + "id": 4781, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3604:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4649, + "id": 4782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "3604:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4651, + "id": 4784, "isConstant": false, "isLValue": false, "isPure": false, @@ -1657,21 +1657,21 @@ "typeString": "uint256" } }, - "id": 4652, + "id": 4785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "3604:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4660, + "id": 4793, "isConstant": false, "isLValue": false, "isPure": false, @@ -1686,21 +1686,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4640, - "id": 4661, + "functionReturnParameters": 4773, + "id": 4794, "nodeType": "Return", "src": "3597:61:15" } ] }, "documentation": { - "id": 4630, + "id": 4763, "nodeType": "StructuredDocumentation", "src": "3000:370:15", "text": "@notice Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market (currently unused)\n@return The utilization rate as a mantissa between [0, 1e18]" }, "functionSelector": "6e71e2d8", - "id": 4663, + "id": 4796, "implemented": true, "kind": "function", "modifiers": [], @@ -1708,17 +1708,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4637, + "id": 4770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4632, + "id": 4765, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3400:9:15", "stateVariable": false, "storageLocation": "default", @@ -1727,7 +1727,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4631, + "id": 4764, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3400:4:15", @@ -1741,12 +1741,12 @@ }, { "constant": false, - "id": 4634, + "id": 4767, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3411:12:15", "stateVariable": false, "storageLocation": "default", @@ -1755,7 +1755,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4633, + "id": 4766, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3411:4:15", @@ -1769,12 +1769,12 @@ }, { "constant": false, - "id": 4636, + "id": 4769, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3425:13:15", "stateVariable": false, "storageLocation": "default", @@ -1783,7 +1783,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4635, + "id": 4768, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3425:4:15", @@ -1799,17 +1799,17 @@ "src": "3399:40:15" }, "returnParameters": { - "id": 4640, + "id": 4773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4639, + "id": 4772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3461:4:15", "stateVariable": false, "storageLocation": "default", @@ -1818,7 +1818,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4638, + "id": 4771, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3461:4:15", @@ -1833,7 +1833,7 @@ ], "src": "3460:6:15" }, - "scope": 4840, + "scope": 4973, "src": "3375:290:15", "stateMutability": "pure", "virtual": false, @@ -1841,23 +1841,23 @@ }, { "body": { - "id": 4731, + "id": 4864, "nodeType": "Block", "src": "4144:429:15", "statements": [ { "assignments": [ - 4676 + 4809 ], "declarations": [ { "constant": false, - "id": 4676, + "id": 4809, "mutability": "mutable", "name": "util", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4731, + "scope": 4864, "src": "4154:9:15", "stateVariable": false, "storageLocation": "default", @@ -1866,7 +1866,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4675, + "id": 4808, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4154:4:15", @@ -1879,17 +1879,17 @@ "visibility": "internal" } ], - "id": 4682, + "id": 4815, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4678, + "id": 4811, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4666, + "referencedDeclaration": 4799, "src": "4182:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1898,11 +1898,11 @@ }, { "argumentTypes": null, - "id": 4679, + "id": 4812, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4668, + "referencedDeclaration": 4801, "src": "4188:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1911,11 +1911,11 @@ }, { "argumentTypes": null, - "id": 4680, + "id": 4813, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4803, "src": "4197:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1938,18 +1938,18 @@ "typeString": "uint256" } ], - "id": 4677, + "id": 4810, "name": "utilizationRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4663, + "referencedDeclaration": 4796, "src": "4166:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 4681, + "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, @@ -1974,18 +1974,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4685, + "id": 4818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4683, + "id": 4816, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4221:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1996,11 +1996,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 4684, + "id": 4817, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4229:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2014,23 +2014,23 @@ } }, "falseBody": { - "id": 4729, + "id": 4862, "nodeType": "Block", "src": "4333:234:15", "statements": [ { "assignments": [ - 4699 + 4832 ], "declarations": [ { "constant": false, - "id": 4699, + "id": 4832, "mutability": "mutable", "name": "normalRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4729, + "scope": 4862, "src": "4347:15:15", "stateVariable": false, "storageLocation": "default", @@ -2039,7 +2039,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4698, + "id": 4831, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4347:4:15", @@ -2052,17 +2052,17 @@ "visibility": "internal" } ], - "id": 4710, + "id": 4843, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4708, + "id": 4841, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "4408:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2083,7 +2083,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4705, + "id": 4838, "isConstant": false, "isLValue": false, "isPure": true, @@ -2111,11 +2111,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4702, + "id": 4835, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "4374:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2132,32 +2132,32 @@ ], "expression": { "argumentTypes": null, - "id": 4700, + "id": 4833, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4365:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4701, + "id": 4834, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4365:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4703, + "id": 4836, "isConstant": false, "isLValue": false, "isPure": false, @@ -2172,21 +2172,21 @@ "typeString": "uint256" } }, - "id": 4704, + "id": 4837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4365:32:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4706, + "id": 4839, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "uint256" } }, - "id": 4707, + "id": 4840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4365:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4709, + "id": 4842, "isConstant": false, "isLValue": false, "isPure": false, @@ -2235,17 +2235,17 @@ }, { "assignments": [ - 4712 + 4845 ], "declarations": [ { "constant": false, - "id": 4712, + "id": 4845, "mutability": "mutable", "name": "excessUtil", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4729, + "scope": 4862, "src": "4439:15:15", "stateVariable": false, "storageLocation": "default", @@ -2254,7 +2254,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4711, + "id": 4844, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4439:4:15", @@ -2267,17 +2267,17 @@ "visibility": "internal" } ], - "id": 4717, + "id": 4850, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4715, + "id": 4848, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4466:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2294,32 +2294,32 @@ ], "expression": { "argumentTypes": null, - "id": 4713, + "id": 4846, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4457:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4714, + "id": 4847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "4457:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4716, + "id": 4849, "isConstant": false, "isLValue": false, "isPure": false, @@ -2343,11 +2343,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4726, + "id": 4859, "name": "normalRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4699, + "referencedDeclaration": 4832, "src": "4545:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2368,7 +2368,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4723, + "id": 4856, "isConstant": false, "isLValue": false, "isPure": true, @@ -2396,11 +2396,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4720, + "id": 4853, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "4507:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2417,32 +2417,32 @@ ], "expression": { "argumentTypes": null, - "id": 4718, + "id": 4851, "name": "excessUtil", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4712, + "referencedDeclaration": 4845, "src": "4492:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4719, + "id": 4852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4492:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4721, + "id": 4854, "isConstant": false, "isLValue": false, "isPure": false, @@ -2457,21 +2457,21 @@ "typeString": "uint256" } }, - "id": 4722, + "id": 4855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4492:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4724, + "id": 4857, "isConstant": false, "isLValue": false, "isPure": false, @@ -2486,21 +2486,21 @@ "typeString": "uint256" } }, - "id": 4725, + "id": 4858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4492:52:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4727, + "id": 4860, "isConstant": false, "isLValue": false, "isPure": false, @@ -2515,18 +2515,18 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4674, - "id": 4728, + "functionReturnParameters": 4807, + "id": 4861, "nodeType": "Return", "src": "4485:71:15" } ] }, - "id": 4730, + "id": 4863, "nodeType": "IfStatement", "src": "4217:350:15", "trueBody": { - "id": 4697, + "id": 4830, "nodeType": "Block", "src": "4235:92:15", "statements": [ @@ -2536,11 +2536,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4694, + "id": 4827, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "4299:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2561,7 +2561,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4691, + "id": 4824, "isConstant": false, "isLValue": false, "isPure": true, @@ -2589,11 +2589,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4688, + "id": 4821, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "4265:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2610,32 +2610,32 @@ ], "expression": { "argumentTypes": null, - "id": 4686, + "id": 4819, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4256:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4687, + "id": 4820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4256:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4689, + "id": 4822, "isConstant": false, "isLValue": false, "isPure": false, @@ -2650,21 +2650,21 @@ "typeString": "uint256" } }, - "id": 4690, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4256:32:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4692, + "id": 4825, "isConstant": false, "isLValue": false, "isPure": false, @@ -2679,21 +2679,21 @@ "typeString": "uint256" } }, - "id": 4693, + "id": 4826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4256:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4695, + "id": 4828, "isConstant": false, "isLValue": false, "isPure": false, @@ -2708,8 +2708,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4674, - "id": 4696, + "functionReturnParameters": 4807, + "id": 4829, "nodeType": "Return", "src": "4249:67:15" } @@ -2719,12 +2719,12 @@ ] }, "documentation": { - "id": 4664, + "id": 4797, "nodeType": "StructuredDocumentation", "src": "3671:368:15", "text": "@notice Calculates the current borrow rate per block, with the error code expected by the market\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@return The borrow rate percentage per block as a mantissa (scaled by 1e18)" }, - "id": 4732, + "id": 4865, "implemented": true, "kind": "function", "modifiers": [], @@ -2732,17 +2732,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4671, + "id": 4804, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4666, + "id": 4799, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4075:9:15", "stateVariable": false, "storageLocation": "default", @@ -2751,7 +2751,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4665, + "id": 4798, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4075:4:15", @@ -2765,12 +2765,12 @@ }, { "constant": false, - "id": 4668, + "id": 4801, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4086:12:15", "stateVariable": false, "storageLocation": "default", @@ -2779,7 +2779,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4667, + "id": 4800, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4086:4:15", @@ -2793,12 +2793,12 @@ }, { "constant": false, - "id": 4670, + "id": 4803, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4100:13:15", "stateVariable": false, "storageLocation": "default", @@ -2807,7 +2807,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4669, + "id": 4802, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4100:4:15", @@ -2823,17 +2823,17 @@ "src": "4074:40:15" }, "returnParameters": { - "id": 4674, + "id": 4807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4673, + "id": 4806, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4138:4:15", "stateVariable": false, "storageLocation": "default", @@ -2842,7 +2842,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4672, + "id": 4805, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4138:4:15", @@ -2857,7 +2857,7 @@ ], "src": "4137:6:15" }, - "scope": 4840, + "scope": 4973, "src": "4044:529:15", "stateMutability": "view", "virtual": false, @@ -2865,23 +2865,23 @@ }, { "body": { - "id": 4786, + "id": 4919, "nodeType": "Block", "src": "5105:315:15", "statements": [ { "assignments": [ - 4747 + 4880 ], "declarations": [ { "constant": false, - "id": 4747, + "id": 4880, "mutability": "mutable", "name": "oneMinusReserveFactor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5115:26:15", "stateVariable": false, "storageLocation": "default", @@ -2890,7 +2890,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4746, + "id": 4879, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5115:4:15", @@ -2903,17 +2903,17 @@ "visibility": "internal" } ], - "id": 4755, + "id": 4888, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4753, + "id": 4886, "name": "reserveFactorMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4741, + "referencedDeclaration": 4874, "src": "5159:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2934,7 +2934,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4750, + "id": 4883, "isConstant": false, "isLValue": false, "isPure": true, @@ -2957,7 +2957,7 @@ "typeString": "int_const 1000000000000000000" } ], - "id": 4749, + "id": 4882, "isConstant": false, "isLValue": false, "isPure": true, @@ -2969,7 +2969,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 4748, + "id": 4881, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5144:4:15", @@ -2979,7 +2979,7 @@ } } }, - "id": 4751, + "id": 4884, "isConstant": false, "isLValue": false, "isPure": true, @@ -2994,21 +2994,21 @@ "typeString": "uint256" } }, - "id": 4752, + "id": 4885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "5144:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4754, + "id": 4887, "isConstant": false, "isLValue": false, "isPure": false, @@ -3028,17 +3028,17 @@ }, { "assignments": [ - 4757 + 4890 ], "declarations": [ { "constant": false, - "id": 4757, + "id": 4890, "mutability": "mutable", "name": "borrowRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5191:15:15", "stateVariable": false, "storageLocation": "default", @@ -3047,7 +3047,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4756, + "id": 4889, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5191:4:15", @@ -3060,17 +3060,17 @@ "visibility": "internal" } ], - "id": 4763, + "id": 4896, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4759, + "id": 4892, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4868, "src": "5231:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3079,11 +3079,11 @@ }, { "argumentTypes": null, - "id": 4760, + "id": 4893, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4737, + "referencedDeclaration": 4870, "src": "5237:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3092,11 +3092,11 @@ }, { "argumentTypes": null, - "id": 4761, + "id": 4894, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4739, + "referencedDeclaration": 4872, "src": "5246:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3119,18 +3119,18 @@ "typeString": "uint256" } ], - "id": 4758, + "id": 4891, "name": "getBorrowRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4732, + "referencedDeclaration": 4865, "src": "5209:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 4762, + "id": 4895, "isConstant": false, "isLValue": false, "isPure": false, @@ -3150,17 +3150,17 @@ }, { "assignments": [ - 4765 + 4898 ], "declarations": [ { "constant": false, - "id": 4765, + "id": 4898, "mutability": "mutable", "name": "rateToPool", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5265:15:15", "stateVariable": false, "storageLocation": "default", @@ -3169,7 +3169,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4764, + "id": 4897, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5265:4:15", @@ -3182,14 +3182,14 @@ "visibility": "internal" } ], - "id": 4773, + "id": 4906, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31653138", - "id": 4771, + "id": 4904, "isConstant": false, "isLValue": false, "isPure": true, @@ -3217,11 +3217,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4768, + "id": 4901, "name": "oneMinusReserveFactor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4747, + "referencedDeclaration": 4880, "src": "5298:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3238,32 +3238,32 @@ ], "expression": { "argumentTypes": null, - "id": 4766, + "id": 4899, "name": "borrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4757, + "referencedDeclaration": 4890, "src": "5283:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4767, + "id": 4900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "5283:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4769, + "id": 4902, "isConstant": false, "isLValue": false, "isPure": false, @@ -3278,21 +3278,21 @@ "typeString": "uint256" } }, - "id": 4770, + "id": 4903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "5283:41:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4772, + "id": 4905, "isConstant": false, "isLValue": false, "isPure": false, @@ -3317,7 +3317,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4783, + "id": 4916, "isConstant": false, "isLValue": false, "isPure": true, @@ -3345,11 +3345,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4780, + "id": 4913, "name": "rateToPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4765, + "referencedDeclaration": 4898, "src": "5392:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3369,11 +3369,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4775, + "id": 4908, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4868, "src": "5363:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3382,11 +3382,11 @@ }, { "argumentTypes": null, - "id": 4776, + "id": 4909, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4737, + "referencedDeclaration": 4870, "src": "5369:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3395,11 +3395,11 @@ }, { "argumentTypes": null, - "id": 4777, + "id": 4910, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4739, + "referencedDeclaration": 4872, "src": "5378:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3422,18 +3422,18 @@ "typeString": "uint256" } ], - "id": 4774, + "id": 4907, "name": "utilizationRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4663, + "referencedDeclaration": 4796, "src": "5347:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 4778, + "id": 4911, "isConstant": false, "isLValue": false, "isPure": false, @@ -3448,21 +3448,21 @@ "typeString": "uint256" } }, - "id": 4779, + "id": 4912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "5347:44:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4781, + "id": 4914, "isConstant": false, "isLValue": false, "isPure": false, @@ -3477,21 +3477,21 @@ "typeString": "uint256" } }, - "id": 4782, + "id": 4915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "5347:60:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4784, + "id": 4917, "isConstant": false, "isLValue": false, "isPure": false, @@ -3506,21 +3506,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4745, - "id": 4785, + "functionReturnParameters": 4878, + "id": 4918, "nodeType": "Return", "src": "5340:73:15" } ] }, "documentation": { - "id": 4733, + "id": 4866, "nodeType": "StructuredDocumentation", "src": "4579:402:15", "text": "@notice Calculates the current supply rate per block\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@param reserveFactorMantissa The current reserve factor for the market\n@return The supply rate percentage per block as a mantissa (scaled by 1e18)" }, "functionSelector": "b8168816", - "id": 4787, + "id": 4920, "implemented": true, "kind": "function", "modifiers": [], @@ -3528,17 +3528,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4742, + "id": 4875, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4735, + "id": 4868, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5009:9:15", "stateVariable": false, "storageLocation": "default", @@ -3547,7 +3547,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4734, + "id": 4867, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5009:4:15", @@ -3561,12 +3561,12 @@ }, { "constant": false, - "id": 4737, + "id": 4870, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5020:12:15", "stateVariable": false, "storageLocation": "default", @@ -3575,7 +3575,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4736, + "id": 4869, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5020:4:15", @@ -3589,12 +3589,12 @@ }, { "constant": false, - "id": 4739, + "id": 4872, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5034:13:15", "stateVariable": false, "storageLocation": "default", @@ -3603,7 +3603,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4738, + "id": 4871, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5034:4:15", @@ -3617,12 +3617,12 @@ }, { "constant": false, - "id": 4741, + "id": 4874, "mutability": "mutable", "name": "reserveFactorMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5049:26:15", "stateVariable": false, "storageLocation": "default", @@ -3631,7 +3631,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4740, + "id": 4873, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5049:4:15", @@ -3647,17 +3647,17 @@ "src": "5008:68:15" }, "returnParameters": { - "id": 4745, + "id": 4878, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4744, + "id": 4877, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5099:4:15", "stateVariable": false, "storageLocation": "default", @@ -3666,7 +3666,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4743, + "id": 4876, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5099:4:15", @@ -3681,7 +3681,7 @@ ], "src": "5098:6:15" }, - "scope": 4840, + "scope": 4973, "src": "4986:434:15", "stateMutability": "view", "virtual": false, @@ -3689,25 +3689,25 @@ }, { "body": { - "id": 4838, + "id": 4971, "nodeType": "Block", "src": "6041:358:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 4804, + "id": 4937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4799, + "id": 4932, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "6051:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3721,11 +3721,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4802, + "id": 4935, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6090:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3742,32 +3742,32 @@ ], "expression": { "argumentTypes": null, - "id": 4800, + "id": 4933, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, + "referencedDeclaration": 4923, "src": "6070:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4801, + "id": 4934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6070:19:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4803, + "id": 4936, "isConstant": false, "isLValue": false, "isPure": false, @@ -3788,25 +3788,25 @@ "typeString": "uint256" } }, - "id": 4805, + "id": 4938, "nodeType": "ExpressionStatement", "src": "6051:53:15" }, { "expression": { "argumentTypes": null, - "id": 4818, + "id": 4951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4806, + "id": 4939, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "6114:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3823,11 +3823,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4815, + "id": 4948, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, + "referencedDeclaration": 4929, "src": "6187:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3844,32 +3844,32 @@ ], "expression": { "argumentTypes": null, - "id": 4813, + "id": 4946, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6169:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4814, + "id": 4947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "6169:17:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4816, + "id": 4949, "isConstant": false, "isLValue": false, "isPure": false, @@ -3901,7 +3901,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4809, + "id": 4942, "isConstant": false, "isLValue": false, "isPure": true, @@ -3926,32 +3926,32 @@ ], "expression": { "argumentTypes": null, - "id": 4807, + "id": 4940, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, + "referencedDeclaration": 4925, "src": "6136:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4808, + "id": 4941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "6136:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4810, + "id": 4943, "isConstant": false, "isLValue": false, "isPure": false, @@ -3967,7 +3967,7 @@ } } ], - "id": 4811, + "id": 4944, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3980,21 +3980,21 @@ "typeString": "uint256" } }, - "id": 4812, + "id": 4945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6135:33:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4817, + "id": 4950, "isConstant": false, "isLValue": false, "isPure": false, @@ -4015,25 +4015,25 @@ "typeString": "uint256" } }, - "id": 4819, + "id": 4952, "nodeType": "ExpressionStatement", "src": "6114:80:15" }, { "expression": { "argumentTypes": null, - "id": 4825, + "id": 4958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4820, + "id": 4953, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "6204:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4047,11 +4047,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4823, + "id": 4956, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6255:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4068,32 +4068,32 @@ ], "expression": { "argumentTypes": null, - "id": 4821, + "id": 4954, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4794, + "referencedDeclaration": 4927, "src": "6229:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4822, + "id": 4955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6229:25:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4824, + "id": 4957, "isConstant": false, "isLValue": false, "isPure": false, @@ -4114,25 +4114,25 @@ "typeString": "uint256" } }, - "id": 4826, + "id": 4959, "nodeType": "ExpressionStatement", "src": "6204:65:15" }, { "expression": { "argumentTypes": null, - "id": 4829, + "id": 4962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4827, + "id": 4960, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "6279:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4143,11 +4143,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4828, + "id": 4961, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, + "referencedDeclaration": 4929, "src": "6286:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4160,7 +4160,7 @@ "typeString": "uint256" } }, - "id": 4830, + "id": 4963, "nodeType": "ExpressionStatement", "src": "6279:12:15" }, @@ -4170,11 +4170,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4832, + "id": 4965, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "6325:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4183,11 +4183,11 @@ }, { "argumentTypes": null, - "id": 4833, + "id": 4966, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "6343:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4196,11 +4196,11 @@ }, { "argumentTypes": null, - "id": 4834, + "id": 4967, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "6363:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4209,11 +4209,11 @@ }, { "argumentTypes": null, - "id": 4835, + "id": 4968, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "6387:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4240,18 +4240,18 @@ "typeString": "uint256" } ], - "id": 4831, + "id": 4964, "name": "NewInterestParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4562, + "referencedDeclaration": 4695, "src": "6307:17:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4836, + "id": 4969, "isConstant": false, "isLValue": false, "isPure": false, @@ -4266,19 +4266,19 @@ "typeString": "tuple()" } }, - "id": 4837, + "id": 4970, "nodeType": "EmitStatement", "src": "6302:90:15" } ] }, "documentation": { - "id": 4788, + "id": 4921, "nodeType": "StructuredDocumentation", "src": "5426:478:15", "text": "@notice Internal function to update the parameters of the interest rate model\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied" }, - "id": 4839, + "id": 4972, "implemented": true, "kind": "function", "modifiers": [], @@ -4286,17 +4286,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4797, + "id": 4930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4790, + "id": 4923, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5946:20:15", "stateVariable": false, "storageLocation": "default", @@ -4305,7 +4305,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4789, + "id": 4922, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5946:4:15", @@ -4319,12 +4319,12 @@ }, { "constant": false, - "id": 4792, + "id": 4925, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5968:22:15", "stateVariable": false, "storageLocation": "default", @@ -4333,7 +4333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4791, + "id": 4924, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5968:4:15", @@ -4347,12 +4347,12 @@ }, { "constant": false, - "id": 4794, + "id": 4927, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5992:26:15", "stateVariable": false, "storageLocation": "default", @@ -4361,7 +4361,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4793, + "id": 4926, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5992:4:15", @@ -4375,12 +4375,12 @@ }, { "constant": false, - "id": 4796, + "id": 4929, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "6020:10:15", "stateVariable": false, "storageLocation": "default", @@ -4389,7 +4389,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4795, + "id": 4928, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6020:4:15", @@ -4405,36 +4405,36 @@ "src": "5945:86:15" }, "returnParameters": { - "id": 4798, + "id": 4931, "nodeType": "ParameterList", "parameters": [], "src": "6041:0:15" }, - "scope": 4840, + "scope": 4973, "src": "5909:490:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 4841, + "scope": 4974, "src": "298:6109:15" } ], "src": "0:6408:15" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", "exportedSymbols": { "BaseJumpRateModelV2": [ - 4840 + 4973 ] }, - "id": 4841, + "id": 4974, "nodeType": "SourceUnit", "nodes": [ { - "id": 4547, + "id": 4680, "literals": [ "solidity", "^", @@ -4447,10 +4447,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4548, + "id": 4681, "nodeType": "ImportDirective", - "scope": 4841, - "sourceUnit": 10795, + "scope": 4974, + "sourceUnit": 10958, "src": "25:59:15", "symbolAliases": [], "unitAlias": "" @@ -4461,37 +4461,37 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4549, + "id": 4682, "nodeType": "StructuredDocumentation", "src": "86:211:15", "text": "@title Logic for Compound's JumpRateModel Contract V2.\n@author Compound (modified by Dharma Labs, refactored by Arr00)\n@notice Version 2 modifies Version 1 by enabling updateable parameters." }, "fullyImplemented": true, - "id": 4840, + "id": 4973, "linearizedBaseContracts": [ - 4840 + 4973 ], "name": "BaseJumpRateModelV2", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4552, + "id": 4685, "libraryName": { "contractScope": null, - "id": 4550, + "id": 4683, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10794, + "referencedDeclaration": 10957, "src": "339:8:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10794", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "333:24:15", "typeName": { - "id": 4551, + "id": 4684, "name": "uint", "nodeType": "ElementaryTypeName", "src": "352:4:15", @@ -4504,22 +4504,22 @@ { "anonymous": false, "documentation": null, - "id": 4562, + "id": 4695, "name": "NewInterestParams", "nodeType": "EventDefinition", "parameters": { - "id": 4561, + "id": 4694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4554, + "id": 4687, "indexed": false, "mutability": "mutable", "name": "baseRatePerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "387:21:15", "stateVariable": false, "storageLocation": "default", @@ -4528,7 +4528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4553, + "id": 4686, "name": "uint", "nodeType": "ElementaryTypeName", "src": "387:4:15", @@ -4542,13 +4542,13 @@ }, { "constant": false, - "id": 4556, + "id": 4689, "indexed": false, "mutability": "mutable", "name": "multiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "410:23:15", "stateVariable": false, "storageLocation": "default", @@ -4557,7 +4557,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4555, + "id": 4688, "name": "uint", "nodeType": "ElementaryTypeName", "src": "410:4:15", @@ -4571,13 +4571,13 @@ }, { "constant": false, - "id": 4558, + "id": 4691, "indexed": false, "mutability": "mutable", "name": "jumpMultiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "435:27:15", "stateVariable": false, "storageLocation": "default", @@ -4586,7 +4586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4557, + "id": 4690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "435:4:15", @@ -4600,13 +4600,13 @@ }, { "constant": false, - "id": 4560, + "id": 4693, "indexed": false, "mutability": "mutable", "name": "kink", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4562, + "scope": 4695, "src": "464:9:15", "stateVariable": false, "storageLocation": "default", @@ -4615,7 +4615,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4559, + "id": 4692, "name": "uint", "nodeType": "ElementaryTypeName", "src": "464:4:15", @@ -4635,12 +4635,12 @@ { "constant": false, "functionSelector": "8da5cb5b", - "id": 4564, + "id": 4697, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "603:20:15", "stateVariable": true, "storageLocation": "default", @@ -4649,7 +4649,7 @@ "typeString": "address" }, "typeName": { - "id": 4563, + "id": 4696, "name": "address", "nodeType": "ElementaryTypeName", "src": "603:7:15", @@ -4665,12 +4665,12 @@ { "constant": true, "functionSelector": "a385fb96", - "id": 4567, + "id": 4700, "mutability": "constant", "name": "blocksPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "746:44:15", "stateVariable": true, "storageLocation": "default", @@ -4679,7 +4679,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4565, + "id": 4698, "name": "uint", "nodeType": "ElementaryTypeName", "src": "746:4:15", @@ -4691,7 +4691,7 @@ "value": { "argumentTypes": null, "hexValue": "32313032343030", - "id": 4566, + "id": 4699, "isConstant": false, "isLValue": false, "isPure": true, @@ -4711,12 +4711,12 @@ { "constant": false, "functionSelector": "8726bb89", - "id": 4569, + "id": 4702, "mutability": "mutable", "name": "multiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "905:30:15", "stateVariable": true, "storageLocation": "default", @@ -4725,7 +4725,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4568, + "id": 4701, "name": "uint", "nodeType": "ElementaryTypeName", "src": "905:4:15", @@ -4740,12 +4740,12 @@ { "constant": false, "functionSelector": "f14039de", - "id": 4571, + "id": 4704, "mutability": "mutable", "name": "baseRatePerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1048:28:15", "stateVariable": true, "storageLocation": "default", @@ -4754,7 +4754,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4570, + "id": 4703, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1048:4:15", @@ -4769,12 +4769,12 @@ { "constant": false, "functionSelector": "b9f9850a", - "id": 4573, + "id": 4706, "mutability": "mutable", "name": "jumpMultiplierPerBlock", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1181:34:15", "stateVariable": true, "storageLocation": "default", @@ -4783,7 +4783,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4572, + "id": 4705, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1181:4:15", @@ -4798,12 +4798,12 @@ { "constant": false, "functionSelector": "fd2da339", - "id": 4575, + "id": 4708, "mutability": "mutable", "name": "kink", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4840, + "scope": 4973, "src": "1315:16:15", "stateVariable": true, "storageLocation": "default", @@ -4812,7 +4812,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4574, + "id": 4707, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1315:4:15", @@ -4826,25 +4826,25 @@ }, { "body": { - "id": 4600, + "id": 4733, "nodeType": "Block", "src": "2035:136:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 4591, + "id": 4724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4589, + "id": 4722, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4564, + "referencedDeclaration": 4697, "src": "2045:5:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4855,11 +4855,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4590, + "id": 4723, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4586, + "referencedDeclaration": 4719, "src": "2053:6:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4872,7 +4872,7 @@ "typeString": "address" } }, - "id": 4592, + "id": 4725, "nodeType": "ExpressionStatement", "src": "2045:14:15" }, @@ -4882,11 +4882,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4594, + "id": 4727, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4578, + "referencedDeclaration": 4711, "src": "2098:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4895,11 +4895,11 @@ }, { "argumentTypes": null, - "id": 4595, + "id": 4728, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4580, + "referencedDeclaration": 4713, "src": "2116:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4908,11 +4908,11 @@ }, { "argumentTypes": null, - "id": 4596, + "id": 4729, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4582, + "referencedDeclaration": 4715, "src": "2135:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4921,11 +4921,11 @@ }, { "argumentTypes": null, - "id": 4597, + "id": 4730, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4584, + "referencedDeclaration": 4717, "src": "2158:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4952,18 +4952,18 @@ "typeString": "uint256" } ], - "id": 4593, + "id": 4726, "name": "updateJumpRateModelInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4972, "src": "2070:27:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4598, + "id": 4731, "isConstant": false, "isLValue": false, "isPure": false, @@ -4978,19 +4978,19 @@ "typeString": "tuple()" } }, - "id": 4599, + "id": 4732, "nodeType": "ExpressionStatement", "src": "2070:94:15" } ] }, "documentation": { - "id": 4576, + "id": 4709, "nodeType": "StructuredDocumentation", "src": "1338:569:15", "text": "@notice Construct an interest rate model\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied\n@param owner_ The address of the owner, i.e. the Timelock contract (which has the ability to update parameters directly)" }, - "id": 4601, + "id": 4734, "implemented": true, "kind": "constructor", "modifiers": [], @@ -4998,17 +4998,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4587, + "id": 4720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4578, + "id": 4711, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1924:20:15", "stateVariable": false, "storageLocation": "default", @@ -5017,7 +5017,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4577, + "id": 4710, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1924:4:15", @@ -5031,12 +5031,12 @@ }, { "constant": false, - "id": 4580, + "id": 4713, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1946:22:15", "stateVariable": false, "storageLocation": "default", @@ -5045,7 +5045,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4579, + "id": 4712, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1946:4:15", @@ -5059,12 +5059,12 @@ }, { "constant": false, - "id": 4582, + "id": 4715, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1970:26:15", "stateVariable": false, "storageLocation": "default", @@ -5073,7 +5073,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4581, + "id": 4714, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1970:4:15", @@ -5087,12 +5087,12 @@ }, { "constant": false, - "id": 4584, + "id": 4717, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "1998:10:15", "stateVariable": false, "storageLocation": "default", @@ -5101,7 +5101,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4583, + "id": 4716, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1998:4:15", @@ -5115,12 +5115,12 @@ }, { "constant": false, - "id": 4586, + "id": 4719, "mutability": "mutable", "name": "owner_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4601, + "scope": 4734, "src": "2010:14:15", "stateVariable": false, "storageLocation": "default", @@ -5129,7 +5129,7 @@ "typeString": "address" }, "typeName": { - "id": 4585, + "id": 4718, "name": "address", "nodeType": "ElementaryTypeName", "src": "2010:7:15", @@ -5146,12 +5146,12 @@ "src": "1923:102:15" }, "returnParameters": { - "id": 4588, + "id": 4721, "nodeType": "ParameterList", "parameters": [], "src": "2035:0:15" }, - "scope": 4840, + "scope": 4973, "src": "1912:259:15", "stateMutability": "nonpayable", "virtual": false, @@ -5159,7 +5159,7 @@ }, { "body": { - "id": 4628, + "id": 4761, "nodeType": "Block", "src": "2803:191:15", "statements": [ @@ -5173,7 +5173,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4617, + "id": 4750, "isConstant": false, "isLValue": false, "isPure": false, @@ -5182,7 +5182,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4614, + "id": 4747, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5193,7 +5193,7 @@ "typeString": "msg" } }, - "id": 4615, + "id": 4748, "isConstant": false, "isLValue": false, "isPure": false, @@ -5211,11 +5211,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4616, + "id": 4749, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4564, + "referencedDeclaration": 4697, "src": "2835:5:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5231,7 +5231,7 @@ { "argumentTypes": null, "hexValue": "6f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2e", - "id": 4618, + "id": 4751, "isConstant": false, "isLValue": false, "isPure": true, @@ -5258,7 +5258,7 @@ "typeString": "literal_string \"only the owner may call this function.\"" } ], - "id": 4613, + "id": 4746, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5272,7 +5272,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4619, + "id": 4752, "isConstant": false, "isLValue": false, "isPure": false, @@ -5287,7 +5287,7 @@ "typeString": "tuple()" } }, - "id": 4620, + "id": 4753, "nodeType": "ExpressionStatement", "src": "2813:70:15" }, @@ -5297,11 +5297,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4622, + "id": 4755, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4604, + "referencedDeclaration": 4737, "src": "2922:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5310,11 +5310,11 @@ }, { "argumentTypes": null, - "id": 4623, + "id": 4756, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4606, + "referencedDeclaration": 4739, "src": "2939:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5323,11 +5323,11 @@ }, { "argumentTypes": null, - "id": 4624, + "id": 4757, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4608, + "referencedDeclaration": 4741, "src": "2958:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5336,11 +5336,11 @@ }, { "argumentTypes": null, - "id": 4625, + "id": 4758, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4610, + "referencedDeclaration": 4743, "src": "2981:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5367,18 +5367,18 @@ "typeString": "uint256" } ], - "id": 4621, + "id": 4754, "name": "updateJumpRateModelInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4839, + "referencedDeclaration": 4972, "src": "2894:27:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4626, + "id": 4759, "isConstant": false, "isLValue": false, "isPure": false, @@ -5393,20 +5393,20 @@ "typeString": "tuple()" } }, - "id": 4627, + "id": 4760, "nodeType": "ExpressionStatement", "src": "2894:93:15" } ] }, "documentation": { - "id": 4602, + "id": 4735, "nodeType": "StructuredDocumentation", "src": "2177:497:15", "text": "@notice Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied" }, "functionSelector": "2037f3e7", - "id": 4629, + "id": 4762, "implemented": true, "kind": "function", "modifiers": [], @@ -5414,17 +5414,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4611, + "id": 4744, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4604, + "id": 4737, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2708:20:15", "stateVariable": false, "storageLocation": "default", @@ -5433,7 +5433,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4603, + "id": 4736, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2708:4:15", @@ -5447,12 +5447,12 @@ }, { "constant": false, - "id": 4606, + "id": 4739, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2730:22:15", "stateVariable": false, "storageLocation": "default", @@ -5461,7 +5461,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4605, + "id": 4738, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2730:4:15", @@ -5475,12 +5475,12 @@ }, { "constant": false, - "id": 4608, + "id": 4741, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2754:26:15", "stateVariable": false, "storageLocation": "default", @@ -5489,7 +5489,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4607, + "id": 4740, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2754:4:15", @@ -5503,12 +5503,12 @@ }, { "constant": false, - "id": 4610, + "id": 4743, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4629, + "scope": 4762, "src": "2782:10:15", "stateVariable": false, "storageLocation": "default", @@ -5517,7 +5517,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4609, + "id": 4742, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2782:4:15", @@ -5533,12 +5533,12 @@ "src": "2707:86:15" }, "returnParameters": { - "id": 4612, + "id": 4745, "nodeType": "ParameterList", "parameters": [], "src": "2803:0:15" }, - "scope": 4840, + "scope": 4973, "src": "2679:315:15", "stateMutability": "nonpayable", "virtual": false, @@ -5546,7 +5546,7 @@ }, { "body": { - "id": 4662, + "id": 4795, "nodeType": "Block", "src": "3467:198:15", "statements": [ @@ -5557,18 +5557,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4643, + "id": 4776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4641, + "id": 4774, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3540:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5580,7 +5580,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4642, + "id": 4775, "isConstant": false, "isLValue": false, "isPure": true, @@ -5602,11 +5602,11 @@ } }, "falseBody": null, - "id": 4647, + "id": 4780, "nodeType": "IfStatement", "src": "3536:51:15", "trueBody": { - "id": 4646, + "id": 4779, "nodeType": "Block", "src": "3554:33:15", "statements": [ @@ -5614,7 +5614,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 4644, + "id": 4777, "isConstant": false, "isLValue": false, "isPure": true, @@ -5629,8 +5629,8 @@ }, "value": "0" }, - "functionReturnParameters": 4640, - "id": 4645, + "functionReturnParameters": 4773, + "id": 4778, "nodeType": "Return", "src": "3568:8:15" } @@ -5646,11 +5646,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4658, + "id": 4791, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4636, + "referencedDeclaration": 4769, "src": "3648:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5670,11 +5670,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4655, + "id": 4788, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3635:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5691,32 +5691,32 @@ ], "expression": { "argumentTypes": null, - "id": 4653, + "id": 4786, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4632, + "referencedDeclaration": 4765, "src": "3626:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4654, + "id": 4787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "3626:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4656, + "id": 4789, "isConstant": false, "isLValue": false, "isPure": false, @@ -5731,21 +5731,21 @@ "typeString": "uint256" } }, - "id": 4657, + "id": 4790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "3626:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4659, + "id": 4792, "isConstant": false, "isLValue": false, "isPure": false, @@ -5774,7 +5774,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4650, + "id": 4783, "isConstant": false, "isLValue": false, "isPure": true, @@ -5799,32 +5799,32 @@ ], "expression": { "argumentTypes": null, - "id": 4648, + "id": 4781, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4634, + "referencedDeclaration": 4767, "src": "3604:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4649, + "id": 4782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "3604:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4651, + "id": 4784, "isConstant": false, "isLValue": false, "isPure": false, @@ -5839,21 +5839,21 @@ "typeString": "uint256" } }, - "id": 4652, + "id": 4785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "3604:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4660, + "id": 4793, "isConstant": false, "isLValue": false, "isPure": false, @@ -5868,21 +5868,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4640, - "id": 4661, + "functionReturnParameters": 4773, + "id": 4794, "nodeType": "Return", "src": "3597:61:15" } ] }, "documentation": { - "id": 4630, + "id": 4763, "nodeType": "StructuredDocumentation", "src": "3000:370:15", "text": "@notice Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market (currently unused)\n@return The utilization rate as a mantissa between [0, 1e18]" }, "functionSelector": "6e71e2d8", - "id": 4663, + "id": 4796, "implemented": true, "kind": "function", "modifiers": [], @@ -5890,17 +5890,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4637, + "id": 4770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4632, + "id": 4765, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3400:9:15", "stateVariable": false, "storageLocation": "default", @@ -5909,7 +5909,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4631, + "id": 4764, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3400:4:15", @@ -5923,12 +5923,12 @@ }, { "constant": false, - "id": 4634, + "id": 4767, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3411:12:15", "stateVariable": false, "storageLocation": "default", @@ -5937,7 +5937,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4633, + "id": 4766, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3411:4:15", @@ -5951,12 +5951,12 @@ }, { "constant": false, - "id": 4636, + "id": 4769, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3425:13:15", "stateVariable": false, "storageLocation": "default", @@ -5965,7 +5965,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4635, + "id": 4768, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3425:4:15", @@ -5981,17 +5981,17 @@ "src": "3399:40:15" }, "returnParameters": { - "id": 4640, + "id": 4773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4639, + "id": 4772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4663, + "scope": 4796, "src": "3461:4:15", "stateVariable": false, "storageLocation": "default", @@ -6000,7 +6000,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4638, + "id": 4771, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3461:4:15", @@ -6015,7 +6015,7 @@ ], "src": "3460:6:15" }, - "scope": 4840, + "scope": 4973, "src": "3375:290:15", "stateMutability": "pure", "virtual": false, @@ -6023,23 +6023,23 @@ }, { "body": { - "id": 4731, + "id": 4864, "nodeType": "Block", "src": "4144:429:15", "statements": [ { "assignments": [ - 4676 + 4809 ], "declarations": [ { "constant": false, - "id": 4676, + "id": 4809, "mutability": "mutable", "name": "util", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4731, + "scope": 4864, "src": "4154:9:15", "stateVariable": false, "storageLocation": "default", @@ -6048,7 +6048,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4675, + "id": 4808, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4154:4:15", @@ -6061,17 +6061,17 @@ "visibility": "internal" } ], - "id": 4682, + "id": 4815, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4678, + "id": 4811, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4666, + "referencedDeclaration": 4799, "src": "4182:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6080,11 +6080,11 @@ }, { "argumentTypes": null, - "id": 4679, + "id": 4812, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4668, + "referencedDeclaration": 4801, "src": "4188:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6093,11 +6093,11 @@ }, { "argumentTypes": null, - "id": 4680, + "id": 4813, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4803, "src": "4197:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6120,18 +6120,18 @@ "typeString": "uint256" } ], - "id": 4677, + "id": 4810, "name": "utilizationRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4663, + "referencedDeclaration": 4796, "src": "4166:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 4681, + "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, @@ -6156,18 +6156,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4685, + "id": 4818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4683, + "id": 4816, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4221:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6178,11 +6178,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 4684, + "id": 4817, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4229:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6196,23 +6196,23 @@ } }, "falseBody": { - "id": 4729, + "id": 4862, "nodeType": "Block", "src": "4333:234:15", "statements": [ { "assignments": [ - 4699 + 4832 ], "declarations": [ { "constant": false, - "id": 4699, + "id": 4832, "mutability": "mutable", "name": "normalRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4729, + "scope": 4862, "src": "4347:15:15", "stateVariable": false, "storageLocation": "default", @@ -6221,7 +6221,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4698, + "id": 4831, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4347:4:15", @@ -6234,17 +6234,17 @@ "visibility": "internal" } ], - "id": 4710, + "id": 4843, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4708, + "id": 4841, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "4408:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6265,7 +6265,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4705, + "id": 4838, "isConstant": false, "isLValue": false, "isPure": true, @@ -6293,11 +6293,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4702, + "id": 4835, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "4374:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6314,32 +6314,32 @@ ], "expression": { "argumentTypes": null, - "id": 4700, + "id": 4833, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4365:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4701, + "id": 4834, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4365:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4703, + "id": 4836, "isConstant": false, "isLValue": false, "isPure": false, @@ -6354,21 +6354,21 @@ "typeString": "uint256" } }, - "id": 4704, + "id": 4837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4365:32:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4706, + "id": 4839, "isConstant": false, "isLValue": false, "isPure": false, @@ -6383,21 +6383,21 @@ "typeString": "uint256" } }, - "id": 4707, + "id": 4840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4365:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4709, + "id": 4842, "isConstant": false, "isLValue": false, "isPure": false, @@ -6417,17 +6417,17 @@ }, { "assignments": [ - 4712 + 4845 ], "declarations": [ { "constant": false, - "id": 4712, + "id": 4845, "mutability": "mutable", "name": "excessUtil", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4729, + "scope": 4862, "src": "4439:15:15", "stateVariable": false, "storageLocation": "default", @@ -6436,7 +6436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4711, + "id": 4844, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4439:4:15", @@ -6449,17 +6449,17 @@ "visibility": "internal" } ], - "id": 4717, + "id": 4850, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4715, + "id": 4848, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "4466:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6476,32 +6476,32 @@ ], "expression": { "argumentTypes": null, - "id": 4713, + "id": 4846, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4457:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4714, + "id": 4847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "4457:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4716, + "id": 4849, "isConstant": false, "isLValue": false, "isPure": false, @@ -6525,11 +6525,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4726, + "id": 4859, "name": "normalRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4699, + "referencedDeclaration": 4832, "src": "4545:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6550,7 +6550,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4723, + "id": 4856, "isConstant": false, "isLValue": false, "isPure": true, @@ -6578,11 +6578,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4720, + "id": 4853, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "4507:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6599,32 +6599,32 @@ ], "expression": { "argumentTypes": null, - "id": 4718, + "id": 4851, "name": "excessUtil", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4712, + "referencedDeclaration": 4845, "src": "4492:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4719, + "id": 4852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4492:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4721, + "id": 4854, "isConstant": false, "isLValue": false, "isPure": false, @@ -6639,21 +6639,21 @@ "typeString": "uint256" } }, - "id": 4722, + "id": 4855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4492:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4724, + "id": 4857, "isConstant": false, "isLValue": false, "isPure": false, @@ -6668,21 +6668,21 @@ "typeString": "uint256" } }, - "id": 4725, + "id": 4858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4492:52:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4727, + "id": 4860, "isConstant": false, "isLValue": false, "isPure": false, @@ -6697,18 +6697,18 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4674, - "id": 4728, + "functionReturnParameters": 4807, + "id": 4861, "nodeType": "Return", "src": "4485:71:15" } ] }, - "id": 4730, + "id": 4863, "nodeType": "IfStatement", "src": "4217:350:15", "trueBody": { - "id": 4697, + "id": 4830, "nodeType": "Block", "src": "4235:92:15", "statements": [ @@ -6718,11 +6718,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4694, + "id": 4827, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "4299:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6743,7 +6743,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4691, + "id": 4824, "isConstant": false, "isLValue": false, "isPure": true, @@ -6771,11 +6771,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4688, + "id": 4821, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "4265:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6792,32 +6792,32 @@ ], "expression": { "argumentTypes": null, - "id": 4686, + "id": 4819, "name": "util", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4676, + "referencedDeclaration": 4809, "src": "4256:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4687, + "id": 4820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "4256:8:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4689, + "id": 4822, "isConstant": false, "isLValue": false, "isPure": false, @@ -6832,21 +6832,21 @@ "typeString": "uint256" } }, - "id": 4690, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "4256:32:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4692, + "id": 4825, "isConstant": false, "isLValue": false, "isPure": false, @@ -6861,21 +6861,21 @@ "typeString": "uint256" } }, - "id": 4693, + "id": 4826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, + "referencedDeclaration": 10790, "src": "4256:42:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4695, + "id": 4828, "isConstant": false, "isLValue": false, "isPure": false, @@ -6890,8 +6890,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4674, - "id": 4696, + "functionReturnParameters": 4807, + "id": 4829, "nodeType": "Return", "src": "4249:67:15" } @@ -6901,12 +6901,12 @@ ] }, "documentation": { - "id": 4664, + "id": 4797, "nodeType": "StructuredDocumentation", "src": "3671:368:15", "text": "@notice Calculates the current borrow rate per block, with the error code expected by the market\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@return The borrow rate percentage per block as a mantissa (scaled by 1e18)" }, - "id": 4732, + "id": 4865, "implemented": true, "kind": "function", "modifiers": [], @@ -6914,17 +6914,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4671, + "id": 4804, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4666, + "id": 4799, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4075:9:15", "stateVariable": false, "storageLocation": "default", @@ -6933,7 +6933,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4665, + "id": 4798, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4075:4:15", @@ -6947,12 +6947,12 @@ }, { "constant": false, - "id": 4668, + "id": 4801, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4086:12:15", "stateVariable": false, "storageLocation": "default", @@ -6961,7 +6961,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4667, + "id": 4800, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4086:4:15", @@ -6975,12 +6975,12 @@ }, { "constant": false, - "id": 4670, + "id": 4803, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4100:13:15", "stateVariable": false, "storageLocation": "default", @@ -6989,7 +6989,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4669, + "id": 4802, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4100:4:15", @@ -7005,17 +7005,17 @@ "src": "4074:40:15" }, "returnParameters": { - "id": 4674, + "id": 4807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4673, + "id": 4806, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4732, + "scope": 4865, "src": "4138:4:15", "stateVariable": false, "storageLocation": "default", @@ -7024,7 +7024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4672, + "id": 4805, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4138:4:15", @@ -7039,7 +7039,7 @@ ], "src": "4137:6:15" }, - "scope": 4840, + "scope": 4973, "src": "4044:529:15", "stateMutability": "view", "virtual": false, @@ -7047,23 +7047,23 @@ }, { "body": { - "id": 4786, + "id": 4919, "nodeType": "Block", "src": "5105:315:15", "statements": [ { "assignments": [ - 4747 + 4880 ], "declarations": [ { "constant": false, - "id": 4747, + "id": 4880, "mutability": "mutable", "name": "oneMinusReserveFactor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5115:26:15", "stateVariable": false, "storageLocation": "default", @@ -7072,7 +7072,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4746, + "id": 4879, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5115:4:15", @@ -7085,17 +7085,17 @@ "visibility": "internal" } ], - "id": 4755, + "id": 4888, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4753, + "id": 4886, "name": "reserveFactorMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4741, + "referencedDeclaration": 4874, "src": "5159:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7116,7 +7116,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4750, + "id": 4883, "isConstant": false, "isLValue": false, "isPure": true, @@ -7139,7 +7139,7 @@ "typeString": "int_const 1000000000000000000" } ], - "id": 4749, + "id": 4882, "isConstant": false, "isLValue": false, "isPure": true, @@ -7151,7 +7151,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 4748, + "id": 4881, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5144:4:15", @@ -7161,7 +7161,7 @@ } } }, - "id": 4751, + "id": 4884, "isConstant": false, "isLValue": false, "isPure": true, @@ -7176,21 +7176,21 @@ "typeString": "uint256" } }, - "id": 4752, + "id": 4885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, + "referencedDeclaration": 10807, "src": "5144:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4754, + "id": 4887, "isConstant": false, "isLValue": false, "isPure": false, @@ -7210,17 +7210,17 @@ }, { "assignments": [ - 4757 + 4890 ], "declarations": [ { "constant": false, - "id": 4757, + "id": 4890, "mutability": "mutable", "name": "borrowRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5191:15:15", "stateVariable": false, "storageLocation": "default", @@ -7229,7 +7229,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4756, + "id": 4889, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5191:4:15", @@ -7242,17 +7242,17 @@ "visibility": "internal" } ], - "id": 4763, + "id": 4896, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4759, + "id": 4892, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4868, "src": "5231:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7261,11 +7261,11 @@ }, { "argumentTypes": null, - "id": 4760, + "id": 4893, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4737, + "referencedDeclaration": 4870, "src": "5237:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7274,11 +7274,11 @@ }, { "argumentTypes": null, - "id": 4761, + "id": 4894, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4739, + "referencedDeclaration": 4872, "src": "5246:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7301,18 +7301,18 @@ "typeString": "uint256" } ], - "id": 4758, + "id": 4891, "name": "getBorrowRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4732, + "referencedDeclaration": 4865, "src": "5209:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 4762, + "id": 4895, "isConstant": false, "isLValue": false, "isPure": false, @@ -7332,17 +7332,17 @@ }, { "assignments": [ - 4765 + 4898 ], "declarations": [ { "constant": false, - "id": 4765, + "id": 4898, "mutability": "mutable", "name": "rateToPool", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4786, + "scope": 4919, "src": "5265:15:15", "stateVariable": false, "storageLocation": "default", @@ -7351,7 +7351,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4764, + "id": 4897, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5265:4:15", @@ -7364,14 +7364,14 @@ "visibility": "internal" } ], - "id": 4773, + "id": 4906, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31653138", - "id": 4771, + "id": 4904, "isConstant": false, "isLValue": false, "isPure": true, @@ -7399,11 +7399,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4768, + "id": 4901, "name": "oneMinusReserveFactor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4747, + "referencedDeclaration": 4880, "src": "5298:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7420,32 +7420,32 @@ ], "expression": { "argumentTypes": null, - "id": 4766, + "id": 4899, "name": "borrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4757, + "referencedDeclaration": 4890, "src": "5283:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4767, + "id": 4900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "5283:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4769, + "id": 4902, "isConstant": false, "isLValue": false, "isPure": false, @@ -7460,21 +7460,21 @@ "typeString": "uint256" } }, - "id": 4770, + "id": 4903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "5283:41:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4772, + "id": 4905, "isConstant": false, "isLValue": false, "isPure": false, @@ -7499,7 +7499,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4783, + "id": 4916, "isConstant": false, "isLValue": false, "isPure": true, @@ -7527,11 +7527,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4780, + "id": 4913, "name": "rateToPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4765, + "referencedDeclaration": 4898, "src": "5392:10:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7551,11 +7551,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4775, + "id": 4908, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4868, "src": "5363:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7564,11 +7564,11 @@ }, { "argumentTypes": null, - "id": 4776, + "id": 4909, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4737, + "referencedDeclaration": 4870, "src": "5369:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7577,11 +7577,11 @@ }, { "argumentTypes": null, - "id": 4777, + "id": 4910, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4739, + "referencedDeclaration": 4872, "src": "5378:8:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7604,18 +7604,18 @@ "typeString": "uint256" } ], - "id": 4774, + "id": 4907, "name": "utilizationRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4663, + "referencedDeclaration": 4796, "src": "5347:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 4778, + "id": 4911, "isConstant": false, "isLValue": false, "isPure": false, @@ -7630,21 +7630,21 @@ "typeString": "uint256" } }, - "id": 4779, + "id": 4912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "5347:44:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4781, + "id": 4914, "isConstant": false, "isLValue": false, "isPure": false, @@ -7659,21 +7659,21 @@ "typeString": "uint256" } }, - "id": 4782, + "id": 4915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "5347:60:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4784, + "id": 4917, "isConstant": false, "isLValue": false, "isPure": false, @@ -7688,21 +7688,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4745, - "id": 4785, + "functionReturnParameters": 4878, + "id": 4918, "nodeType": "Return", "src": "5340:73:15" } ] }, "documentation": { - "id": 4733, + "id": 4866, "nodeType": "StructuredDocumentation", "src": "4579:402:15", "text": "@notice Calculates the current supply rate per block\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@param reserveFactorMantissa The current reserve factor for the market\n@return The supply rate percentage per block as a mantissa (scaled by 1e18)" }, "functionSelector": "b8168816", - "id": 4787, + "id": 4920, "implemented": true, "kind": "function", "modifiers": [], @@ -7710,17 +7710,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4742, + "id": 4875, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4735, + "id": 4868, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5009:9:15", "stateVariable": false, "storageLocation": "default", @@ -7729,7 +7729,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4734, + "id": 4867, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5009:4:15", @@ -7743,12 +7743,12 @@ }, { "constant": false, - "id": 4737, + "id": 4870, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5020:12:15", "stateVariable": false, "storageLocation": "default", @@ -7757,7 +7757,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4736, + "id": 4869, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5020:4:15", @@ -7771,12 +7771,12 @@ }, { "constant": false, - "id": 4739, + "id": 4872, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5034:13:15", "stateVariable": false, "storageLocation": "default", @@ -7785,7 +7785,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4738, + "id": 4871, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5034:4:15", @@ -7799,12 +7799,12 @@ }, { "constant": false, - "id": 4741, + "id": 4874, "mutability": "mutable", "name": "reserveFactorMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5049:26:15", "stateVariable": false, "storageLocation": "default", @@ -7813,7 +7813,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4740, + "id": 4873, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5049:4:15", @@ -7829,17 +7829,17 @@ "src": "5008:68:15" }, "returnParameters": { - "id": 4745, + "id": 4878, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4744, + "id": 4877, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4787, + "scope": 4920, "src": "5099:4:15", "stateVariable": false, "storageLocation": "default", @@ -7848,7 +7848,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4743, + "id": 4876, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5099:4:15", @@ -7863,7 +7863,7 @@ ], "src": "5098:6:15" }, - "scope": 4840, + "scope": 4973, "src": "4986:434:15", "stateMutability": "view", "virtual": false, @@ -7871,25 +7871,25 @@ }, { "body": { - "id": 4838, + "id": 4971, "nodeType": "Block", "src": "6041:358:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 4804, + "id": 4937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4799, + "id": 4932, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "6051:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7903,11 +7903,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4802, + "id": 4935, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6090:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7924,32 +7924,32 @@ ], "expression": { "argumentTypes": null, - "id": 4800, + "id": 4933, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, + "referencedDeclaration": 4923, "src": "6070:15:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4801, + "id": 4934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6070:19:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4803, + "id": 4936, "isConstant": false, "isLValue": false, "isPure": false, @@ -7970,25 +7970,25 @@ "typeString": "uint256" } }, - "id": 4805, + "id": 4938, "nodeType": "ExpressionStatement", "src": "6051:53:15" }, { "expression": { "argumentTypes": null, - "id": 4818, + "id": 4951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4806, + "id": 4939, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "6114:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8005,11 +8005,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4815, + "id": 4948, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, + "referencedDeclaration": 4929, "src": "6187:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8026,32 +8026,32 @@ ], "expression": { "argumentTypes": null, - "id": 4813, + "id": 4946, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6169:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4814, + "id": 4947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "6169:17:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4816, + "id": 4949, "isConstant": false, "isLValue": false, "isPure": false, @@ -8083,7 +8083,7 @@ { "argumentTypes": null, "hexValue": "31653138", - "id": 4809, + "id": 4942, "isConstant": false, "isLValue": false, "isPure": true, @@ -8108,32 +8108,32 @@ ], "expression": { "argumentTypes": null, - "id": 4807, + "id": 4940, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, + "referencedDeclaration": 4925, "src": "6136:17:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4808, + "id": 4941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 10707, + "referencedDeclaration": 10870, "src": "6136:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4810, + "id": 4943, "isConstant": false, "isLValue": false, "isPure": false, @@ -8149,7 +8149,7 @@ } } ], - "id": 4811, + "id": 4944, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8162,21 +8162,21 @@ "typeString": "uint256" } }, - "id": 4812, + "id": 4945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6135:33:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4817, + "id": 4950, "isConstant": false, "isLValue": false, "isPure": false, @@ -8197,25 +8197,25 @@ "typeString": "uint256" } }, - "id": 4819, + "id": 4952, "nodeType": "ExpressionStatement", "src": "6114:80:15" }, { "expression": { "argumentTypes": null, - "id": 4825, + "id": 4958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4820, + "id": 4953, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "6204:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8229,11 +8229,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4823, + "id": 4956, "name": "blocksPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4700, "src": "6255:13:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8250,32 +8250,32 @@ ], "expression": { "argumentTypes": null, - "id": 4821, + "id": 4954, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4794, + "referencedDeclaration": 4927, "src": "6229:21:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4822, + "id": 4955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10724, + "referencedDeclaration": 10887, "src": "6229:25:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4824, + "id": 4957, "isConstant": false, "isLValue": false, "isPure": false, @@ -8296,25 +8296,25 @@ "typeString": "uint256" } }, - "id": 4826, + "id": 4959, "nodeType": "ExpressionStatement", "src": "6204:65:15" }, { "expression": { "argumentTypes": null, - "id": 4829, + "id": 4962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4827, + "id": 4960, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "6279:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8325,11 +8325,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4828, + "id": 4961, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, + "referencedDeclaration": 4929, "src": "6286:5:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8342,7 +8342,7 @@ "typeString": "uint256" } }, - "id": 4830, + "id": 4963, "nodeType": "ExpressionStatement", "src": "6279:12:15" }, @@ -8352,11 +8352,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4832, + "id": 4965, "name": "baseRatePerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4571, + "referencedDeclaration": 4704, "src": "6325:16:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8365,11 +8365,11 @@ }, { "argumentTypes": null, - "id": 4833, + "id": 4966, "name": "multiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4702, "src": "6343:18:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8378,11 +8378,11 @@ }, { "argumentTypes": null, - "id": 4834, + "id": 4967, "name": "jumpMultiplierPerBlock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4573, + "referencedDeclaration": 4706, "src": "6363:22:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8391,11 +8391,11 @@ }, { "argumentTypes": null, - "id": 4835, + "id": 4968, "name": "kink", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4708, "src": "6387:4:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8422,18 +8422,18 @@ "typeString": "uint256" } ], - "id": 4831, + "id": 4964, "name": "NewInterestParams", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4562, + "referencedDeclaration": 4695, "src": "6307:17:15", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256,uint256)" } }, - "id": 4836, + "id": 4969, "isConstant": false, "isLValue": false, "isPure": false, @@ -8448,19 +8448,19 @@ "typeString": "tuple()" } }, - "id": 4837, + "id": 4970, "nodeType": "EmitStatement", "src": "6302:90:15" } ] }, "documentation": { - "id": 4788, + "id": 4921, "nodeType": "StructuredDocumentation", "src": "5426:478:15", "text": "@notice Internal function to update the parameters of the interest rate model\n@param baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param kink_ The utilization point at which the jump multiplier is applied" }, - "id": 4839, + "id": 4972, "implemented": true, "kind": "function", "modifiers": [], @@ -8468,17 +8468,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4797, + "id": 4930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4790, + "id": 4923, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5946:20:15", "stateVariable": false, "storageLocation": "default", @@ -8487,7 +8487,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4789, + "id": 4922, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5946:4:15", @@ -8501,12 +8501,12 @@ }, { "constant": false, - "id": 4792, + "id": 4925, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5968:22:15", "stateVariable": false, "storageLocation": "default", @@ -8515,7 +8515,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4791, + "id": 4924, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5968:4:15", @@ -8529,12 +8529,12 @@ }, { "constant": false, - "id": 4794, + "id": 4927, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "5992:26:15", "stateVariable": false, "storageLocation": "default", @@ -8543,7 +8543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4793, + "id": 4926, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5992:4:15", @@ -8557,12 +8557,12 @@ }, { "constant": false, - "id": 4796, + "id": 4929, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4839, + "scope": 4972, "src": "6020:10:15", "stateVariable": false, "storageLocation": "default", @@ -8571,7 +8571,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4795, + "id": 4928, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6020:4:15", @@ -8587,19 +8587,19 @@ "src": "5945:86:15" }, "returnParameters": { - "id": 4798, + "id": 4931, "nodeType": "ParameterList", "parameters": [], "src": "6041:0:15" }, - "scope": 4840, + "scope": 4973, "src": "5909:490:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 4841, + "scope": 4974, "src": "298:6109:15" } ], @@ -8611,7 +8611,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:17.993Z", + "updatedAt": "2020-12-12T01:13:52.510Z", "devdoc": { "author": "Compound (modified by Dharma Labs, refactored by Arr00)", "methods": { diff --git a/AskoLend-contracts/build/contracts/CarefulMath.json b/AskoLend-contracts/build/contracts/CarefulMath.json index d685d075..6f0eb2f2 100644 --- a/AskoLend-contracts/build/contracts/CarefulMath.json +++ b/AskoLend-contracts/build/contracts/CarefulMath.json @@ -1,26 +1,26 @@ { "contractName": "CarefulMath", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Compound\",\"methods\":{},\"title\":\"Careful Math\"},\"userdoc\":{\"methods\":{},\"notice\":\"Derived from OpenZeppelin's SafeMath library https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":\"CarefulMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220bc43b6dbd2599276976259bf5a901523c5dcd4fed152c4e1a682f2751501f6e364736f6c63430006060033", - "deployedBytecode": "0x6080604052600080fdfea2646970667358221220bc43b6dbd2599276976259bf5a901523c5dcd4fed152c4e1a682f2751501f6e364736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Compound\",\"methods\":{},\"title\":\"Careful Math\"},\"userdoc\":{\"methods\":{},\"notice\":\"Derived from OpenZeppelin's SafeMath library https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":\"CarefulMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220bae786647468b0b09930059cdb1a2335d13742606c763d6a0a9c68a5f43d861764736f6c63430006060033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220bae786647468b0b09930059cdb1a2335d13742606c763d6a0a9c68a5f43d861764736f6c63430006060033", "immutableReferences": {}, "sourceMap": "242:1949:16:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;242:1949:16;;;;;;;", "deployedSourceMap": "242:1949:16:-:0;;;12:1:-1;9;2:12", "source": "pragma solidity ^0.6.0;\n\n/**\n * @title Careful Math\n * @author Compound\n * @notice Derived from OpenZeppelin's SafeMath library\n * https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol\n */\ncontract CarefulMath {\n\n /**\n * @dev Possible error codes that we can return\n */\n enum MathError {\n NO_ERROR,\n DIVISION_BY_ZERO,\n INTEGER_OVERFLOW,\n INTEGER_UNDERFLOW\n }\n\n /**\n * @dev Multiplies two numbers, returns an error on overflow.\n */\n function mulUInt(uint a, uint b) internal pure returns (MathError, uint) {\n if (a == 0) {\n return (MathError.NO_ERROR, 0);\n }\n\n uint c = a * b;\n\n if (c / a != b) {\n return (MathError.INTEGER_OVERFLOW, 0);\n } else {\n return (MathError.NO_ERROR, c);\n }\n }\n\n /**\n * @dev Integer division of two numbers, truncating the quotient.\n */\n function divUInt(uint a, uint b) internal pure returns (MathError, uint) {\n if (b == 0) {\n return (MathError.DIVISION_BY_ZERO, 0);\n }\n\n return (MathError.NO_ERROR, a / b);\n }\n\n /**\n * @dev Subtracts two numbers, returns an error on overflow (i.e. if subtrahend is greater than minuend).\n */\n function subUInt(uint a, uint b) internal pure returns (MathError, uint) {\n if (b <= a) {\n return (MathError.NO_ERROR, a - b);\n } else {\n return (MathError.INTEGER_UNDERFLOW, 0);\n }\n }\n\n /**\n * @dev Adds two numbers, returns an error on overflow.\n */\n function addUInt(uint a, uint b) internal pure returns (MathError, uint) {\n uint c = a + b;\n\n if (c >= a) {\n return (MathError.NO_ERROR, c);\n } else {\n return (MathError.INTEGER_OVERFLOW, 0);\n }\n }\n\n /**\n * @dev add a and b and then subtract c\n */\n function addThenSubUInt(uint a, uint b, uint c) internal pure returns (MathError, uint) {\n (MathError err0, uint sum) = addUInt(a, b);\n\n if (err0 != MathError.NO_ERROR) {\n return (err0, 0);\n }\n\n return subUInt(sum, c);\n }\n}", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", "exportedSymbols": { "CarefulMath": [ - 5031 + 5164 ] }, - "id": 5032, + "id": 5165, "nodeType": "SourceUnit", "nodes": [ { - "id": 4842, + "id": 4975, "literals": [ "solidity", "^", @@ -36,43 +36,43 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4843, + "id": 4976, "nodeType": "StructuredDocumentation", "src": "25:216:16", "text": "@title Careful Math\n@author Compound\n@notice Derived from OpenZeppelin's SafeMath library\n https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol" }, "fullyImplemented": true, - "id": 5031, + "id": 5164, "linearizedBaseContracts": [ - 5031 + 5164 ], "name": "CarefulMath", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "CarefulMath.MathError", - "id": 4848, + "id": 4981, "members": [ { - "id": 4844, + "id": 4977, "name": "NO_ERROR", "nodeType": "EnumValue", "src": "363:8:16" }, { - "id": 4845, + "id": 4978, "name": "DIVISION_BY_ZERO", "nodeType": "EnumValue", "src": "381:16:16" }, { - "id": 4846, + "id": 4979, "name": "INTEGER_OVERFLOW", "nodeType": "EnumValue", "src": "407:16:16" }, { - "id": 4847, + "id": 4980, "name": "INTEGER_UNDERFLOW", "nodeType": "EnumValue", "src": "433:17:16" @@ -84,7 +84,7 @@ }, { "body": { - "id": 4894, + "id": 5027, "nodeType": "Block", "src": "615:258:16", "statements": [ @@ -95,18 +95,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4862, + "id": 4995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4860, + "id": 4993, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "629:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -118,7 +118,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4861, + "id": 4994, "isConstant": false, "isLValue": false, "isPure": true, @@ -140,11 +140,11 @@ } }, "falseBody": null, - "id": 4869, + "id": 5002, "nodeType": "IfStatement", "src": "625:67:16", "trueBody": { - "id": 4868, + "id": 5001, "nodeType": "Block", "src": "637:55:16", "statements": [ @@ -156,18 +156,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4863, + "id": 4996, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "659:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4864, + "id": 4997, "isConstant": false, "isLValue": false, "isPure": true, @@ -177,14 +177,14 @@ "referencedDeclaration": null, "src": "659:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4865, + "id": 4998, "isConstant": false, "isLValue": false, "isPure": true, @@ -200,7 +200,7 @@ "value": "0" } ], - "id": 4866, + "id": 4999, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -209,12 +209,12 @@ "nodeType": "TupleExpression", "src": "658:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4859, - "id": 4867, + "functionReturnParameters": 4992, + "id": 5000, "nodeType": "Return", "src": "651:30:16" } @@ -223,17 +223,17 @@ }, { "assignments": [ - 4871 + 5004 ], "declarations": [ { "constant": false, - "id": 4871, + "id": 5004, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4894, + "scope": 5027, "src": "702:6:16", "stateVariable": false, "storageLocation": "default", @@ -242,7 +242,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4870, + "id": 5003, "name": "uint", "nodeType": "ElementaryTypeName", "src": "702:4:16", @@ -255,25 +255,25 @@ "visibility": "internal" } ], - "id": 4875, + "id": 5008, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4874, + "id": 5007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4872, + "id": 5005, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "711:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -284,11 +284,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 4873, + "id": 5006, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, + "referencedDeclaration": 4986, "src": "715:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -311,7 +311,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4880, + "id": 5013, "isConstant": false, "isLValue": false, "isPure": false, @@ -322,18 +322,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4878, + "id": 5011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4876, + "id": 5009, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, + "referencedDeclaration": 5004, "src": "731:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -344,11 +344,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4877, + "id": 5010, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "735:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -365,11 +365,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 4879, + "id": 5012, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, + "referencedDeclaration": 4986, "src": "740:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -383,7 +383,7 @@ } }, "falseBody": { - "id": 4892, + "id": 5025, "nodeType": "Block", "src": "812:55:16", "statements": [ @@ -395,18 +395,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4887, + "id": 5020, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "834:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4888, + "id": 5021, "isConstant": false, "isLValue": false, "isPure": true, @@ -416,17 +416,17 @@ "referencedDeclaration": null, "src": "834:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 4889, + "id": 5022, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, + "referencedDeclaration": 5004, "src": "854:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -434,7 +434,7 @@ } } ], - "id": 4890, + "id": 5023, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -443,22 +443,22 @@ "nodeType": "TupleExpression", "src": "833:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4859, - "id": 4891, + "functionReturnParameters": 4992, + "id": 5024, "nodeType": "Return", "src": "826:30:16" } ] }, - "id": 4893, + "id": 5026, "nodeType": "IfStatement", "src": "727:140:16", "trueBody": { - "id": 4886, + "id": 5019, "nodeType": "Block", "src": "743:63:16", "statements": [ @@ -470,18 +470,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4881, + "id": 5014, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "765:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4882, + "id": 5015, "isConstant": false, "isLValue": false, "isPure": true, @@ -491,14 +491,14 @@ "referencedDeclaration": null, "src": "765:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4883, + "id": 5016, "isConstant": false, "isLValue": false, "isPure": true, @@ -514,7 +514,7 @@ "value": "0" } ], - "id": 4884, + "id": 5017, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -523,12 +523,12 @@ "nodeType": "TupleExpression", "src": "764:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4859, - "id": 4885, + "functionReturnParameters": 4992, + "id": 5018, "nodeType": "Return", "src": "757:38:16" } @@ -538,12 +538,12 @@ ] }, "documentation": { - "id": 4849, + "id": 4982, "nodeType": "StructuredDocumentation", "src": "462:75:16", "text": "@dev Multiplies two numbers, returns an error on overflow." }, - "id": 4895, + "id": 5028, "implemented": true, "kind": "function", "modifiers": [], @@ -551,17 +551,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4854, + "id": 4987, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4851, + "id": 4984, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "559:6:16", "stateVariable": false, "storageLocation": "default", @@ -570,7 +570,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4850, + "id": 4983, "name": "uint", "nodeType": "ElementaryTypeName", "src": "559:4:16", @@ -584,12 +584,12 @@ }, { "constant": false, - "id": 4853, + "id": 4986, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "567:6:16", "stateVariable": false, "storageLocation": "default", @@ -598,7 +598,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4852, + "id": 4985, "name": "uint", "nodeType": "ElementaryTypeName", "src": "567:4:16", @@ -614,33 +614,33 @@ "src": "558:16:16" }, "returnParameters": { - "id": 4859, + "id": 4992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4856, + "id": 4989, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "598:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4855, + "id": 4988, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "598:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -649,12 +649,12 @@ }, { "constant": false, - "id": 4858, + "id": 4991, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "609:4:16", "stateVariable": false, "storageLocation": "default", @@ -663,7 +663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4857, + "id": 4990, "name": "uint", "nodeType": "ElementaryTypeName", "src": "609:4:16", @@ -678,7 +678,7 @@ ], "src": "597:17:16" }, - "scope": 5031, + "scope": 5164, "src": "542:331:16", "stateMutability": "pure", "virtual": false, @@ -686,7 +686,7 @@ }, { "body": { - "id": 4924, + "id": 5057, "nodeType": "Block", "src": "1036:136:16", "statements": [ @@ -697,18 +697,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4909, + "id": 5042, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4907, + "id": 5040, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, + "referencedDeclaration": 5033, "src": "1050:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -720,7 +720,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4908, + "id": 5041, "isConstant": false, "isLValue": false, "isPure": true, @@ -742,11 +742,11 @@ } }, "falseBody": null, - "id": 4916, + "id": 5049, "nodeType": "IfStatement", "src": "1046:75:16", "trueBody": { - "id": 4915, + "id": 5048, "nodeType": "Block", "src": "1058:63:16", "statements": [ @@ -758,18 +758,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4910, + "id": 5043, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1080:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4911, + "id": 5044, "isConstant": false, "isLValue": false, "isPure": true, @@ -779,14 +779,14 @@ "referencedDeclaration": null, "src": "1080:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4912, + "id": 5045, "isConstant": false, "isLValue": false, "isPure": true, @@ -802,7 +802,7 @@ "value": "0" } ], - "id": 4913, + "id": 5046, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -811,12 +811,12 @@ "nodeType": "TupleExpression", "src": "1079:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4906, - "id": 4914, + "functionReturnParameters": 5039, + "id": 5047, "nodeType": "Return", "src": "1072:38:16" } @@ -831,18 +831,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4917, + "id": 5050, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1139:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4918, + "id": 5051, "isConstant": false, "isLValue": false, "isPure": true, @@ -852,7 +852,7 @@ "referencedDeclaration": null, "src": "1139:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -862,18 +862,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4921, + "id": 5054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4919, + "id": 5052, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4898, + "referencedDeclaration": 5031, "src": "1159:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -884,11 +884,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4920, + "id": 5053, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, + "referencedDeclaration": 5033, "src": "1163:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -902,7 +902,7 @@ } } ], - "id": 4922, + "id": 5055, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -911,24 +911,24 @@ "nodeType": "TupleExpression", "src": "1138:27:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4906, - "id": 4923, + "functionReturnParameters": 5039, + "id": 5056, "nodeType": "Return", "src": "1131:34:16" } ] }, "documentation": { - "id": 4896, + "id": 5029, "nodeType": "StructuredDocumentation", "src": "879:79:16", "text": "@dev Integer division of two numbers, truncating the quotient." }, - "id": 4925, + "id": 5058, "implemented": true, "kind": "function", "modifiers": [], @@ -936,17 +936,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4901, + "id": 5034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4898, + "id": 5031, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "980:6:16", "stateVariable": false, "storageLocation": "default", @@ -955,7 +955,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4897, + "id": 5030, "name": "uint", "nodeType": "ElementaryTypeName", "src": "980:4:16", @@ -969,12 +969,12 @@ }, { "constant": false, - "id": 4900, + "id": 5033, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "988:6:16", "stateVariable": false, "storageLocation": "default", @@ -983,7 +983,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4899, + "id": 5032, "name": "uint", "nodeType": "ElementaryTypeName", "src": "988:4:16", @@ -999,33 +999,33 @@ "src": "979:16:16" }, "returnParameters": { - "id": 4906, + "id": 5039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4903, + "id": 5036, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "1019:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4902, + "id": 5035, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1019:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1034,12 +1034,12 @@ }, { "constant": false, - "id": 4905, + "id": 5038, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "1030:4:16", "stateVariable": false, "storageLocation": "default", @@ -1048,7 +1048,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4904, + "id": 5037, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1030:4:16", @@ -1063,7 +1063,7 @@ ], "src": "1018:17:16" }, - "scope": 5031, + "scope": 5164, "src": "963:209:16", "stateMutability": "pure", "virtual": false, @@ -1071,7 +1071,7 @@ }, { "body": { - "id": 4955, + "id": 5088, "nodeType": "Block", "src": "1375:157:16", "statements": [ @@ -1082,18 +1082,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4939, + "id": 5072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4937, + "id": 5070, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4930, + "referencedDeclaration": 5063, "src": "1389:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1104,11 +1104,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 4938, + "id": 5071, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4928, + "referencedDeclaration": 5061, "src": "1394:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1122,7 +1122,7 @@ } }, "falseBody": { - "id": 4953, + "id": 5086, "nodeType": "Block", "src": "1462:64:16", "statements": [ @@ -1134,18 +1134,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4948, + "id": 5081, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1484:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4949, + "id": 5082, "isConstant": false, "isLValue": false, "isPure": true, @@ -1155,14 +1155,14 @@ "referencedDeclaration": null, "src": "1484:27:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4950, + "id": 5083, "isConstant": false, "isLValue": false, "isPure": true, @@ -1178,7 +1178,7 @@ "value": "0" } ], - "id": 4951, + "id": 5084, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1187,22 +1187,22 @@ "nodeType": "TupleExpression", "src": "1483:32:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4936, - "id": 4952, + "functionReturnParameters": 5069, + "id": 5085, "nodeType": "Return", "src": "1476:39:16" } ] }, - "id": 4954, + "id": 5087, "nodeType": "IfStatement", "src": "1385:141:16", "trueBody": { - "id": 4947, + "id": 5080, "nodeType": "Block", "src": "1397:59:16", "statements": [ @@ -1214,18 +1214,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4940, + "id": 5073, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1419:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4941, + "id": 5074, "isConstant": false, "isLValue": false, "isPure": true, @@ -1235,7 +1235,7 @@ "referencedDeclaration": null, "src": "1419:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1245,18 +1245,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4944, + "id": 5077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4942, + "id": 5075, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4928, + "referencedDeclaration": 5061, "src": "1439:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1267,11 +1267,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4943, + "id": 5076, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4930, + "referencedDeclaration": 5063, "src": "1443:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1285,7 +1285,7 @@ } } ], - "id": 4945, + "id": 5078, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1294,12 +1294,12 @@ "nodeType": "TupleExpression", "src": "1418:27:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4936, - "id": 4946, + "functionReturnParameters": 5069, + "id": 5079, "nodeType": "Return", "src": "1411:34:16" } @@ -1309,12 +1309,12 @@ ] }, "documentation": { - "id": 4926, + "id": 5059, "nodeType": "StructuredDocumentation", "src": "1178:119:16", "text": "@dev Subtracts two numbers, returns an error on overflow (i.e. if subtrahend is greater than minuend)." }, - "id": 4956, + "id": 5089, "implemented": true, "kind": "function", "modifiers": [], @@ -1322,17 +1322,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4931, + "id": 5064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4928, + "id": 5061, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1319:6:16", "stateVariable": false, "storageLocation": "default", @@ -1341,7 +1341,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4927, + "id": 5060, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1319:4:16", @@ -1355,12 +1355,12 @@ }, { "constant": false, - "id": 4930, + "id": 5063, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1327:6:16", "stateVariable": false, "storageLocation": "default", @@ -1369,7 +1369,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4929, + "id": 5062, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1327:4:16", @@ -1385,33 +1385,33 @@ "src": "1318:16:16" }, "returnParameters": { - "id": 4936, + "id": 5069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4933, + "id": 5066, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1358:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4932, + "id": 5065, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1358:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1420,12 +1420,12 @@ }, { "constant": false, - "id": 4935, + "id": 5068, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1369:4:16", "stateVariable": false, "storageLocation": "default", @@ -1434,7 +1434,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4934, + "id": 5067, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1369:4:16", @@ -1449,7 +1449,7 @@ ], "src": "1357:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1302:230:16", "stateMutability": "pure", "virtual": false, @@ -1457,23 +1457,23 @@ }, { "body": { - "id": 4990, + "id": 5123, "nodeType": "Block", "src": "1685:177:16", "statements": [ { "assignments": [ - 4969 + 5102 ], "declarations": [ { "constant": false, - "id": 4969, + "id": 5102, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4990, + "scope": 5123, "src": "1695:6:16", "stateVariable": false, "storageLocation": "default", @@ -1482,7 +1482,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4968, + "id": 5101, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1695:4:16", @@ -1495,25 +1495,25 @@ "visibility": "internal" } ], - "id": 4973, + "id": 5106, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4972, + "id": 5105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4970, + "id": 5103, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4959, + "referencedDeclaration": 5092, "src": "1704:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1524,11 +1524,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 4971, + "id": 5104, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4961, + "referencedDeclaration": 5094, "src": "1708:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1551,18 +1551,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4976, + "id": 5109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4974, + "id": 5107, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4969, + "referencedDeclaration": 5102, "src": "1724:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1573,11 +1573,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4975, + "id": 5108, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4959, + "referencedDeclaration": 5092, "src": "1729:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1591,7 +1591,7 @@ } }, "falseBody": { - "id": 4988, + "id": 5121, "nodeType": "Block", "src": "1793:63:16", "statements": [ @@ -1603,18 +1603,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4983, + "id": 5116, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1815:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4984, + "id": 5117, "isConstant": false, "isLValue": false, "isPure": true, @@ -1624,14 +1624,14 @@ "referencedDeclaration": null, "src": "1815:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4985, + "id": 5118, "isConstant": false, "isLValue": false, "isPure": true, @@ -1647,7 +1647,7 @@ "value": "0" } ], - "id": 4986, + "id": 5119, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1656,22 +1656,22 @@ "nodeType": "TupleExpression", "src": "1814:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4967, - "id": 4987, + "functionReturnParameters": 5100, + "id": 5120, "nodeType": "Return", "src": "1807:38:16" } ] }, - "id": 4989, + "id": 5122, "nodeType": "IfStatement", "src": "1720:136:16", "trueBody": { - "id": 4982, + "id": 5115, "nodeType": "Block", "src": "1732:55:16", "statements": [ @@ -1683,18 +1683,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4977, + "id": 5110, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1754:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4978, + "id": 5111, "isConstant": false, "isLValue": false, "isPure": true, @@ -1704,17 +1704,17 @@ "referencedDeclaration": null, "src": "1754:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 4979, + "id": 5112, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4969, + "referencedDeclaration": 5102, "src": "1774:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1722,7 +1722,7 @@ } } ], - "id": 4980, + "id": 5113, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1731,12 +1731,12 @@ "nodeType": "TupleExpression", "src": "1753:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4967, - "id": 4981, + "functionReturnParameters": 5100, + "id": 5114, "nodeType": "Return", "src": "1746:30:16" } @@ -1746,12 +1746,12 @@ ] }, "documentation": { - "id": 4957, + "id": 5090, "nodeType": "StructuredDocumentation", "src": "1538:69:16", "text": "@dev Adds two numbers, returns an error on overflow." }, - "id": 4991, + "id": 5124, "implemented": true, "kind": "function", "modifiers": [], @@ -1759,17 +1759,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4962, + "id": 5095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4959, + "id": 5092, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1629:6:16", "stateVariable": false, "storageLocation": "default", @@ -1778,7 +1778,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4958, + "id": 5091, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1629:4:16", @@ -1792,12 +1792,12 @@ }, { "constant": false, - "id": 4961, + "id": 5094, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1637:6:16", "stateVariable": false, "storageLocation": "default", @@ -1806,7 +1806,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4960, + "id": 5093, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1637:4:16", @@ -1822,33 +1822,33 @@ "src": "1628:16:16" }, "returnParameters": { - "id": 4967, + "id": 5100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 5097, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1668:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4963, + "id": 5096, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1668:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1857,12 +1857,12 @@ }, { "constant": false, - "id": 4966, + "id": 5099, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1679:4:16", "stateVariable": false, "storageLocation": "default", @@ -1871,7 +1871,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4965, + "id": 5098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1679:4:16", @@ -1886,7 +1886,7 @@ ], "src": "1667:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1612:250:16", "stateMutability": "pure", "virtual": false, @@ -1894,40 +1894,40 @@ }, { "body": { - "id": 5029, + "id": 5162, "nodeType": "Block", "src": "2014:175:16", "statements": [ { "assignments": [ - 5006, - 5008 + 5139, + 5141 ], "declarations": [ { "constant": false, - "id": 5006, + "id": 5139, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5029, + "scope": 5162, "src": "2025:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5005, + "id": 5138, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2025:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1936,12 +1936,12 @@ }, { "constant": false, - "id": 5008, + "id": 5141, "mutability": "mutable", "name": "sum", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5029, + "scope": 5162, "src": "2041:8:16", "stateVariable": false, "storageLocation": "default", @@ -1950,7 +1950,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5007, + "id": 5140, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2041:4:16", @@ -1963,17 +1963,17 @@ "visibility": "internal" } ], - "id": 5013, + "id": 5146, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5010, + "id": 5143, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4994, + "referencedDeclaration": 5127, "src": "2061:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1982,11 +1982,11 @@ }, { "argumentTypes": null, - "id": 5011, + "id": 5144, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4996, + "referencedDeclaration": 5129, "src": "2064:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2005,18 +2005,18 @@ "typeString": "uint256" } ], - "id": 5009, + "id": 5142, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "2053:7:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5012, + "id": 5145, "isConstant": false, "isLValue": false, "isPure": false, @@ -2027,7 +2027,7 @@ "src": "2053:13:16", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -2038,24 +2038,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5017, + "id": 5150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5014, + "id": 5147, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5006, + "referencedDeclaration": 5139, "src": "2081:4:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2065,18 +2065,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5015, + "id": 5148, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2089:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5016, + "id": 5149, "isConstant": false, "isLValue": false, "isPure": true, @@ -2086,7 +2086,7 @@ "referencedDeclaration": null, "src": "2089:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2097,11 +2097,11 @@ } }, "falseBody": null, - "id": 5023, + "id": 5156, "nodeType": "IfStatement", "src": "2077:73:16", "trueBody": { - "id": 5022, + "id": 5155, "nodeType": "Block", "src": "2109:41:16", "statements": [ @@ -2111,21 +2111,21 @@ "components": [ { "argumentTypes": null, - "id": 5018, + "id": 5151, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5006, + "referencedDeclaration": 5139, "src": "2131:4:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5019, + "id": 5152, "isConstant": false, "isLValue": false, "isPure": true, @@ -2141,7 +2141,7 @@ "value": "0" } ], - "id": 5020, + "id": 5153, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2150,12 +2150,12 @@ "nodeType": "TupleExpression", "src": "2130:9:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5004, - "id": 5021, + "functionReturnParameters": 5137, + "id": 5154, "nodeType": "Return", "src": "2123:16:16" } @@ -2168,11 +2168,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5025, + "id": 5158, "name": "sum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5008, + "referencedDeclaration": 5141, "src": "2175:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2181,11 +2181,11 @@ }, { "argumentTypes": null, - "id": 5026, + "id": 5159, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4998, + "referencedDeclaration": 5131, "src": "2180:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2204,18 +2204,18 @@ "typeString": "uint256" } ], - "id": 5024, + "id": 5157, "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4956, + "referencedDeclaration": 5089, "src": "2167:7:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5027, + "id": 5160, "isConstant": false, "isLValue": false, "isPure": false, @@ -2226,24 +2226,24 @@ "src": "2167:15:16", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5004, - "id": 5028, + "functionReturnParameters": 5137, + "id": 5161, "nodeType": "Return", "src": "2160:22:16" } ] }, "documentation": { - "id": 4992, + "id": 5125, "nodeType": "StructuredDocumentation", "src": "1868:53:16", "text": "@dev add a and b and then subtract c" }, - "id": 5030, + "id": 5163, "implemented": true, "kind": "function", "modifiers": [], @@ -2251,17 +2251,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4999, + "id": 5132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4994, + "id": 5127, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1950:6:16", "stateVariable": false, "storageLocation": "default", @@ -2270,7 +2270,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4993, + "id": 5126, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1950:4:16", @@ -2284,12 +2284,12 @@ }, { "constant": false, - "id": 4996, + "id": 5129, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1958:6:16", "stateVariable": false, "storageLocation": "default", @@ -2298,7 +2298,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4995, + "id": 5128, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1958:4:16", @@ -2312,12 +2312,12 @@ }, { "constant": false, - "id": 4998, + "id": 5131, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1966:6:16", "stateVariable": false, "storageLocation": "default", @@ -2326,7 +2326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4997, + "id": 5130, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1966:4:16", @@ -2342,33 +2342,33 @@ "src": "1949:24:16" }, "returnParameters": { - "id": 5004, + "id": 5137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5001, + "id": 5134, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1997:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5000, + "id": 5133, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1997:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2377,12 +2377,12 @@ }, { "constant": false, - "id": 5003, + "id": 5136, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "2008:4:16", "stateVariable": false, "storageLocation": "default", @@ -2391,7 +2391,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5002, + "id": 5135, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2008:4:16", @@ -2406,31 +2406,31 @@ ], "src": "1996:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1926:263:16", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 5032, + "scope": 5165, "src": "242:1949:16" } ], "src": "0:2191:16" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", "exportedSymbols": { "CarefulMath": [ - 5031 + 5164 ] }, - "id": 5032, + "id": 5165, "nodeType": "SourceUnit", "nodes": [ { - "id": 4842, + "id": 4975, "literals": [ "solidity", "^", @@ -2446,43 +2446,43 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4843, + "id": 4976, "nodeType": "StructuredDocumentation", "src": "25:216:16", "text": "@title Careful Math\n@author Compound\n@notice Derived from OpenZeppelin's SafeMath library\n https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol" }, "fullyImplemented": true, - "id": 5031, + "id": 5164, "linearizedBaseContracts": [ - 5031 + 5164 ], "name": "CarefulMath", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "CarefulMath.MathError", - "id": 4848, + "id": 4981, "members": [ { - "id": 4844, + "id": 4977, "name": "NO_ERROR", "nodeType": "EnumValue", "src": "363:8:16" }, { - "id": 4845, + "id": 4978, "name": "DIVISION_BY_ZERO", "nodeType": "EnumValue", "src": "381:16:16" }, { - "id": 4846, + "id": 4979, "name": "INTEGER_OVERFLOW", "nodeType": "EnumValue", "src": "407:16:16" }, { - "id": 4847, + "id": 4980, "name": "INTEGER_UNDERFLOW", "nodeType": "EnumValue", "src": "433:17:16" @@ -2494,7 +2494,7 @@ }, { "body": { - "id": 4894, + "id": 5027, "nodeType": "Block", "src": "615:258:16", "statements": [ @@ -2505,18 +2505,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4862, + "id": 4995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4860, + "id": 4993, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "629:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2528,7 +2528,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4861, + "id": 4994, "isConstant": false, "isLValue": false, "isPure": true, @@ -2550,11 +2550,11 @@ } }, "falseBody": null, - "id": 4869, + "id": 5002, "nodeType": "IfStatement", "src": "625:67:16", "trueBody": { - "id": 4868, + "id": 5001, "nodeType": "Block", "src": "637:55:16", "statements": [ @@ -2566,18 +2566,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4863, + "id": 4996, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "659:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4864, + "id": 4997, "isConstant": false, "isLValue": false, "isPure": true, @@ -2587,14 +2587,14 @@ "referencedDeclaration": null, "src": "659:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4865, + "id": 4998, "isConstant": false, "isLValue": false, "isPure": true, @@ -2610,7 +2610,7 @@ "value": "0" } ], - "id": 4866, + "id": 4999, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2619,12 +2619,12 @@ "nodeType": "TupleExpression", "src": "658:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4859, - "id": 4867, + "functionReturnParameters": 4992, + "id": 5000, "nodeType": "Return", "src": "651:30:16" } @@ -2633,17 +2633,17 @@ }, { "assignments": [ - 4871 + 5004 ], "declarations": [ { "constant": false, - "id": 4871, + "id": 5004, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4894, + "scope": 5027, "src": "702:6:16", "stateVariable": false, "storageLocation": "default", @@ -2652,7 +2652,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4870, + "id": 5003, "name": "uint", "nodeType": "ElementaryTypeName", "src": "702:4:16", @@ -2665,25 +2665,25 @@ "visibility": "internal" } ], - "id": 4875, + "id": 5008, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4874, + "id": 5007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4872, + "id": 5005, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "711:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2694,11 +2694,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 4873, + "id": 5006, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, + "referencedDeclaration": 4986, "src": "715:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2721,7 +2721,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4880, + "id": 5013, "isConstant": false, "isLValue": false, "isPure": false, @@ -2732,18 +2732,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4878, + "id": 5011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4876, + "id": 5009, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, + "referencedDeclaration": 5004, "src": "731:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2754,11 +2754,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4877, + "id": 5010, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4851, + "referencedDeclaration": 4984, "src": "735:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2775,11 +2775,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 4879, + "id": 5012, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, + "referencedDeclaration": 4986, "src": "740:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2793,7 +2793,7 @@ } }, "falseBody": { - "id": 4892, + "id": 5025, "nodeType": "Block", "src": "812:55:16", "statements": [ @@ -2805,18 +2805,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4887, + "id": 5020, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "834:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4888, + "id": 5021, "isConstant": false, "isLValue": false, "isPure": true, @@ -2826,17 +2826,17 @@ "referencedDeclaration": null, "src": "834:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 4889, + "id": 5022, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4871, + "referencedDeclaration": 5004, "src": "854:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2844,7 +2844,7 @@ } } ], - "id": 4890, + "id": 5023, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2853,22 +2853,22 @@ "nodeType": "TupleExpression", "src": "833:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4859, - "id": 4891, + "functionReturnParameters": 4992, + "id": 5024, "nodeType": "Return", "src": "826:30:16" } ] }, - "id": 4893, + "id": 5026, "nodeType": "IfStatement", "src": "727:140:16", "trueBody": { - "id": 4886, + "id": 5019, "nodeType": "Block", "src": "743:63:16", "statements": [ @@ -2880,18 +2880,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4881, + "id": 5014, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "765:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4882, + "id": 5015, "isConstant": false, "isLValue": false, "isPure": true, @@ -2901,14 +2901,14 @@ "referencedDeclaration": null, "src": "765:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4883, + "id": 5016, "isConstant": false, "isLValue": false, "isPure": true, @@ -2924,7 +2924,7 @@ "value": "0" } ], - "id": 4884, + "id": 5017, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2933,12 +2933,12 @@ "nodeType": "TupleExpression", "src": "764:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4859, - "id": 4885, + "functionReturnParameters": 4992, + "id": 5018, "nodeType": "Return", "src": "757:38:16" } @@ -2948,12 +2948,12 @@ ] }, "documentation": { - "id": 4849, + "id": 4982, "nodeType": "StructuredDocumentation", "src": "462:75:16", "text": "@dev Multiplies two numbers, returns an error on overflow." }, - "id": 4895, + "id": 5028, "implemented": true, "kind": "function", "modifiers": [], @@ -2961,17 +2961,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4854, + "id": 4987, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4851, + "id": 4984, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "559:6:16", "stateVariable": false, "storageLocation": "default", @@ -2980,7 +2980,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4850, + "id": 4983, "name": "uint", "nodeType": "ElementaryTypeName", "src": "559:4:16", @@ -2994,12 +2994,12 @@ }, { "constant": false, - "id": 4853, + "id": 4986, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "567:6:16", "stateVariable": false, "storageLocation": "default", @@ -3008,7 +3008,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4852, + "id": 4985, "name": "uint", "nodeType": "ElementaryTypeName", "src": "567:4:16", @@ -3024,33 +3024,33 @@ "src": "558:16:16" }, "returnParameters": { - "id": 4859, + "id": 4992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4856, + "id": 4989, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "598:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4855, + "id": 4988, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "598:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3059,12 +3059,12 @@ }, { "constant": false, - "id": 4858, + "id": 4991, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4895, + "scope": 5028, "src": "609:4:16", "stateVariable": false, "storageLocation": "default", @@ -3073,7 +3073,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4857, + "id": 4990, "name": "uint", "nodeType": "ElementaryTypeName", "src": "609:4:16", @@ -3088,7 +3088,7 @@ ], "src": "597:17:16" }, - "scope": 5031, + "scope": 5164, "src": "542:331:16", "stateMutability": "pure", "virtual": false, @@ -3096,7 +3096,7 @@ }, { "body": { - "id": 4924, + "id": 5057, "nodeType": "Block", "src": "1036:136:16", "statements": [ @@ -3107,18 +3107,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4909, + "id": 5042, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4907, + "id": 5040, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, + "referencedDeclaration": 5033, "src": "1050:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3130,7 +3130,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4908, + "id": 5041, "isConstant": false, "isLValue": false, "isPure": true, @@ -3152,11 +3152,11 @@ } }, "falseBody": null, - "id": 4916, + "id": 5049, "nodeType": "IfStatement", "src": "1046:75:16", "trueBody": { - "id": 4915, + "id": 5048, "nodeType": "Block", "src": "1058:63:16", "statements": [ @@ -3168,18 +3168,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4910, + "id": 5043, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1080:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4911, + "id": 5044, "isConstant": false, "isLValue": false, "isPure": true, @@ -3189,14 +3189,14 @@ "referencedDeclaration": null, "src": "1080:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4912, + "id": 5045, "isConstant": false, "isLValue": false, "isPure": true, @@ -3212,7 +3212,7 @@ "value": "0" } ], - "id": 4913, + "id": 5046, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3221,12 +3221,12 @@ "nodeType": "TupleExpression", "src": "1079:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4906, - "id": 4914, + "functionReturnParameters": 5039, + "id": 5047, "nodeType": "Return", "src": "1072:38:16" } @@ -3241,18 +3241,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4917, + "id": 5050, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1139:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4918, + "id": 5051, "isConstant": false, "isLValue": false, "isPure": true, @@ -3262,7 +3262,7 @@ "referencedDeclaration": null, "src": "1139:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3272,18 +3272,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4921, + "id": 5054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4919, + "id": 5052, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4898, + "referencedDeclaration": 5031, "src": "1159:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3294,11 +3294,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4920, + "id": 5053, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, + "referencedDeclaration": 5033, "src": "1163:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3312,7 +3312,7 @@ } } ], - "id": 4922, + "id": 5055, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3321,24 +3321,24 @@ "nodeType": "TupleExpression", "src": "1138:27:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4906, - "id": 4923, + "functionReturnParameters": 5039, + "id": 5056, "nodeType": "Return", "src": "1131:34:16" } ] }, "documentation": { - "id": 4896, + "id": 5029, "nodeType": "StructuredDocumentation", "src": "879:79:16", "text": "@dev Integer division of two numbers, truncating the quotient." }, - "id": 4925, + "id": 5058, "implemented": true, "kind": "function", "modifiers": [], @@ -3346,17 +3346,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4901, + "id": 5034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4898, + "id": 5031, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "980:6:16", "stateVariable": false, "storageLocation": "default", @@ -3365,7 +3365,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4897, + "id": 5030, "name": "uint", "nodeType": "ElementaryTypeName", "src": "980:4:16", @@ -3379,12 +3379,12 @@ }, { "constant": false, - "id": 4900, + "id": 5033, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "988:6:16", "stateVariable": false, "storageLocation": "default", @@ -3393,7 +3393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4899, + "id": 5032, "name": "uint", "nodeType": "ElementaryTypeName", "src": "988:4:16", @@ -3409,33 +3409,33 @@ "src": "979:16:16" }, "returnParameters": { - "id": 4906, + "id": 5039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4903, + "id": 5036, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "1019:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4902, + "id": 5035, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1019:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3444,12 +3444,12 @@ }, { "constant": false, - "id": 4905, + "id": 5038, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4925, + "scope": 5058, "src": "1030:4:16", "stateVariable": false, "storageLocation": "default", @@ -3458,7 +3458,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4904, + "id": 5037, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1030:4:16", @@ -3473,7 +3473,7 @@ ], "src": "1018:17:16" }, - "scope": 5031, + "scope": 5164, "src": "963:209:16", "stateMutability": "pure", "virtual": false, @@ -3481,7 +3481,7 @@ }, { "body": { - "id": 4955, + "id": 5088, "nodeType": "Block", "src": "1375:157:16", "statements": [ @@ -3492,18 +3492,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4939, + "id": 5072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4937, + "id": 5070, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4930, + "referencedDeclaration": 5063, "src": "1389:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3514,11 +3514,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 4938, + "id": 5071, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4928, + "referencedDeclaration": 5061, "src": "1394:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3532,7 +3532,7 @@ } }, "falseBody": { - "id": 4953, + "id": 5086, "nodeType": "Block", "src": "1462:64:16", "statements": [ @@ -3544,18 +3544,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4948, + "id": 5081, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1484:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4949, + "id": 5082, "isConstant": false, "isLValue": false, "isPure": true, @@ -3565,14 +3565,14 @@ "referencedDeclaration": null, "src": "1484:27:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4950, + "id": 5083, "isConstant": false, "isLValue": false, "isPure": true, @@ -3588,7 +3588,7 @@ "value": "0" } ], - "id": 4951, + "id": 5084, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3597,22 +3597,22 @@ "nodeType": "TupleExpression", "src": "1483:32:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4936, - "id": 4952, + "functionReturnParameters": 5069, + "id": 5085, "nodeType": "Return", "src": "1476:39:16" } ] }, - "id": 4954, + "id": 5087, "nodeType": "IfStatement", "src": "1385:141:16", "trueBody": { - "id": 4947, + "id": 5080, "nodeType": "Block", "src": "1397:59:16", "statements": [ @@ -3624,18 +3624,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4940, + "id": 5073, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1419:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4941, + "id": 5074, "isConstant": false, "isLValue": false, "isPure": true, @@ -3645,7 +3645,7 @@ "referencedDeclaration": null, "src": "1419:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3655,18 +3655,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4944, + "id": 5077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4942, + "id": 5075, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4928, + "referencedDeclaration": 5061, "src": "1439:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3677,11 +3677,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4943, + "id": 5076, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4930, + "referencedDeclaration": 5063, "src": "1443:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3695,7 +3695,7 @@ } } ], - "id": 4945, + "id": 5078, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3704,12 +3704,12 @@ "nodeType": "TupleExpression", "src": "1418:27:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4936, - "id": 4946, + "functionReturnParameters": 5069, + "id": 5079, "nodeType": "Return", "src": "1411:34:16" } @@ -3719,12 +3719,12 @@ ] }, "documentation": { - "id": 4926, + "id": 5059, "nodeType": "StructuredDocumentation", "src": "1178:119:16", "text": "@dev Subtracts two numbers, returns an error on overflow (i.e. if subtrahend is greater than minuend)." }, - "id": 4956, + "id": 5089, "implemented": true, "kind": "function", "modifiers": [], @@ -3732,17 +3732,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4931, + "id": 5064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4928, + "id": 5061, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1319:6:16", "stateVariable": false, "storageLocation": "default", @@ -3751,7 +3751,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4927, + "id": 5060, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1319:4:16", @@ -3765,12 +3765,12 @@ }, { "constant": false, - "id": 4930, + "id": 5063, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1327:6:16", "stateVariable": false, "storageLocation": "default", @@ -3779,7 +3779,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4929, + "id": 5062, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1327:4:16", @@ -3795,33 +3795,33 @@ "src": "1318:16:16" }, "returnParameters": { - "id": 4936, + "id": 5069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4933, + "id": 5066, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1358:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4932, + "id": 5065, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1358:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3830,12 +3830,12 @@ }, { "constant": false, - "id": 4935, + "id": 5068, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4956, + "scope": 5089, "src": "1369:4:16", "stateVariable": false, "storageLocation": "default", @@ -3844,7 +3844,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4934, + "id": 5067, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1369:4:16", @@ -3859,7 +3859,7 @@ ], "src": "1357:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1302:230:16", "stateMutability": "pure", "virtual": false, @@ -3867,23 +3867,23 @@ }, { "body": { - "id": 4990, + "id": 5123, "nodeType": "Block", "src": "1685:177:16", "statements": [ { "assignments": [ - 4969 + 5102 ], "declarations": [ { "constant": false, - "id": 4969, + "id": 5102, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4990, + "scope": 5123, "src": "1695:6:16", "stateVariable": false, "storageLocation": "default", @@ -3892,7 +3892,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4968, + "id": 5101, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1695:4:16", @@ -3905,25 +3905,25 @@ "visibility": "internal" } ], - "id": 4973, + "id": 5106, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4972, + "id": 5105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4970, + "id": 5103, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4959, + "referencedDeclaration": 5092, "src": "1704:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3934,11 +3934,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 4971, + "id": 5104, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4961, + "referencedDeclaration": 5094, "src": "1708:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3961,18 +3961,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4976, + "id": 5109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4974, + "id": 5107, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4969, + "referencedDeclaration": 5102, "src": "1724:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3983,11 +3983,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4975, + "id": 5108, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4959, + "referencedDeclaration": 5092, "src": "1729:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4001,7 +4001,7 @@ } }, "falseBody": { - "id": 4988, + "id": 5121, "nodeType": "Block", "src": "1793:63:16", "statements": [ @@ -4013,18 +4013,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4983, + "id": 5116, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1815:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4984, + "id": 5117, "isConstant": false, "isLValue": false, "isPure": true, @@ -4034,14 +4034,14 @@ "referencedDeclaration": null, "src": "1815:26:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 4985, + "id": 5118, "isConstant": false, "isLValue": false, "isPure": true, @@ -4057,7 +4057,7 @@ "value": "0" } ], - "id": 4986, + "id": 5119, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4066,22 +4066,22 @@ "nodeType": "TupleExpression", "src": "1814:31:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 4967, - "id": 4987, + "functionReturnParameters": 5100, + "id": 5120, "nodeType": "Return", "src": "1807:38:16" } ] }, - "id": 4989, + "id": 5122, "nodeType": "IfStatement", "src": "1720:136:16", "trueBody": { - "id": 4982, + "id": 5115, "nodeType": "Block", "src": "1732:55:16", "statements": [ @@ -4093,18 +4093,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4977, + "id": 5110, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1754:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 4978, + "id": 5111, "isConstant": false, "isLValue": false, "isPure": true, @@ -4114,17 +4114,17 @@ "referencedDeclaration": null, "src": "1754:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 4979, + "id": 5112, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4969, + "referencedDeclaration": 5102, "src": "1774:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4132,7 +4132,7 @@ } } ], - "id": 4980, + "id": 5113, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4141,12 +4141,12 @@ "nodeType": "TupleExpression", "src": "1753:23:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 4967, - "id": 4981, + "functionReturnParameters": 5100, + "id": 5114, "nodeType": "Return", "src": "1746:30:16" } @@ -4156,12 +4156,12 @@ ] }, "documentation": { - "id": 4957, + "id": 5090, "nodeType": "StructuredDocumentation", "src": "1538:69:16", "text": "@dev Adds two numbers, returns an error on overflow." }, - "id": 4991, + "id": 5124, "implemented": true, "kind": "function", "modifiers": [], @@ -4169,17 +4169,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4962, + "id": 5095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4959, + "id": 5092, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1629:6:16", "stateVariable": false, "storageLocation": "default", @@ -4188,7 +4188,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4958, + "id": 5091, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1629:4:16", @@ -4202,12 +4202,12 @@ }, { "constant": false, - "id": 4961, + "id": 5094, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1637:6:16", "stateVariable": false, "storageLocation": "default", @@ -4216,7 +4216,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4960, + "id": 5093, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1637:4:16", @@ -4232,33 +4232,33 @@ "src": "1628:16:16" }, "returnParameters": { - "id": 4967, + "id": 5100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 5097, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1668:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 4963, + "id": 5096, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1668:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4267,12 +4267,12 @@ }, { "constant": false, - "id": 4966, + "id": 5099, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4991, + "scope": 5124, "src": "1679:4:16", "stateVariable": false, "storageLocation": "default", @@ -4281,7 +4281,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4965, + "id": 5098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1679:4:16", @@ -4296,7 +4296,7 @@ ], "src": "1667:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1612:250:16", "stateMutability": "pure", "virtual": false, @@ -4304,40 +4304,40 @@ }, { "body": { - "id": 5029, + "id": 5162, "nodeType": "Block", "src": "2014:175:16", "statements": [ { "assignments": [ - 5006, - 5008 + 5139, + 5141 ], "declarations": [ { "constant": false, - "id": 5006, + "id": 5139, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5029, + "scope": 5162, "src": "2025:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5005, + "id": 5138, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2025:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4346,12 +4346,12 @@ }, { "constant": false, - "id": 5008, + "id": 5141, "mutability": "mutable", "name": "sum", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5029, + "scope": 5162, "src": "2041:8:16", "stateVariable": false, "storageLocation": "default", @@ -4360,7 +4360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5007, + "id": 5140, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2041:4:16", @@ -4373,17 +4373,17 @@ "visibility": "internal" } ], - "id": 5013, + "id": 5146, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5010, + "id": 5143, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4994, + "referencedDeclaration": 5127, "src": "2061:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4392,11 +4392,11 @@ }, { "argumentTypes": null, - "id": 5011, + "id": 5144, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4996, + "referencedDeclaration": 5129, "src": "2064:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4415,18 +4415,18 @@ "typeString": "uint256" } ], - "id": 5009, + "id": 5142, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "2053:7:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5012, + "id": 5145, "isConstant": false, "isLValue": false, "isPure": false, @@ -4437,7 +4437,7 @@ "src": "2053:13:16", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -4448,24 +4448,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5017, + "id": 5150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5014, + "id": 5147, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5006, + "referencedDeclaration": 5139, "src": "2081:4:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4475,18 +4475,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5015, + "id": 5148, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2089:9:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5016, + "id": 5149, "isConstant": false, "isLValue": false, "isPure": true, @@ -4496,7 +4496,7 @@ "referencedDeclaration": null, "src": "2089:18:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4507,11 +4507,11 @@ } }, "falseBody": null, - "id": 5023, + "id": 5156, "nodeType": "IfStatement", "src": "2077:73:16", "trueBody": { - "id": 5022, + "id": 5155, "nodeType": "Block", "src": "2109:41:16", "statements": [ @@ -4521,21 +4521,21 @@ "components": [ { "argumentTypes": null, - "id": 5018, + "id": 5151, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5006, + "referencedDeclaration": 5139, "src": "2131:4:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5019, + "id": 5152, "isConstant": false, "isLValue": false, "isPure": true, @@ -4551,7 +4551,7 @@ "value": "0" } ], - "id": 5020, + "id": 5153, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4560,12 +4560,12 @@ "nodeType": "TupleExpression", "src": "2130:9:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5004, - "id": 5021, + "functionReturnParameters": 5137, + "id": 5154, "nodeType": "Return", "src": "2123:16:16" } @@ -4578,11 +4578,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5025, + "id": 5158, "name": "sum", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5008, + "referencedDeclaration": 5141, "src": "2175:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4591,11 +4591,11 @@ }, { "argumentTypes": null, - "id": 5026, + "id": 5159, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4998, + "referencedDeclaration": 5131, "src": "2180:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4614,18 +4614,18 @@ "typeString": "uint256" } ], - "id": 5024, + "id": 5157, "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4956, + "referencedDeclaration": 5089, "src": "2167:7:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5027, + "id": 5160, "isConstant": false, "isLValue": false, "isPure": false, @@ -4636,24 +4636,24 @@ "src": "2167:15:16", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5004, - "id": 5028, + "functionReturnParameters": 5137, + "id": 5161, "nodeType": "Return", "src": "2160:22:16" } ] }, "documentation": { - "id": 4992, + "id": 5125, "nodeType": "StructuredDocumentation", "src": "1868:53:16", "text": "@dev add a and b and then subtract c" }, - "id": 5030, + "id": 5163, "implemented": true, "kind": "function", "modifiers": [], @@ -4661,17 +4661,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4999, + "id": 5132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4994, + "id": 5127, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1950:6:16", "stateVariable": false, "storageLocation": "default", @@ -4680,7 +4680,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4993, + "id": 5126, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1950:4:16", @@ -4694,12 +4694,12 @@ }, { "constant": false, - "id": 4996, + "id": 5129, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1958:6:16", "stateVariable": false, "storageLocation": "default", @@ -4708,7 +4708,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4995, + "id": 5128, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1958:4:16", @@ -4722,12 +4722,12 @@ }, { "constant": false, - "id": 4998, + "id": 5131, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1966:6:16", "stateVariable": false, "storageLocation": "default", @@ -4736,7 +4736,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4997, + "id": 5130, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1966:4:16", @@ -4752,33 +4752,33 @@ "src": "1949:24:16" }, "returnParameters": { - "id": 5004, + "id": 5137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5001, + "id": 5134, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "1997:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5000, + "id": 5133, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1997:9:16", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4787,12 +4787,12 @@ }, { "constant": false, - "id": 5003, + "id": 5136, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5030, + "scope": 5163, "src": "2008:4:16", "stateVariable": false, "storageLocation": "default", @@ -4801,7 +4801,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5002, + "id": 5135, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2008:4:16", @@ -4816,14 +4816,14 @@ ], "src": "1996:17:16" }, - "scope": 5031, + "scope": 5164, "src": "1926:263:16", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 5032, + "scope": 5165, "src": "242:1949:16" } ], @@ -4835,7 +4835,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.006Z", + "updatedAt": "2020-12-12T01:13:52.520Z", "devdoc": { "author": "Compound", "methods": {}, diff --git a/AskoLend-contracts/build/contracts/Context.json b/AskoLend-contracts/build/contracts/Context.json index 4d8163f2..06e8c827 100644 --- a/AskoLend-contracts/build/contracts/Context.json +++ b/AskoLend-contracts/build/contracts/Context.json @@ -1,34 +1,37 @@ { "contractName": "Context", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 10489 + 10652 ] }, - "id": 10490, + "id": 10653, "nodeType": "SourceUnit", "nodes": [ { - "id": 10468, + "id": 10631, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:37" + "src": "33:31:37" }, { "abstract": true, @@ -37,36 +40,36 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 10489, + "id": 10652, "linearizedBaseContracts": [ - 10489 + 10652 ], "name": "Context", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 10476, + "id": 10639, "nodeType": "Block", - "src": "660:34:37", + "src": "668:34:37", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10473, + "id": 10636, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "677:3:37", + "src": "685:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10474, + "id": 10637, "isConstant": false, "isLValue": false, "isPure": false, @@ -74,21 +77,21 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "677:10:37", + "src": "685:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 10472, - "id": 10475, + "functionReturnParameters": 10635, + "id": 10638, "nodeType": "Return", - "src": "670:17:37" + "src": "678:17:37" } ] }, "documentation": null, - "id": 10477, + "id": 10640, "implemented": true, "kind": "function", "modifiers": [], @@ -96,24 +99,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10469, + "id": 10632, "nodeType": "ParameterList", "parameters": [], - "src": "609:2:37" + "src": "617:2:37" }, "returnParameters": { - "id": 10472, + "id": 10635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10471, + "id": 10634, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10477, - "src": "643:15:37", + "scope": 10640, + "src": "651:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121,10 +124,10 @@ "typeString": "address payable" }, "typeName": { - "id": 10470, + "id": 10633, "name": "address", "nodeType": "ElementaryTypeName", - "src": "643:15:37", + "src": "651:15:37", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -135,55 +138,55 @@ "visibility": "internal" } ], - "src": "642:17:37" + "src": "650:17:37" }, - "scope": 10489, - "src": "590:104:37", + "scope": 10652, + "src": "598:104:37", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 10487, + "id": 10650, "nodeType": "Block", - "src": "765:165:37", + "src": "773:165:37", "statements": [ { "expression": { "argumentTypes": null, - "id": 10482, + "id": 10645, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "775:4:37", + "src": "783:4:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10483, + "id": 10646, "nodeType": "ExpressionStatement", - "src": "775:4:37" + "src": "783:4:37" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10484, + "id": 10647, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "915:3:37", + "src": "923:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10485, + "id": 10648, "isConstant": false, "isLValue": false, "isPure": false, @@ -191,21 +194,21 @@ "memberName": "data", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "915:8:37", + "src": "923:8:37", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "functionReturnParameters": 10481, - "id": 10486, + "functionReturnParameters": 10644, + "id": 10649, "nodeType": "Return", - "src": "908:15:37" + "src": "916:15:37" } ] }, "documentation": null, - "id": 10488, + "id": 10651, "implemented": true, "kind": "function", "modifiers": [], @@ -213,24 +216,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10478, + "id": 10641, "nodeType": "ParameterList", "parameters": [], - "src": "717:2:37" + "src": "725:2:37" }, "returnParameters": { - "id": 10481, + "id": 10644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10480, + "id": 10643, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10488, - "src": "751:12:37", + "scope": 10651, + "src": "759:12:37", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -238,10 +241,10 @@ "typeString": "bytes" }, "typeName": { - "id": 10479, + "id": 10642, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "751:5:37", + "src": "759:5:37", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -251,41 +254,44 @@ "visibility": "internal" } ], - "src": "750:14:37" + "src": "758:14:37" }, - "scope": 10489, - "src": "700:230:37", + "scope": 10652, + "src": "708:230:37", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 10490, - "src": "558:374:37" + "scope": 10653, + "src": "566:374:37" } ], - "src": "33:900:37" + "src": "33:908:37" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 10489 + 10652 ] }, - "id": 10490, + "id": 10653, "nodeType": "SourceUnit", "nodes": [ { - "id": 10468, + "id": 10631, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:37" + "src": "33:31:37" }, { "abstract": true, @@ -294,36 +300,36 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 10489, + "id": 10652, "linearizedBaseContracts": [ - 10489 + 10652 ], "name": "Context", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 10476, + "id": 10639, "nodeType": "Block", - "src": "660:34:37", + "src": "668:34:37", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10473, + "id": 10636, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "677:3:37", + "src": "685:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10474, + "id": 10637, "isConstant": false, "isLValue": false, "isPure": false, @@ -331,21 +337,21 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "677:10:37", + "src": "685:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 10472, - "id": 10475, + "functionReturnParameters": 10635, + "id": 10638, "nodeType": "Return", - "src": "670:17:37" + "src": "678:17:37" } ] }, "documentation": null, - "id": 10477, + "id": 10640, "implemented": true, "kind": "function", "modifiers": [], @@ -353,24 +359,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10469, + "id": 10632, "nodeType": "ParameterList", "parameters": [], - "src": "609:2:37" + "src": "617:2:37" }, "returnParameters": { - "id": 10472, + "id": 10635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10471, + "id": 10634, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10477, - "src": "643:15:37", + "scope": 10640, + "src": "651:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -378,10 +384,10 @@ "typeString": "address payable" }, "typeName": { - "id": 10470, + "id": 10633, "name": "address", "nodeType": "ElementaryTypeName", - "src": "643:15:37", + "src": "651:15:37", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -392,55 +398,55 @@ "visibility": "internal" } ], - "src": "642:17:37" + "src": "650:17:37" }, - "scope": 10489, - "src": "590:104:37", + "scope": 10652, + "src": "598:104:37", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 10487, + "id": 10650, "nodeType": "Block", - "src": "765:165:37", + "src": "773:165:37", "statements": [ { "expression": { "argumentTypes": null, - "id": 10482, + "id": 10645, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "775:4:37", + "src": "783:4:37", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10483, + "id": 10646, "nodeType": "ExpressionStatement", - "src": "775:4:37" + "src": "783:4:37" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10484, + "id": 10647, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "915:3:37", + "src": "923:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10485, + "id": 10648, "isConstant": false, "isLValue": false, "isPure": false, @@ -448,21 +454,21 @@ "memberName": "data", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "915:8:37", + "src": "923:8:37", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "functionReturnParameters": 10481, - "id": 10486, + "functionReturnParameters": 10644, + "id": 10649, "nodeType": "Return", - "src": "908:15:37" + "src": "916:15:37" } ] }, "documentation": null, - "id": 10488, + "id": 10651, "implemented": true, "kind": "function", "modifiers": [], @@ -470,24 +476,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10478, + "id": 10641, "nodeType": "ParameterList", "parameters": [], - "src": "717:2:37" + "src": "725:2:37" }, "returnParameters": { - "id": 10481, + "id": 10644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10480, + "id": 10643, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10488, - "src": "751:12:37", + "scope": 10651, + "src": "759:12:37", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -495,10 +501,10 @@ "typeString": "bytes" }, "typeName": { - "id": 10479, + "id": 10642, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "751:5:37", + "src": "759:5:37", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -508,20 +514,20 @@ "visibility": "internal" } ], - "src": "750:14:37" + "src": "758:14:37" }, - "scope": 10489, - "src": "700:230:37", + "scope": 10652, + "src": "708:230:37", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 10490, - "src": "558:374:37" + "scope": 10653, + "src": "566:374:37" } ], - "src": "33:900:37" + "src": "33:908:37" }, "compiler": { "name": "solc", @@ -529,7 +535,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.134Z", + "updatedAt": "2020-12-12T01:13:52.729Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/ERC20.json b/AskoLend-contracts/build/contracts/ERC20.json index 0301e2da..fb7a3733 100644 --- a/AskoLend-contracts/build/contracts/ERC20.json +++ b/AskoLend-contracts/build/contracts/ERC20.json @@ -5,12 +5,12 @@ "inputs": [ { "internalType": "string", - "name": "name", + "name": "name_", "type": "string" }, { "internalType": "string", - "name": "symbol", + "name": "symbol_", "type": "string" } ], @@ -288,76 +288,68 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. * To select a different value for {decimals}, use {_setupDecimals}. * All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0\",\"urls\":[\"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02\",\"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\",\"urls\":[\"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37\",\"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000ca538038062000ca5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff191660121790555062000285565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022357805160ff191683800117855562000253565b8280016001018555821562000253579182015b828111156200025357825182559160200191906001019062000236565b506200026192915062000265565b5090565b6200028291905b808211156200026157600081556001016200026c565b90565b610a1080620002956000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122085fd8eeb2d793e3718d1b8d8806c79c729ad94328a30c294fea9b4a00f3ef22164736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122085fd8eeb2d793e3718d1b8d8806c79c729ad94328a30c294fea9b4a00f3ef22164736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. * To select a different value for {decimals}, use {_setupDecimals}. * All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xcbd85c86627a47fd939f1f4ee3ba626575ff2a182e1804b29f5136394449b538\",\"urls\":[\"bzz-raw://53c6a80c519bb9356aad28efa9a1ec31603860eb759d2dc57f545fcae1dd1aca\",\"dweb:/ipfs/QmfRS6TtMNUHhvgLHXK21qKNnpn2S7g2Yd1fKaHKyFiJsR\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162000ca538038062000ca5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff191660121790555062000285565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022357805160ff191683800117855562000253565b8280016001018555821562000253579182015b828111156200025357825182559160200191906001019062000236565b506200026192915062000265565b5090565b6200028291905b808211156200026157600081556001016200026c565b90565b610a1080620002956000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202ba7800d36017504720758d09c3ed51978080820208eff82816ad160014094ba64736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202ba7800d36017504720758d09c3ed51978080820208eff82816ad160014094ba64736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "1345:9444:40:-:0;;;2013:141;5:9:-1;2:2;;;27:1;24;17:12;2:2;2013:141:40;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2013:141:40;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2013:141:40;;420:4:-1;411:14;;;;2013:141:40;;;;;411:14:-1;2013:141:40;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2013:141:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2013:141:40;;420:4:-1;411:14;;;;2013:141:40;;;;;411:14:-1;2013:141:40;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2013:141:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2013:141:40;;-1:-1:-1;;2085:12:40;;;;-1:-1:-1;2085:5:40;;:12;;;;;:::i;:::-;-1:-1:-1;2107:16:40;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;;2133:9:40;:14;;-1:-1:-1;;2133:14:40;2145:2;2133:14;;;-1:-1:-1;1345:9444:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1345:9444:40;;;-1:-1:-1;1345:9444:40;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "1345:9444:40:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1345:9444:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2219:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4255:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;4881:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4881:317:40;;;;;;;;;;;;;;;;;:::i;3121:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5593:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5593:215:40;;;;;;;;:::i;3418:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3418:117:40;-1:-1:-1;;;;;3418:117:40;;:::i;2413:85::-;;;:::i;6295:266::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6295:266:40;;;;;;;;:::i;3738:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3738:172:40;;;;;;;;:::i;3968:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3968:149:40;;;;;;;;;;:::i;2219:81::-;2288:5;2281:12;;;;;;;;-1:-1:-1;;2281:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:13;;2281:12;;2288:5;;2281:12;;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;-1:-1:-1;4410:4:40;4255:166;;;;:::o;3262:98::-;3341:12;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5080:19:40;;;;;;:11;:19;;;;;;5100:12;:10;:12::i;:::-;-1:-1:-1;;;;;5080:33:40;;;;;;;;;;;;-1:-1:-1;5080:33:40;;;:89;;:37;:89;:::i;:::-;5049:8;:121::i;:::-;-1:-1:-1;5187:4:40;4881:317;;;;;:::o;3121:81::-;3186:9;;;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;-1:-1:-1;;;;;5729:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5729:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3418:117::-;-1:-1:-1;;;;;3510:18:40;3484:7;3510:18;;;;;;;;;;;;3418:117::o;2413:85::-;2484:7;2477:14;;;;;;;;-1:-1:-1;;2477:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:13;;2477:14;;2484:7;;2477:14;;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;6295:266;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;-1:-1:-1;;;;;6436:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6436:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;3968:149::-;-1:-1:-1;;;;;4083:18:40;;;4057:7;4083:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3968:149::o;590:104:37:-;677:10;590:104;:::o;9357:340:40:-;-1:-1:-1;;;;;9458:19:40;;9450:68;;;;-1:-1:-1;;;9450:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9536:21:40;;9528:68;;;;-1:-1:-1;;;9528:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9607:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9658:32;;;;;;;;;;;;;;;;;9357:340;;;:::o;7035:530::-;-1:-1:-1;;;;;7140:20:40;;7132:70;;;;-1:-1:-1;;;7132:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7220:23:40;;7212:71;;;;-1:-1:-1;;;7212:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:17:40;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7352:17:40;;;:9;:17;;;;;;;;;;;:91;;;;7476:20;;;;;;;:32;;7501:6;7476:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7453:20:40;;;:9;:20;;;;;;;;;;;;:55;;;;7523:35;;;;;;;7453:20;;7523:35;;;;;;;;;;;;;7035:530;;;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;10695:92:40:-;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n using Address for address;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n /**\n * @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n * a default value of 18.\n *\n * To select a different value for {decimals}, use {_setupDecimals}.\n *\n * All three of these values are immutable: they can only be set once during\n * construction.\n */\n constructor (string memory name, string memory symbol) public {\n _name = name;\n _symbol = symbol;\n _decimals = 18;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5,05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n * called.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view returns (uint8) {\n return _decimals;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Sets {decimals} to a value other than the default one of 18.\n *\n * WARNING: This function should only be called from the constructor. Most\n * applications that interact with token contracts will not expect\n * {decimals} to ever change, and may work incorrectly if it does.\n */\n function _setupDecimals(uint8 decimals_) internal {\n _decimals = decimals_;\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n", + "sourceMap": "1319:9426:40:-:0;;;1956:145;5:9:-1;2:2;;;27:1;24;17:12;2:2;1956:145:40;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1956:145:40;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1956:145:40;;420:4:-1;411:14;;;;1956:145:40;;;;;411:14:-1;1956:145:40;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1956:145:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1956:145:40;;420:4:-1;411:14;;;;1956:145:40;;;;;411:14:-1;1956:145:40;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1956:145:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1956:145:40;;-1:-1:-1;;2030:13:40;;;;-1:-1:-1;2030:5:40;;:13;;;;;:::i;:::-;-1:-1:-1;2053:17:40;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2080:9:40;:14;;-1:-1:-1;;2080:14:40;2092:2;2080:14;;;-1:-1:-1;1319:9426:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1319:9426:40;;;-1:-1:-1;1319:9426:40;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "1319:9426:40:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1319:9426:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2166:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2166:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4202:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3209:98;;;:::i;:::-;;;;;;;;;;;;;;;;4835:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4835:317:40;;;;;;;;;;;;;;;;;:::i;3068:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5547:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5547:215:40;;;;;;;;:::i;3365:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3365:117:40;-1:-1:-1;;;;;3365:117:40;;:::i;2360:85::-;;;:::i;6249:266::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6249:266:40;;;;;;;;:::i;3685:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3685:172:40;;;;;;;;:::i;3915:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3915:149:40;;;;;;;;;;:::i;2166:81::-;2235:5;2228:12;;;;;;;;-1:-1:-1;;2228:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:13;;2228:12;;2235:5;;2228:12;;2235:5;2228:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2166:81;:::o;4202:166::-;4285:4;4301:39;4310:12;:10;:12::i;:::-;4324:7;4333:6;4301:8;:39::i;:::-;-1:-1:-1;4357:4:40;4202:166;;;;:::o;3209:98::-;3288:12;;3209:98;:::o;4835:317::-;4941:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;5003:121;5012:6;5020:12;:10;:12::i;:::-;5034:89;5072:6;5034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:19:40;;;;;;:11;:19;;;;;;5054:12;:10;:12::i;:::-;-1:-1:-1;;;;;5034:33:40;;;;;;;;;;;;-1:-1:-1;5034:33:40;;;:89;;:37;:89;:::i;:::-;5003:8;:121::i;:::-;-1:-1:-1;5141:4:40;4835:317;;;;;:::o;3068:81::-;3133:9;;;;3068:81;:::o;5547:215::-;5635:4;5651:83;5660:12;:10;:12::i;:::-;5674:7;5683:50;5722:10;5683:11;:25;5695:12;:10;:12::i;:::-;-1:-1:-1;;;;;5683:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5683:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3365:117::-;-1:-1:-1;;;;;3457:18:40;3431:7;3457:18;;;;;;;;;;;;3365:117::o;2360:85::-;2431:7;2424:14;;;;;;;;-1:-1:-1;;2424:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:13;;2424:14;;2431:7;;2424:14;;2431:7;2424:14;;;;;;;;;;;;;;;;;;;;;;;;6249:266;6342:4;6358:129;6367:12;:10;:12::i;:::-;6381:7;6390:96;6429:15;6390:96;;;;;;;;;;;;;;;;;:11;:25;6402:12;:10;:12::i;:::-;-1:-1:-1;;;;;6390:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6390:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3685:172::-;3771:4;3787:42;3797:12;:10;:12::i;:::-;3811:9;3822:6;3787:9;:42::i;3915:149::-;-1:-1:-1;;;;;4030:18:40;;;4004:7;4030:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3915:149::o;598:104:37:-;685:10;598:104;:::o;9313:340:40:-;-1:-1:-1;;;;;9414:19:40;;9406:68;;;;-1:-1:-1;;;9406:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9492:21:40;;9484:68;;;;-1:-1:-1;;;9484:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9563:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9614:32;;;;;;;;;;;;;;;;;9313:340;;;:::o;6989:530::-;-1:-1:-1;;;;;7094:20:40;;7086:70;;;;-1:-1:-1;;;7086:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:23:40;;7166:71;;;;-1:-1:-1;;;7166:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:47;7269:6;7277:9;7288:6;7248:20;:47::i;:::-;7326:71;7348:6;7326:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7326:17:40;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7306:17:40;;;:9;:17;;;;;;;;;;;:91;;;;7430:20;;;;;;;:32;;7455:6;7430:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7407:20:40;;;:9;:20;;;;;;;;;;;;:55;;;;7477:35;;;;;;;7407:20;;7477:35;;;;;;;;;;;;;6989:530;;;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;10651:92:40:-;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n /**\n * @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n * a default value of 18.\n *\n * To select a different value for {decimals}, use {_setupDecimals}.\n *\n * All three of these values are immutable: they can only be set once during\n * construction.\n */\n constructor (string memory name_, string memory symbol_) public {\n _name = name_;\n _symbol = symbol_;\n _decimals = 18;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5,05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n * called.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view returns (uint8) {\n return _decimals;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * Requirements:\n *\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Sets {decimals} to a value other than the default one of 18.\n *\n * WARNING: This function should only be called from the constructor. Most\n * applications that interact with token contracts will not expect\n * {decimals} to ever change, and may work incorrectly if it does.\n */\n function _setupDecimals(uint8 decimals_) internal {\n _decimals = decimals_;\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 11301 + 11460 ] }, - "id": 11302, + "id": 11461, "nodeType": "SourceUnit", "nodes": [ { - "id": 10796, + "id": 10959, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:40" + "src": "33:31:40" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 10797, + "id": 10960, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 10490, - "src": "58:31:40", + "scope": 11461, + "sourceUnit": 10653, + "src": "66:31:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 10798, + "id": 10961, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 11380, - "src": "90:22:40", + "scope": 11461, + "sourceUnit": 11539, + "src": "98:22:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 10799, + "id": 10962, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 10795, - "src": "113:33:40", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 10800, - "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 11575, - "src": "147:33:40", + "scope": 11461, + "sourceUnit": 10958, + "src": "121:33:40", "symbolAliases": [], "unitAlias": "" }, @@ -368,124 +360,96 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 10802, + "id": 10964, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10489, - "src": "1363:7:40", + "referencedDeclaration": 10652, + "src": "1337:7:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10803, + "id": 10965, "nodeType": "InheritanceSpecifier", - "src": "1363:7:40" + "src": "1337:7:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 10804, + "id": 10966, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11379, - "src": "1372:6:40", + "referencedDeclaration": 11538, + "src": "1346:6:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11379", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 10805, + "id": 10967, "nodeType": "InheritanceSpecifier", - "src": "1372:6:40" + "src": "1346:6:40" } ], "contractDependencies": [ - 10489, - 11379 + 10652, + 11538 ], "contractKind": "contract", "documentation": { - "id": 10801, + "id": 10963, "nodeType": "StructuredDocumentation", - "src": "182:1162:40", + "src": "156:1162:40", "text": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20PresetMinterPauser}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}." }, "fullyImplemented": true, - "id": 11301, + "id": 11460, "linearizedBaseContracts": [ - 11301, - 11379, - 10489 + 11460, + 11538, + 10652 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 10808, + "id": 10970, "libraryName": { "contractScope": null, - "id": 10806, + "id": 10968, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10794, - "src": "1391:8:40", + "referencedDeclaration": 10957, + "src": "1365:8:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10794", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1385:27:40", + "src": "1359:27:40", "typeName": { - "id": 10807, + "id": 10969, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1404:7:40", + "src": "1378:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, - { - "id": 10811, - "libraryName": { - "contractScope": null, - "id": 10809, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11574, - "src": "1423:7:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$11574", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "1417:26:40", - "typeName": { - "id": 10810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1435:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, { "constant": false, - "id": 10815, + "id": 10974, "mutability": "mutable", "name": "_balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1449:46:40", + "scope": 11460, + "src": "1392:46:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -493,28 +457,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 10814, + "id": 10973, "keyType": { - "id": 10812, + "id": 10971, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:40", + "src": "1401:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1449:28:40", + "src": "1392:28:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 10813, + "id": 10972, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1469:7:40", + "src": "1412:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -526,13 +490,13 @@ }, { "constant": false, - "id": 10821, + "id": 10980, "mutability": "mutable", "name": "_allowances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1502:69:40", + "scope": 11460, + "src": "1445:69:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -540,46 +504,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 10820, + "id": 10979, "keyType": { - "id": 10816, + "id": 10975, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1511:7:40", + "src": "1454:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1502:49:40", + "src": "1445:49:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 10819, + "id": 10978, "keyType": { - "id": 10817, + "id": 10976, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1531:7:40", + "src": "1474:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1522:28:40", + "src": "1465:28:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 10818, + "id": 10977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1542:7:40", + "src": "1485:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -592,13 +556,13 @@ }, { "constant": false, - "id": 10823, + "id": 10982, "mutability": "mutable", "name": "_totalSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1578:28:40", + "scope": 11460, + "src": "1521:28:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -606,10 +570,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10822, + "id": 10981, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1578:7:40", + "src": "1521:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -620,13 +584,13 @@ }, { "constant": false, - "id": 10825, + "id": 10984, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1613:20:40", + "scope": 11460, + "src": "1556:20:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -634,10 +598,10 @@ "typeString": "string" }, "typeName": { - "id": 10824, + "id": 10983, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1613:6:40", + "src": "1556:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -648,13 +612,13 @@ }, { "constant": false, - "id": 10827, + "id": 10986, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1639:22:40", + "scope": 11460, + "src": "1582:22:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -662,10 +626,10 @@ "typeString": "string" }, "typeName": { - "id": 10826, + "id": 10985, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1639:6:40", + "src": "1582:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -676,13 +640,13 @@ }, { "constant": false, - "id": 10829, + "id": 10988, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1667:23:40", + "scope": 11460, + "src": "1610:23:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -690,10 +654,10 @@ "typeString": "uint8" }, "typeName": { - "id": 10828, + "id": 10987, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1667:5:40", + "src": "1610:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -704,26 +668,26 @@ }, { "body": { - "id": 10849, + "id": 11008, "nodeType": "Block", - "src": "2075:79:40", + "src": "2020:81:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10839, + "id": 10998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10837, + "id": 10996, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10825, - "src": "2085:5:40", + "referencedDeclaration": 10984, + "src": "2030:5:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -733,43 +697,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10838, - "name": "name", + "id": 10997, + "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "2093:4:40", + "referencedDeclaration": 10991, + "src": "2038:5:40", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2085:12:40", + "src": "2030:13:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 10840, + "id": 10999, "nodeType": "ExpressionStatement", - "src": "2085:12:40" + "src": "2030:13:40" }, { "expression": { "argumentTypes": null, - "id": 10843, + "id": 11002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10841, + "id": 11000, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "2107:7:40", + "referencedDeclaration": 10986, + "src": "2053:7:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -779,43 +743,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10842, - "name": "symbol", + "id": 11001, + "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10834, - "src": "2117:6:40", + "referencedDeclaration": 10993, + "src": "2063:7:40", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2107:16:40", + "src": "2053:17:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 10844, + "id": 11003, "nodeType": "ExpressionStatement", - "src": "2107:16:40" + "src": "2053:17:40" }, { "expression": { "argumentTypes": null, - "id": 10847, + "id": 11006, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10845, + "id": 11004, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "2133:9:40", + "referencedDeclaration": 10988, + "src": "2080:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -826,14 +790,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 10846, + "id": 11005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2145:2:40", + "src": "2092:2:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -841,25 +805,25 @@ }, "value": "18" }, - "src": "2133:14:40", + "src": "2080:14:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 10848, + "id": 11007, "nodeType": "ExpressionStatement", - "src": "2133:14:40" + "src": "2080:14:40" } ] }, "documentation": { - "id": 10830, + "id": 10989, "nodeType": "StructuredDocumentation", - "src": "1697:311:40", + "src": "1640:311:40", "text": "@dev Sets the values for {name} and {symbol}, initializes {decimals} with\na default value of 18.\n * To select a different value for {decimals}, use {_setupDecimals}.\n * All three of these values are immutable: they can only be set once during\nconstruction." }, - "id": 10850, + "id": 11009, "implemented": true, "kind": "constructor", "modifiers": [], @@ -867,18 +831,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10835, + "id": 10994, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10832, + "id": 10991, "mutability": "mutable", - "name": "name", + "name": "name_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10850, - "src": "2026:18:40", + "scope": 11009, + "src": "1969:19:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -886,10 +850,10 @@ "typeString": "string" }, "typeName": { - "id": 10831, + "id": 10990, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2026:6:40", + "src": "1969:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -900,13 +864,13 @@ }, { "constant": false, - "id": 10834, + "id": 10993, "mutability": "mutable", - "name": "symbol", + "name": "symbol_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10850, - "src": "2046:20:40", + "scope": 11009, + "src": "1990:21:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -914,10 +878,10 @@ "typeString": "string" }, "typeName": { - "id": 10833, + "id": 10992, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2046:6:40", + "src": "1990:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -927,55 +891,55 @@ "visibility": "internal" } ], - "src": "2025:42:40" + "src": "1968:44:40" }, "returnParameters": { - "id": 10836, + "id": 10995, "nodeType": "ParameterList", "parameters": [], - "src": "2075:0:40" + "src": "2020:0:40" }, - "scope": 11301, - "src": "2013:141:40", + "scope": 11460, + "src": "1956:145:40", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 10858, + "id": 11017, "nodeType": "Block", - "src": "2271:29:40", + "src": "2218:29:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10856, + "id": 11015, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10825, - "src": "2288:5:40", + "referencedDeclaration": 10984, + "src": "2235:5:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 10855, - "id": 10857, + "functionReturnParameters": 11014, + "id": 11016, "nodeType": "Return", - "src": "2281:12:40" + "src": "2228:12:40" } ] }, "documentation": { - "id": 10851, + "id": 11010, "nodeType": "StructuredDocumentation", - "src": "2160:54:40", + "src": "2107:54:40", "text": "@dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 10859, + "id": 11018, "implemented": true, "kind": "function", "modifiers": [], @@ -983,24 +947,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10852, + "id": 11011, "nodeType": "ParameterList", "parameters": [], - "src": "2232:2:40" + "src": "2179:2:40" }, "returnParameters": { - "id": 10855, + "id": 11014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10854, + "id": 11013, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10859, - "src": "2256:13:40", + "scope": 11018, + "src": "2203:13:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1008,10 +972,10 @@ "typeString": "string" }, "typeName": { - "id": 10853, + "id": 11012, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2256:6:40", + "src": "2203:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1021,49 +985,49 @@ "visibility": "internal" } ], - "src": "2255:15:40" + "src": "2202:15:40" }, - "scope": 11301, - "src": "2219:81:40", + "scope": 11460, + "src": "2166:81:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10867, + "id": 11026, "nodeType": "Block", - "src": "2467:31:40", + "src": "2414:31:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10865, + "id": 11024, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "2484:7:40", + "referencedDeclaration": 10986, + "src": "2431:7:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 10864, - "id": 10866, + "functionReturnParameters": 11023, + "id": 11025, "nodeType": "Return", - "src": "2477:14:40" + "src": "2424:14:40" } ] }, "documentation": { - "id": 10860, + "id": 11019, "nodeType": "StructuredDocumentation", - "src": "2306:102:40", + "src": "2253:102:40", "text": "@dev Returns the symbol of the token, usually a shorter version of the\nname." }, "functionSelector": "95d89b41", - "id": 10868, + "id": 11027, "implemented": true, "kind": "function", "modifiers": [], @@ -1071,24 +1035,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10861, + "id": 11020, "nodeType": "ParameterList", "parameters": [], - "src": "2428:2:40" + "src": "2375:2:40" }, "returnParameters": { - "id": 10864, + "id": 11023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10863, + "id": 11022, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10868, - "src": "2452:13:40", + "scope": 11027, + "src": "2399:13:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1096,10 +1060,10 @@ "typeString": "string" }, "typeName": { - "id": 10862, + "id": 11021, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2452:6:40", + "src": "2399:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1109,49 +1073,49 @@ "visibility": "internal" } ], - "src": "2451:15:40" + "src": "2398:15:40" }, - "scope": 11301, - "src": "2413:85:40", + "scope": 11460, + "src": "2360:85:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10876, + "id": 11035, "nodeType": "Block", - "src": "3169:33:40", + "src": "3116:33:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10874, + "id": 11033, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "3186:9:40", + "referencedDeclaration": 10988, + "src": "3133:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 10873, - "id": 10875, + "functionReturnParameters": 11032, + "id": 11034, "nodeType": "Return", - "src": "3179:16:40" + "src": "3126:16:40" } ] }, "documentation": { - "id": 10869, + "id": 11028, "nodeType": "StructuredDocumentation", - "src": "2504:612:40", + "src": "2451:612:40", "text": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\ncalled.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}." }, "functionSelector": "313ce567", - "id": 10877, + "id": 11036, "implemented": true, "kind": "function", "modifiers": [], @@ -1159,24 +1123,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10870, + "id": 11029, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:40" + "src": "3085:2:40" }, "returnParameters": { - "id": 10873, + "id": 11032, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10872, + "id": 11031, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10877, - "src": "3162:5:40", + "scope": 11036, + "src": "3109:5:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1184,10 +1148,10 @@ "typeString": "uint8" }, "typeName": { - "id": 10871, + "id": 11030, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3162:5:40", + "src": "3109:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1197,82 +1161,82 @@ "visibility": "internal" } ], - "src": "3161:7:40" + "src": "3108:7:40" }, - "scope": 11301, - "src": "3121:81:40", + "scope": 11460, + "src": "3068:81:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11310 + 11469 ], "body": { - "id": 10886, + "id": 11045, "nodeType": "Block", - "src": "3324:36:40", + "src": "3271:36:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10884, + "id": 11043, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "3341:12:40", + "referencedDeclaration": 10982, + "src": "3288:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10883, - "id": 10885, + "functionReturnParameters": 11042, + "id": 11044, "nodeType": "Return", - "src": "3334:19:40" + "src": "3281:19:40" } ] }, "documentation": { - "id": 10878, + "id": 11037, "nodeType": "StructuredDocumentation", - "src": "3208:49:40", + "src": "3155:49:40", "text": "@dev See {IERC20-totalSupply}." }, "functionSelector": "18160ddd", - "id": 10887, + "id": 11046, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "overrides": { - "id": 10880, + "id": 11039, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3297:8:40" + "src": "3244:8:40" }, "parameters": { - "id": 10879, + "id": 11038, "nodeType": "ParameterList", "parameters": [], - "src": "3282:2:40" + "src": "3229:2:40" }, "returnParameters": { - "id": 10883, + "id": 11042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10882, + "id": 11041, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10887, - "src": "3315:7:40", + "scope": 11046, + "src": "3262:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1280,10 +1244,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10881, + "id": 11040, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3315:7:40", + "src": "3262:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1293,48 +1257,48 @@ "visibility": "internal" } ], - "src": "3314:9:40" + "src": "3261:9:40" }, - "scope": 11301, - "src": "3262:98:40", + "scope": 11460, + "src": "3209:98:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11318 + 11477 ], "body": { - "id": 10900, + "id": 11059, "nodeType": "Block", - "src": "3493:42:40", + "src": "3440:42:40", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10896, + "id": 11055, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "3510:9:40", + "referencedDeclaration": 10974, + "src": "3457:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10898, + "id": 11057, "indexExpression": { "argumentTypes": null, - "id": 10897, + "id": 11056, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10890, - "src": "3520:7:40", + "referencedDeclaration": 11049, + "src": "3467:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1345,51 +1309,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3510:18:40", + "src": "3457:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10895, - "id": 10899, + "functionReturnParameters": 11054, + "id": 11058, "nodeType": "Return", - "src": "3503:25:40" + "src": "3450:25:40" } ] }, "documentation": { - "id": 10888, + "id": 11047, "nodeType": "StructuredDocumentation", - "src": "3366:47:40", + "src": "3313:47:40", "text": "@dev See {IERC20-balanceOf}." }, "functionSelector": "70a08231", - "id": 10901, + "id": 11060, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "overrides": { - "id": 10892, + "id": 11051, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3466:8:40" + "src": "3413:8:40" }, "parameters": { - "id": 10891, + "id": 11050, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10890, + "id": 11049, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10901, - "src": "3437:15:40", + "scope": 11060, + "src": "3384:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1397,10 +1361,10 @@ "typeString": "address" }, "typeName": { - "id": 10889, + "id": 11048, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3437:7:40", + "src": "3384:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1411,21 +1375,21 @@ "visibility": "internal" } ], - "src": "3436:17:40" + "src": "3383:17:40" }, "returnParameters": { - "id": 10895, + "id": 11054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10894, + "id": 11053, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10901, - "src": "3484:7:40", + "scope": 11060, + "src": "3431:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1433,10 +1397,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10893, + "id": 11052, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3484:7:40", + "src": "3431:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1446,22 +1410,22 @@ "visibility": "internal" } ], - "src": "3483:9:40" + "src": "3430:9:40" }, - "scope": 11301, - "src": "3418:117:40", + "scope": 11460, + "src": "3365:117:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11328 + 11487 ], "body": { - "id": 10921, + "id": 11080, "nodeType": "Block", - "src": "3830:80:40", + "src": "3777:80:40", "statements": [ { "expression": { @@ -1472,18 +1436,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10913, + "id": 11072, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "3850:10:40", + "referencedDeclaration": 10640, + "src": "3797:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10914, + "id": 11073, "isConstant": false, "isLValue": false, "isPure": false, @@ -1491,7 +1455,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3850:12:40", + "src": "3797:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1500,12 +1464,12 @@ }, { "argumentTypes": null, - "id": 10915, + "id": 11074, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10904, - "src": "3864:9:40", + "referencedDeclaration": 11063, + "src": "3811:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1513,12 +1477,12 @@ }, { "argumentTypes": null, - "id": 10916, + "id": 11075, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10906, - "src": "3875:6:40", + "referencedDeclaration": 11065, + "src": "3822:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1540,18 +1504,18 @@ "typeString": "uint256" } ], - "id": 10912, + "id": 11071, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11122, - "src": "3840:9:40", + "referencedDeclaration": 11281, + "src": "3787:9:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10917, + "id": 11076, "isConstant": false, "isLValue": false, "isPure": false, @@ -1559,29 +1523,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:42:40", + "src": "3787:42:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10918, + "id": 11077, "nodeType": "ExpressionStatement", - "src": "3840:42:40" + "src": "3787:42:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10919, + "id": 11078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3899:4:40", + "src": "3846:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1589,45 +1553,45 @@ }, "value": "true" }, - "functionReturnParameters": 10911, - "id": 10920, + "functionReturnParameters": 11070, + "id": 11079, "nodeType": "Return", - "src": "3892:11:40" + "src": "3839:11:40" } ] }, "documentation": { - "id": 10902, + "id": 11061, "nodeType": "StructuredDocumentation", - "src": "3541:192:40", + "src": "3488:192:40", "text": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`." }, "functionSelector": "a9059cbb", - "id": 10922, + "id": 11081, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 10908, + "id": 11067, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3806:8:40" + "src": "3753:8:40" }, "parameters": { - "id": 10907, + "id": 11066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10904, + "id": 11063, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3756:17:40", + "scope": 11081, + "src": "3703:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1635,10 +1599,10 @@ "typeString": "address" }, "typeName": { - "id": 10903, + "id": 11062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3756:7:40", + "src": "3703:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1650,13 +1614,13 @@ }, { "constant": false, - "id": 10906, + "id": 11065, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3775:14:40", + "scope": 11081, + "src": "3722:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1664,10 +1628,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10905, + "id": 11064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3775:7:40", + "src": "3722:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1677,21 +1641,21 @@ "visibility": "internal" } ], - "src": "3755:35:40" + "src": "3702:35:40" }, "returnParameters": { - "id": 10911, + "id": 11070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10910, + "id": 11069, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3824:4:40", + "scope": 11081, + "src": "3771:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1699,10 +1663,10 @@ "typeString": "bool" }, "typeName": { - "id": 10909, + "id": 11068, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3824:4:40", + "src": "3771:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1712,22 +1676,22 @@ "visibility": "internal" } ], - "src": "3823:6:40" + "src": "3770:6:40" }, - "scope": 11301, - "src": "3738:172:40", + "scope": 11460, + "src": "3685:172:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11338 + 11497 ], "body": { - "id": 10939, + "id": 11098, "nodeType": "Block", - "src": "4066:51:40", + "src": "4013:51:40", "statements": [ { "expression": { @@ -1736,26 +1700,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10933, + "id": 11092, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "4083:11:40", + "referencedDeclaration": 10980, + "src": "4030:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 10935, + "id": 11094, "indexExpression": { "argumentTypes": null, - "id": 10934, + "id": 11093, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10925, - "src": "4095:5:40", + "referencedDeclaration": 11084, + "src": "4042:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1766,21 +1730,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:18:40", + "src": "4030:18:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10937, + "id": 11096, "indexExpression": { "argumentTypes": null, - "id": 10936, + "id": 11095, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "4102:7:40", + "referencedDeclaration": 11086, + "src": "4049:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1791,51 +1755,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:27:40", + "src": "4030:27:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10932, - "id": 10938, + "functionReturnParameters": 11091, + "id": 11097, "nodeType": "Return", - "src": "4076:34:40" + "src": "4023:34:40" } ] }, "documentation": { - "id": 10923, + "id": 11082, "nodeType": "StructuredDocumentation", - "src": "3916:47:40", + "src": "3863:47:40", "text": "@dev See {IERC20-allowance}." }, "functionSelector": "dd62ed3e", - "id": 10940, + "id": 11099, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "overrides": { - "id": 10929, + "id": 11088, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4039:8:40" + "src": "3986:8:40" }, "parameters": { - "id": 10928, + "id": 11087, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10925, + "id": 11084, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "3987:13:40", + "scope": 11099, + "src": "3934:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1843,10 +1807,10 @@ "typeString": "address" }, "typeName": { - "id": 10924, + "id": 11083, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3987:7:40", + "src": "3934:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1858,13 +1822,13 @@ }, { "constant": false, - "id": 10927, + "id": 11086, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "4002:15:40", + "scope": 11099, + "src": "3949:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1872,10 +1836,10 @@ "typeString": "address" }, "typeName": { - "id": 10926, + "id": 11085, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4002:7:40", + "src": "3949:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1886,21 +1850,21 @@ "visibility": "internal" } ], - "src": "3986:32:40" + "src": "3933:32:40" }, "returnParameters": { - "id": 10932, + "id": 11091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10931, + "id": 11090, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "4057:7:40", + "scope": 11099, + "src": "4004:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1908,10 +1872,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10930, + "id": 11089, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4057:7:40", + "src": "4004:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1921,22 +1885,22 @@ "visibility": "internal" } ], - "src": "4056:9:40" + "src": "4003:9:40" }, - "scope": 11301, - "src": "3968:149:40", + "scope": 11460, + "src": "3915:149:40", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11348 + 11507 ], "body": { - "id": 10960, + "id": 11119, "nodeType": "Block", - "src": "4344:77:40", + "src": "4291:77:40", "statements": [ { "expression": { @@ -1947,18 +1911,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10952, + "id": 11111, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "4363:10:40", + "referencedDeclaration": 10640, + "src": "4310:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10953, + "id": 11112, "isConstant": false, "isLValue": false, "isPure": false, @@ -1966,7 +1930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4363:12:40", + "src": "4310:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1975,12 +1939,12 @@ }, { "argumentTypes": null, - "id": 10954, + "id": 11113, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10943, - "src": "4377:7:40", + "referencedDeclaration": 11102, + "src": "4324:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1988,12 +1952,12 @@ }, { "argumentTypes": null, - "id": 10955, + "id": 11114, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10945, - "src": "4386:6:40", + "referencedDeclaration": 11104, + "src": "4333:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2015,18 +1979,18 @@ "typeString": "uint256" } ], - "id": 10951, + "id": 11110, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "4354:8:40", + "referencedDeclaration": 11437, + "src": "4301:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10956, + "id": 11115, "isConstant": false, "isLValue": false, "isPure": false, @@ -2034,29 +1998,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:39:40", + "src": "4301:39:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10957, + "id": 11116, "nodeType": "ExpressionStatement", - "src": "4354:39:40" + "src": "4301:39:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10958, + "id": 11117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4410:4:40", + "src": "4357:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2064,45 +2028,45 @@ }, "value": "true" }, - "functionReturnParameters": 10950, - "id": 10959, + "functionReturnParameters": 11109, + "id": 11118, "nodeType": "Return", - "src": "4403:11:40" + "src": "4350:11:40" } ] }, "documentation": { - "id": 10941, + "id": 11100, "nodeType": "StructuredDocumentation", - "src": "4123:127:40", + "src": "4070:127:40", "text": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address." }, "functionSelector": "095ea7b3", - "id": 10961, + "id": 11120, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 10947, + "id": 11106, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4320:8:40" + "src": "4267:8:40" }, "parameters": { - "id": 10946, + "id": 11105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10943, + "id": 11102, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4272:15:40", + "scope": 11120, + "src": "4219:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2110,10 +2074,10 @@ "typeString": "address" }, "typeName": { - "id": 10942, + "id": 11101, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4272:7:40", + "src": "4219:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2125,13 +2089,13 @@ }, { "constant": false, - "id": 10945, + "id": 11104, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4289:14:40", + "scope": 11120, + "src": "4236:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2139,10 +2103,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10944, + "id": 11103, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4289:7:40", + "src": "4236:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2152,21 +2116,21 @@ "visibility": "internal" } ], - "src": "4271:33:40" + "src": "4218:33:40" }, "returnParameters": { - "id": 10950, + "id": 11109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10949, + "id": 11108, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4338:4:40", + "scope": 11120, + "src": "4285:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2174,10 +2138,10 @@ "typeString": "bool" }, "typeName": { - "id": 10948, + "id": 11107, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4338:4:40", + "src": "4285:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2187,22 +2151,22 @@ "visibility": "internal" } ], - "src": "4337:6:40" + "src": "4284:6:40" }, - "scope": 11301, - "src": "4255:166:40", + "scope": 11460, + "src": "4202:166:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11360 + 11519 ], "body": { - "id": 10998, + "id": 11157, "nodeType": "Block", - "src": "4993:205:40", + "src": "4947:205:40", "statements": [ { "expression": { @@ -2210,12 +2174,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10975, + "id": 11134, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5013:6:40", + "referencedDeclaration": 11123, + "src": "4967:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2223,12 +2187,12 @@ }, { "argumentTypes": null, - "id": 10976, + "id": 11135, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10966, - "src": "5021:9:40", + "referencedDeclaration": 11125, + "src": "4975:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2236,12 +2200,12 @@ }, { "argumentTypes": null, - "id": 10977, + "id": 11136, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10968, - "src": "5032:6:40", + "referencedDeclaration": 11127, + "src": "4986:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2263,18 +2227,18 @@ "typeString": "uint256" } ], - "id": 10974, + "id": 11133, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11122, - "src": "5003:9:40", + "referencedDeclaration": 11281, + "src": "4957:9:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10978, + "id": 11137, "isConstant": false, "isLValue": false, "isPure": false, @@ -2282,16 +2246,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5003:36:40", + "src": "4957:36:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10979, + "id": 11138, "nodeType": "ExpressionStatement", - "src": "5003:36:40" + "src": "4957:36:40" }, { "expression": { @@ -2299,12 +2263,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10981, + "id": 11140, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5058:6:40", + "referencedDeclaration": 11123, + "src": "5012:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2315,18 +2279,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10982, + "id": 11141, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5066:10:40", + "referencedDeclaration": 10640, + "src": "5020:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10983, + "id": 11142, "isConstant": false, "isLValue": false, "isPure": false, @@ -2334,7 +2298,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5066:12:40", + "src": "5020:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2346,12 +2310,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10991, + "id": 11150, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10968, - "src": "5118:6:40", + "referencedDeclaration": 11127, + "src": "5072:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2360,14 +2324,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 10992, + "id": 11151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5126:42:40", + "src": "5080:42:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -2393,26 +2357,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10984, + "id": 11143, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "5080:11:40", + "referencedDeclaration": 10980, + "src": "5034:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 10986, + "id": 11145, "indexExpression": { "argumentTypes": null, - "id": 10985, + "id": 11144, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5092:6:40", + "referencedDeclaration": 11123, + "src": "5046:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2423,30 +2387,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:19:40", + "src": "5034:19:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10989, + "id": 11148, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 10987, + "id": 11146, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5100:10:40", + "referencedDeclaration": 10640, + "src": "5054:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10988, + "id": 11147, "isConstant": false, "isLValue": false, "isPure": false, @@ -2454,7 +2418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:12:40", + "src": "5054:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2466,27 +2430,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:33:40", + "src": "5034:33:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10990, + "id": 11149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5080:37:40", + "referencedDeclaration": 10835, + "src": "5034:37:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10993, + "id": 11152, "isConstant": false, "isLValue": false, "isPure": false, @@ -2494,7 +2458,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5080:89:40", + "src": "5034:89:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2517,18 +2481,18 @@ "typeString": "uint256" } ], - "id": 10980, + "id": 11139, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "5049:8:40", + "referencedDeclaration": 11437, + "src": "5003:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10994, + "id": 11153, "isConstant": false, "isLValue": false, "isPure": false, @@ -2536,29 +2500,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5049:121:40", + "src": "5003:121:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10995, + "id": 11154, "nodeType": "ExpressionStatement", - "src": "5049:121:40" + "src": "5003:121:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10996, + "id": 11155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5187:4:40", + "src": "5141:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2566,45 +2530,45 @@ }, "value": "true" }, - "functionReturnParameters": 10973, - "id": 10997, + "functionReturnParameters": 11132, + "id": 11156, "nodeType": "Return", - "src": "5180:11:40" + "src": "5134:11:40" } ] }, "documentation": { - "id": 10962, + "id": 11121, "nodeType": "StructuredDocumentation", - "src": "4427:449:40", - "text": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`." + "src": "4374:456:40", + "text": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20}.\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`." }, "functionSelector": "23b872dd", - "id": 10999, + "id": 11158, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 10970, + "id": 11129, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4969:8:40" + "src": "4923:8:40" }, "parameters": { - "id": 10969, + "id": 11128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10964, + "id": 11123, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4903:14:40", + "scope": 11158, + "src": "4857:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2612,10 +2576,10 @@ "typeString": "address" }, "typeName": { - "id": 10963, + "id": 11122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4903:7:40", + "src": "4857:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2627,13 +2591,13 @@ }, { "constant": false, - "id": 10966, + "id": 11125, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4919:17:40", + "scope": 11158, + "src": "4873:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2641,10 +2605,10 @@ "typeString": "address" }, "typeName": { - "id": 10965, + "id": 11124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4919:7:40", + "src": "4873:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2656,13 +2620,13 @@ }, { "constant": false, - "id": 10968, + "id": 11127, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4938:14:40", + "scope": 11158, + "src": "4892:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2670,10 +2634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10967, + "id": 11126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4938:7:40", + "src": "4892:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2683,21 +2647,21 @@ "visibility": "internal" } ], - "src": "4902:51:40" + "src": "4856:51:40" }, "returnParameters": { - "id": 10973, + "id": 11132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10972, + "id": 11131, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4987:4:40", + "scope": 11158, + "src": "4941:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2705,10 +2669,10 @@ "typeString": "bool" }, "typeName": { - "id": 10971, + "id": 11130, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4987:4:40", + "src": "4941:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2718,19 +2682,19 @@ "visibility": "internal" } ], - "src": "4986:6:40" + "src": "4940:6:40" }, - "scope": 11301, - "src": "4881:317:40", + "scope": 11460, + "src": "4835:317:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11026, + "id": 11185, "nodeType": "Block", - "src": "5687:121:40", + "src": "5641:121:40", "statements": [ { "expression": { @@ -2741,18 +2705,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 11010, + "id": 11169, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5706:10:40", + "referencedDeclaration": 10640, + "src": "5660:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11011, + "id": 11170, "isConstant": false, "isLValue": false, "isPure": false, @@ -2760,7 +2724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5706:12:40", + "src": "5660:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2769,12 +2733,12 @@ }, { "argumentTypes": null, - "id": 11012, + "id": 11171, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11002, - "src": "5720:7:40", + "referencedDeclaration": 11161, + "src": "5674:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2785,12 +2749,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11020, + "id": 11179, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5768:10:40", + "referencedDeclaration": 11163, + "src": "5722:10:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2810,35 +2774,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11013, + "id": 11172, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "5729:11:40", + "referencedDeclaration": 10980, + "src": "5683:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11016, + "id": 11175, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 11014, + "id": 11173, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5741:10:40", + "referencedDeclaration": 10640, + "src": "5695:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11015, + "id": 11174, "isConstant": false, "isLValue": false, "isPure": false, @@ -2846,7 +2810,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5741:12:40", + "src": "5695:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2858,21 +2822,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:25:40", + "src": "5683:25:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11018, + "id": 11177, "indexExpression": { "argumentTypes": null, - "id": 11017, + "id": 11176, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11002, - "src": "5755:7:40", + "referencedDeclaration": 11161, + "src": "5709:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2883,27 +2847,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:34:40", + "src": "5683:34:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11019, + "id": 11178, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "5729:38:40", + "referencedDeclaration": 10790, + "src": "5683:38:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11021, + "id": 11180, "isConstant": false, "isLValue": false, "isPure": false, @@ -2911,7 +2875,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5729:50:40", + "src": "5683:50:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2934,18 +2898,18 @@ "typeString": "uint256" } ], - "id": 11009, + "id": 11168, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "5697:8:40", + "referencedDeclaration": 11437, + "src": "5651:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11022, + "id": 11181, "isConstant": false, "isLValue": false, "isPure": false, @@ -2953,29 +2917,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5697:83:40", + "src": "5651:83:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11023, + "id": 11182, "nodeType": "ExpressionStatement", - "src": "5697:83:40" + "src": "5651:83:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 11024, + "id": 11183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5797:4:40", + "src": "5751:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2983,21 +2947,21 @@ }, "value": "true" }, - "functionReturnParameters": 11008, - "id": 11025, + "functionReturnParameters": 11167, + "id": 11184, "nodeType": "Return", - "src": "5790:11:40" + "src": "5744:11:40" } ] }, "documentation": { - "id": 11000, + "id": 11159, "nodeType": "StructuredDocumentation", - "src": "5204:384:40", + "src": "5158:384:40", "text": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address." }, "functionSelector": "39509351", - "id": 11027, + "id": 11186, "implemented": true, "kind": "function", "modifiers": [], @@ -3005,18 +2969,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11005, + "id": 11164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11002, + "id": 11161, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5620:15:40", + "scope": 11186, + "src": "5574:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3024,10 +2988,10 @@ "typeString": "address" }, "typeName": { - "id": 11001, + "id": 11160, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5620:7:40", + "src": "5574:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3039,13 +3003,13 @@ }, { "constant": false, - "id": 11004, + "id": 11163, "mutability": "mutable", "name": "addedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5637:18:40", + "scope": 11186, + "src": "5591:18:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3053,10 +3017,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11003, + "id": 11162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5637:7:40", + "src": "5591:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3066,21 +3030,21 @@ "visibility": "internal" } ], - "src": "5619:37:40" + "src": "5573:37:40" }, "returnParameters": { - "id": 11008, + "id": 11167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11007, + "id": 11166, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5681:4:40", + "scope": 11186, + "src": "5635:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3088,10 +3052,10 @@ "typeString": "bool" }, "typeName": { - "id": 11006, + "id": 11165, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5681:4:40", + "src": "5635:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3101,19 +3065,19 @@ "visibility": "internal" } ], - "src": "5680:6:40" + "src": "5634:6:40" }, - "scope": 11301, - "src": "5593:215:40", + "scope": 11460, + "src": "5547:215:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11055, + "id": 11214, "nodeType": "Block", - "src": "6394:167:40", + "src": "6348:167:40", "statements": [ { "expression": { @@ -3124,18 +3088,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 11038, + "id": 11197, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "6413:10:40", + "referencedDeclaration": 10640, + "src": "6367:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11039, + "id": 11198, "isConstant": false, "isLValue": false, "isPure": false, @@ -3143,7 +3107,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6413:12:40", + "src": "6367:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3152,12 +3116,12 @@ }, { "argumentTypes": null, - "id": 11040, + "id": 11199, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11030, - "src": "6427:7:40", + "referencedDeclaration": 11189, + "src": "6381:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3168,12 +3132,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11048, + "id": 11207, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11032, - "src": "6475:15:40", + "referencedDeclaration": 11191, + "src": "6429:15:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3182,14 +3146,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 11049, + "id": 11208, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:39:40", + "src": "6446:39:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -3215,35 +3179,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11041, + "id": 11200, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "6436:11:40", + "referencedDeclaration": 10980, + "src": "6390:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11044, + "id": 11203, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 11042, + "id": 11201, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "6448:10:40", + "referencedDeclaration": 10640, + "src": "6402:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11043, + "id": 11202, "isConstant": false, "isLValue": false, "isPure": false, @@ -3251,7 +3215,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6448:12:40", + "src": "6402:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3263,21 +3227,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:25:40", + "src": "6390:25:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11046, + "id": 11205, "indexExpression": { "argumentTypes": null, - "id": 11045, + "id": 11204, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11030, - "src": "6462:7:40", + "referencedDeclaration": 11189, + "src": "6416:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3288,27 +3252,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:34:40", + "src": "6390:34:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11047, + "id": 11206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "6436:38:40", + "referencedDeclaration": 10835, + "src": "6390:38:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11050, + "id": 11209, "isConstant": false, "isLValue": false, "isPure": false, @@ -3316,7 +3280,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6436:96:40", + "src": "6390:96:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3339,18 +3303,18 @@ "typeString": "uint256" } ], - "id": 11037, + "id": 11196, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "6404:8:40", + "referencedDeclaration": 11437, + "src": "6358:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11051, + "id": 11210, "isConstant": false, "isLValue": false, "isPure": false, @@ -3358,29 +3322,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:129:40", + "src": "6358:129:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11052, + "id": 11211, "nodeType": "ExpressionStatement", - "src": "6404:129:40" + "src": "6358:129:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 11053, + "id": 11212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6550:4:40", + "src": "6504:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3388,21 +3352,21 @@ }, "value": "true" }, - "functionReturnParameters": 11036, - "id": 11054, + "functionReturnParameters": 11195, + "id": 11213, "nodeType": "Return", - "src": "6543:11:40" + "src": "6497:11:40" } ] }, "documentation": { - "id": 11028, + "id": 11187, "nodeType": "StructuredDocumentation", - "src": "5814:476:40", + "src": "5768:476:40", "text": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`." }, "functionSelector": "a457c2d7", - "id": 11056, + "id": 11215, "implemented": true, "kind": "function", "modifiers": [], @@ -3410,18 +3374,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11033, + "id": 11192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11030, + "id": 11189, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6322:15:40", + "scope": 11215, + "src": "6276:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3429,10 +3393,10 @@ "typeString": "address" }, "typeName": { - "id": 11029, + "id": 11188, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6322:7:40", + "src": "6276:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3444,13 +3408,13 @@ }, { "constant": false, - "id": 11032, + "id": 11191, "mutability": "mutable", "name": "subtractedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6339:23:40", + "scope": 11215, + "src": "6293:23:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3458,10 +3422,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11031, + "id": 11190, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:40", + "src": "6293:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3471,21 +3435,21 @@ "visibility": "internal" } ], - "src": "6321:42:40" + "src": "6275:42:40" }, "returnParameters": { - "id": 11036, + "id": 11195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11035, + "id": 11194, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6388:4:40", + "scope": 11215, + "src": "6342:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3493,10 +3457,10 @@ "typeString": "bool" }, "typeName": { - "id": 11034, + "id": 11193, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6388:4:40", + "src": "6342:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3506,19 +3470,19 @@ "visibility": "internal" } ], - "src": "6387:6:40" + "src": "6341:6:40" }, - "scope": 11301, - "src": "6295:266:40", + "scope": 11460, + "src": "6249:266:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11121, + "id": 11280, "nodeType": "Block", - "src": "7122:443:40", + "src": "7076:443:40", "statements": [ { "expression": { @@ -3530,19 +3494,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11072, + "id": 11231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11067, + "id": 11226, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7140:6:40", + "referencedDeclaration": 11218, + "src": "7094:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3556,14 +3520,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11070, + "id": 11229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7158:1:40", + "src": "7112:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3579,29 +3543,29 @@ "typeString": "int_const 0" } ], - "id": 11069, + "id": 11228, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7150:7:40", + "src": "7104:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11068, + "id": 11227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7150:7:40", + "src": "7104:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11071, + "id": 11230, "isConstant": false, "isLValue": false, "isPure": true, @@ -3609,14 +3573,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7150:10:40", + "src": "7104:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7140:20:40", + "src": "7094:20:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3625,14 +3589,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 11073, + "id": 11232, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7162:39:40", + "src": "7116:39:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -3652,7 +3616,7 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 11066, + "id": 11225, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3660,13 +3624,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7132:7:40", + "src": "7086:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11074, + "id": 11233, "isConstant": false, "isLValue": false, "isPure": false, @@ -3674,16 +3638,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7132:70:40", + "src": "7086:70:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11075, + "id": 11234, "nodeType": "ExpressionStatement", - "src": "7132:70:40" + "src": "7086:70:40" }, { "expression": { @@ -3695,19 +3659,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11082, + "id": 11241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11077, + "id": 11236, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7220:9:40", + "referencedDeclaration": 11220, + "src": "7174:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3721,14 +3685,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11080, + "id": 11239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7241:1:40", + "src": "7195:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3744,29 +3708,29 @@ "typeString": "int_const 0" } ], - "id": 11079, + "id": 11238, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7233:7:40", + "src": "7187:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11078, + "id": 11237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7233:7:40", + "src": "7187:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11081, + "id": 11240, "isConstant": false, "isLValue": false, "isPure": true, @@ -3774,14 +3738,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7233:10:40", + "src": "7187:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7220:23:40", + "src": "7174:23:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3790,14 +3754,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 11083, + "id": 11242, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7245:37:40", + "src": "7199:37:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -3817,7 +3781,7 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 11076, + "id": 11235, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3825,13 +3789,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7212:7:40", + "src": "7166:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11084, + "id": 11243, "isConstant": false, "isLValue": false, "isPure": false, @@ -3839,16 +3803,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7212:71:40", + "src": "7166:71:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11085, + "id": 11244, "nodeType": "ExpressionStatement", - "src": "7212:71:40" + "src": "7166:71:40" }, { "expression": { @@ -3856,12 +3820,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11087, + "id": 11246, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7315:6:40", + "referencedDeclaration": 11218, + "src": "7269:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3869,12 +3833,12 @@ }, { "argumentTypes": null, - "id": 11088, + "id": 11247, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7323:9:40", + "referencedDeclaration": 11220, + "src": "7277:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3882,12 +3846,12 @@ }, { "argumentTypes": null, - "id": 11089, + "id": 11248, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7334:6:40", + "referencedDeclaration": 11222, + "src": "7288:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3909,18 +3873,18 @@ "typeString": "uint256" } ], - "id": 11086, + "id": 11245, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "7294:20:40", + "referencedDeclaration": 11459, + "src": "7248:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11090, + "id": 11249, "isConstant": false, "isLValue": false, "isPure": false, @@ -3928,21 +3892,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7294:47:40", + "src": "7248:47:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11091, + "id": 11250, "nodeType": "ExpressionStatement", - "src": "7294:47:40" + "src": "7248:47:40" }, { "expression": { "argumentTypes": null, - "id": 11102, + "id": 11261, "isConstant": false, "isLValue": false, "isPure": false, @@ -3951,26 +3915,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11092, + "id": 11251, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7352:9:40", + "referencedDeclaration": 10974, + "src": "7306:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11094, + "id": 11253, "indexExpression": { "argumentTypes": null, - "id": 11093, + "id": 11252, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7362:6:40", + "referencedDeclaration": 11218, + "src": "7316:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3981,7 +3945,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7352:17:40", + "src": "7306:17:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3994,12 +3958,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11099, + "id": 11258, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7394:6:40", + "referencedDeclaration": 11222, + "src": "7348:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4008,14 +3972,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 11100, + "id": 11259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7402:40:40", + "src": "7356:40:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -4039,26 +4003,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11095, + "id": 11254, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7372:9:40", + "referencedDeclaration": 10974, + "src": "7326:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11097, + "id": 11256, "indexExpression": { "argumentTypes": null, - "id": 11096, + "id": 11255, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7382:6:40", + "referencedDeclaration": 11218, + "src": "7336:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4069,27 +4033,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7372:17:40", + "src": "7326:17:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11098, + "id": 11257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "7372:21:40", + "referencedDeclaration": 10835, + "src": "7326:21:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11101, + "id": 11260, "isConstant": false, "isLValue": false, "isPure": false, @@ -4097,27 +4061,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7372:71:40", + "src": "7326:71:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7352:91:40", + "src": "7306:91:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11103, + "id": 11262, "nodeType": "ExpressionStatement", - "src": "7352:91:40" + "src": "7306:91:40" }, { "expression": { "argumentTypes": null, - "id": 11113, + "id": 11272, "isConstant": false, "isLValue": false, "isPure": false, @@ -4126,26 +4090,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11104, + "id": 11263, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7453:9:40", + "referencedDeclaration": 10974, + "src": "7407:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11106, + "id": 11265, "indexExpression": { "argumentTypes": null, - "id": 11105, + "id": 11264, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7463:9:40", + "referencedDeclaration": 11220, + "src": "7417:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4156,7 +4120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7453:20:40", + "src": "7407:20:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4169,12 +4133,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11111, + "id": 11270, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7501:6:40", + "referencedDeclaration": 11222, + "src": "7455:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4192,26 +4156,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11107, + "id": 11266, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7476:9:40", + "referencedDeclaration": 10974, + "src": "7430:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11109, + "id": 11268, "indexExpression": { "argumentTypes": null, - "id": 11108, + "id": 11267, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7486:9:40", + "referencedDeclaration": 11220, + "src": "7440:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4222,27 +4186,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7476:20:40", + "src": "7430:20:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11110, + "id": 11269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "7476:24:40", + "referencedDeclaration": 10790, + "src": "7430:24:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11112, + "id": 11271, "isConstant": false, "isLValue": false, "isPure": false, @@ -4250,22 +4214,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7476:32:40", + "src": "7430:32:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7453:55:40", + "src": "7407:55:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11114, + "id": 11273, "nodeType": "ExpressionStatement", - "src": "7453:55:40" + "src": "7407:55:40" }, { "eventCall": { @@ -4273,12 +4237,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11116, + "id": 11275, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7532:6:40", + "referencedDeclaration": 11218, + "src": "7486:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4286,12 +4250,12 @@ }, { "argumentTypes": null, - "id": 11117, + "id": 11276, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7540:9:40", + "referencedDeclaration": 11220, + "src": "7494:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4299,12 +4263,12 @@ }, { "argumentTypes": null, - "id": 11118, + "id": 11277, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7551:6:40", + "referencedDeclaration": 11222, + "src": "7505:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4326,18 +4290,18 @@ "typeString": "uint256" } ], - "id": 11115, + "id": 11274, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "7523:8:40", + "referencedDeclaration": 11528, + "src": "7477:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11119, + "id": 11278, "isConstant": false, "isLValue": false, "isPure": false, @@ -4345,26 +4309,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7523:35:40", + "src": "7477:35:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11120, + "id": 11279, "nodeType": "EmitStatement", - "src": "7518:40:40" + "src": "7472:40:40" } ] }, "documentation": { - "id": 11057, + "id": 11216, "nodeType": "StructuredDocumentation", - "src": "6567:463:40", + "src": "6521:463:40", "text": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`." }, - "id": 11122, + "id": 11281, "implemented": true, "kind": "function", "modifiers": [], @@ -4372,18 +4336,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11064, + "id": 11223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11059, + "id": 11218, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7054:14:40", + "scope": 11281, + "src": "7008:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4391,10 +4355,10 @@ "typeString": "address" }, "typeName": { - "id": 11058, + "id": 11217, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7054:7:40", + "src": "7008:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4406,13 +4370,13 @@ }, { "constant": false, - "id": 11061, + "id": 11220, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7070:17:40", + "scope": 11281, + "src": "7024:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4420,10 +4384,10 @@ "typeString": "address" }, "typeName": { - "id": 11060, + "id": 11219, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7070:7:40", + "src": "7024:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4435,13 +4399,13 @@ }, { "constant": false, - "id": 11063, + "id": 11222, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7089:14:40", + "scope": 11281, + "src": "7043:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4449,10 +4413,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11062, + "id": 11221, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7089:7:40", + "src": "7043:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4462,25 +4426,25 @@ "visibility": "internal" } ], - "src": "7053:51:40" + "src": "7007:51:40" }, "returnParameters": { - "id": 11065, + "id": 11224, "nodeType": "ParameterList", "parameters": [], - "src": "7122:0:40" + "src": "7076:0:40" }, - "scope": 11301, - "src": "7035:530:40", + "scope": 11460, + "src": "6989:530:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11176, + "id": 11335, "nodeType": "Block", - "src": "7900:305:40", + "src": "7855:305:40", "statements": [ { "expression": { @@ -4492,19 +4456,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11136, + "id": 11295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11131, + "id": 11290, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "7918:7:40", + "referencedDeclaration": 11284, + "src": "7873:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4518,14 +4482,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11134, + "id": 11293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7937:1:40", + "src": "7892:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4541,29 +4505,29 @@ "typeString": "int_const 0" } ], - "id": 11133, + "id": 11292, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7929:7:40", + "src": "7884:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11132, + "id": 11291, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7929:7:40", + "src": "7884:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11135, + "id": 11294, "isConstant": false, "isLValue": false, "isPure": true, @@ -4571,14 +4535,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7929:10:40", + "src": "7884:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7918:21:40", + "src": "7873:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4587,14 +4551,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 11137, + "id": 11296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7941:33:40", + "src": "7896:33:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -4614,7 +4578,7 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 11130, + "id": 11289, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4622,13 +4586,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7910:7:40", + "src": "7865:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11138, + "id": 11297, "isConstant": false, "isLValue": false, "isPure": false, @@ -4636,16 +4600,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:65:40", + "src": "7865:65:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11139, + "id": 11298, "nodeType": "ExpressionStatement", - "src": "7910:65:40" + "src": "7865:65:40" }, { "expression": { @@ -4657,14 +4621,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11143, + "id": 11302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8015:1:40", + "src": "7970:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4680,29 +4644,29 @@ "typeString": "int_const 0" } ], - "id": 11142, + "id": 11301, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8007:7:40", + "src": "7962:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11141, + "id": 11300, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8007:7:40", + "src": "7962:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11144, + "id": 11303, "isConstant": false, "isLValue": false, "isPure": true, @@ -4710,7 +4674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8007:10:40", + "src": "7962:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -4719,12 +4683,12 @@ }, { "argumentTypes": null, - "id": 11145, + "id": 11304, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8019:7:40", + "referencedDeclaration": 11284, + "src": "7974:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4732,12 +4696,12 @@ }, { "argumentTypes": null, - "id": 11146, + "id": 11305, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8028:6:40", + "referencedDeclaration": 11286, + "src": "7983:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4759,18 +4723,18 @@ "typeString": "uint256" } ], - "id": 11140, + "id": 11299, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "7986:20:40", + "referencedDeclaration": 11459, + "src": "7941:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11147, + "id": 11306, "isConstant": false, "isLValue": false, "isPure": false, @@ -4778,33 +4742,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7986:49:40", + "src": "7941:49:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11148, + "id": 11307, "nodeType": "ExpressionStatement", - "src": "7986:49:40" + "src": "7941:49:40" }, { "expression": { "argumentTypes": null, - "id": 11154, + "id": 11313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11149, + "id": 11308, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8046:12:40", + "referencedDeclaration": 10982, + "src": "8001:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4817,12 +4781,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11152, + "id": 11311, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8078:6:40", + "referencedDeclaration": 11286, + "src": "8033:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4838,32 +4802,32 @@ ], "expression": { "argumentTypes": null, - "id": 11150, + "id": 11309, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8061:12:40", + "referencedDeclaration": 10982, + "src": "8016:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11151, + "id": 11310, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "8061:16:40", + "referencedDeclaration": 10790, + "src": "8016:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11153, + "id": 11312, "isConstant": false, "isLValue": false, "isPure": false, @@ -4871,27 +4835,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8061:24:40", + "src": "8016:24:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8046:39:40", + "src": "8001:39:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11155, + "id": 11314, "nodeType": "ExpressionStatement", - "src": "8046:39:40" + "src": "8001:39:40" }, { "expression": { "argumentTypes": null, - "id": 11165, + "id": 11324, "isConstant": false, "isLValue": false, "isPure": false, @@ -4900,26 +4864,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11156, + "id": 11315, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8095:9:40", + "referencedDeclaration": 10974, + "src": "8050:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11158, + "id": 11317, "indexExpression": { "argumentTypes": null, - "id": 11157, + "id": 11316, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8105:7:40", + "referencedDeclaration": 11284, + "src": "8060:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4930,7 +4894,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8095:18:40", + "src": "8050:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4943,12 +4907,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11163, + "id": 11322, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8139:6:40", + "referencedDeclaration": 11286, + "src": "8094:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4966,26 +4930,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11159, + "id": 11318, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8116:9:40", + "referencedDeclaration": 10974, + "src": "8071:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11161, + "id": 11320, "indexExpression": { "argumentTypes": null, - "id": 11160, + "id": 11319, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8126:7:40", + "referencedDeclaration": 11284, + "src": "8081:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4996,27 +4960,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8116:18:40", + "src": "8071:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11162, + "id": 11321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "8116:22:40", + "referencedDeclaration": 10790, + "src": "8071:22:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11164, + "id": 11323, "isConstant": false, "isLValue": false, "isPure": false, @@ -5024,22 +4988,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8116:30:40", + "src": "8071:30:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8095:51:40", + "src": "8050:51:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11166, + "id": 11325, "nodeType": "ExpressionStatement", - "src": "8095:51:40" + "src": "8050:51:40" }, { "eventCall": { @@ -5051,14 +5015,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11170, + "id": 11329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:1:40", + "src": "8133:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5074,29 +5038,29 @@ "typeString": "int_const 0" } ], - "id": 11169, + "id": 11328, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8170:7:40", + "src": "8125:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11168, + "id": 11327, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8170:7:40", + "src": "8125:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11171, + "id": 11330, "isConstant": false, "isLValue": false, "isPure": true, @@ -5104,7 +5068,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8170:10:40", + "src": "8125:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5113,12 +5077,12 @@ }, { "argumentTypes": null, - "id": 11172, + "id": 11331, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8182:7:40", + "referencedDeclaration": 11284, + "src": "8137:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5126,12 +5090,12 @@ }, { "argumentTypes": null, - "id": 11173, + "id": 11332, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8191:6:40", + "referencedDeclaration": 11286, + "src": "8146:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5153,18 +5117,18 @@ "typeString": "uint256" } ], - "id": 11167, + "id": 11326, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "8161:8:40", + "referencedDeclaration": 11528, + "src": "8116:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11174, + "id": 11333, "isConstant": false, "isLValue": false, "isPure": false, @@ -5172,26 +5136,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8161:37:40", + "src": "8116:37:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11175, + "id": 11334, "nodeType": "EmitStatement", - "src": "8156:42:40" + "src": "8111:42:40" } ] }, "documentation": { - "id": 11123, + "id": 11282, "nodeType": "StructuredDocumentation", - "src": "7571:259:40", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address." + "src": "7525:260:40", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements:\n * - `to` cannot be the zero address." }, - "id": 11177, + "id": 11336, "implemented": true, "kind": "function", "modifiers": [], @@ -5199,18 +5163,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11128, + "id": 11287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11125, + "id": 11284, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11177, - "src": "7850:15:40", + "scope": 11336, + "src": "7805:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5218,10 +5182,10 @@ "typeString": "address" }, "typeName": { - "id": 11124, + "id": 11283, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7850:7:40", + "src": "7805:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5233,13 +5197,13 @@ }, { "constant": false, - "id": 11127, + "id": 11286, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11177, - "src": "7867:14:40", + "scope": 11336, + "src": "7822:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5247,10 +5211,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11126, + "id": 11285, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7867:7:40", + "src": "7822:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5260,25 +5224,25 @@ "visibility": "internal" } ], - "src": "7849:33:40" + "src": "7804:33:40" }, "returnParameters": { - "id": 11129, + "id": 11288, "nodeType": "ParameterList", "parameters": [], - "src": "7900:0:40" + "src": "7855:0:40" }, - "scope": 11301, - "src": "7835:370:40", + "scope": 11460, + "src": "7790:370:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11232, + "id": 11391, "nodeType": "Block", - "src": "8589:345:40", + "src": "8545:345:40", "statements": [ { "expression": { @@ -5290,19 +5254,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11191, + "id": 11350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11186, + "id": 11345, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8607:7:40", + "referencedDeclaration": 11339, + "src": "8563:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5316,14 +5280,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11189, + "id": 11348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8626:1:40", + "src": "8582:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5339,29 +5303,29 @@ "typeString": "int_const 0" } ], - "id": 11188, + "id": 11347, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8618:7:40", + "src": "8574:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11187, + "id": 11346, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8618:7:40", + "src": "8574:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11190, + "id": 11349, "isConstant": false, "isLValue": false, "isPure": true, @@ -5369,14 +5333,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8618:10:40", + "src": "8574:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "8607:21:40", + "src": "8563:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5385,14 +5349,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 11192, + "id": 11351, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8630:35:40", + "src": "8586:35:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -5412,7 +5376,7 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 11185, + "id": 11344, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5420,13 +5384,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8599:7:40", + "src": "8555:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11193, + "id": 11352, "isConstant": false, "isLValue": false, "isPure": false, @@ -5434,16 +5398,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8599:67:40", + "src": "8555:67:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11194, + "id": 11353, "nodeType": "ExpressionStatement", - "src": "8599:67:40" + "src": "8555:67:40" }, { "expression": { @@ -5451,12 +5415,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11196, + "id": 11355, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8698:7:40", + "referencedDeclaration": 11339, + "src": "8654:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5468,14 +5432,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11199, + "id": 11358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8715:1:40", + "src": "8671:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5491,29 +5455,29 @@ "typeString": "int_const 0" } ], - "id": 11198, + "id": 11357, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8707:7:40", + "src": "8663:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11197, + "id": 11356, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8707:7:40", + "src": "8663:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11200, + "id": 11359, "isConstant": false, "isLValue": false, "isPure": true, @@ -5521,7 +5485,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8707:10:40", + "src": "8663:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5530,12 +5494,12 @@ }, { "argumentTypes": null, - "id": 11201, + "id": 11360, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8719:6:40", + "referencedDeclaration": 11341, + "src": "8675:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5557,18 +5521,18 @@ "typeString": "uint256" } ], - "id": 11195, + "id": 11354, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "8677:20:40", + "referencedDeclaration": 11459, + "src": "8633:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11202, + "id": 11361, "isConstant": false, "isLValue": false, "isPure": false, @@ -5576,21 +5540,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8677:49:40", + "src": "8633:49:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11203, + "id": 11362, "nodeType": "ExpressionStatement", - "src": "8677:49:40" + "src": "8633:49:40" }, { "expression": { "argumentTypes": null, - "id": 11214, + "id": 11373, "isConstant": false, "isLValue": false, "isPure": false, @@ -5599,26 +5563,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11204, + "id": 11363, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8737:9:40", + "referencedDeclaration": 10974, + "src": "8693:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11206, + "id": 11365, "indexExpression": { "argumentTypes": null, - "id": 11205, + "id": 11364, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8747:7:40", + "referencedDeclaration": 11339, + "src": "8703:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5629,7 +5593,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8737:18:40", + "src": "8693:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5642,12 +5606,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11211, + "id": 11370, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8781:6:40", + "referencedDeclaration": 11341, + "src": "8737:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5656,14 +5620,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 11212, + "id": 11371, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:36:40", + "src": "8745:36:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -5687,26 +5651,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11207, + "id": 11366, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8758:9:40", + "referencedDeclaration": 10974, + "src": "8714:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11209, + "id": 11368, "indexExpression": { "argumentTypes": null, - "id": 11208, + "id": 11367, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8768:7:40", + "referencedDeclaration": 11339, + "src": "8724:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5717,27 +5681,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8758:18:40", + "src": "8714:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11210, + "id": 11369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8758:22:40", + "referencedDeclaration": 10835, + "src": "8714:22:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11213, + "id": 11372, "isConstant": false, "isLValue": false, "isPure": false, @@ -5745,39 +5709,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8758:68:40", + "src": "8714:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8737:89:40", + "src": "8693:89:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11215, + "id": 11374, "nodeType": "ExpressionStatement", - "src": "8737:89:40" + "src": "8693:89:40" }, { "expression": { "argumentTypes": null, - "id": 11221, + "id": 11380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11216, + "id": 11375, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8836:12:40", + "referencedDeclaration": 10982, + "src": "8792:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5790,12 +5754,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11219, + "id": 11378, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8868:6:40", + "referencedDeclaration": 11341, + "src": "8824:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5811,32 +5775,32 @@ ], "expression": { "argumentTypes": null, - "id": 11217, + "id": 11376, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8851:12:40", + "referencedDeclaration": 10982, + "src": "8807:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11218, + "id": 11377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, - "src": "8851:16:40", + "referencedDeclaration": 10807, + "src": "8807:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11220, + "id": 11379, "isConstant": false, "isLValue": false, "isPure": false, @@ -5844,22 +5808,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8851:24:40", + "src": "8807:24:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8836:39:40", + "src": "8792:39:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11222, + "id": 11381, "nodeType": "ExpressionStatement", - "src": "8836:39:40" + "src": "8792:39:40" }, { "eventCall": { @@ -5867,12 +5831,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11224, + "id": 11383, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8899:7:40", + "referencedDeclaration": 11339, + "src": "8855:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5884,14 +5848,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11227, + "id": 11386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8916:1:40", + "src": "8872:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5907,29 +5871,29 @@ "typeString": "int_const 0" } ], - "id": 11226, + "id": 11385, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8908:7:40", + "src": "8864:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11225, + "id": 11384, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8908:7:40", + "src": "8864:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11228, + "id": 11387, "isConstant": false, "isLValue": false, "isPure": true, @@ -5937,7 +5901,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8908:10:40", + "src": "8864:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5946,12 +5910,12 @@ }, { "argumentTypes": null, - "id": 11229, + "id": 11388, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8920:6:40", + "referencedDeclaration": 11341, + "src": "8876:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5973,18 +5937,18 @@ "typeString": "uint256" } ], - "id": 11223, + "id": 11382, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "8890:8:40", + "referencedDeclaration": 11528, + "src": "8846:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11230, + "id": 11389, "isConstant": false, "isLValue": false, "isPure": false, @@ -5992,26 +5956,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8890:37:40", + "src": "8846:37:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11231, + "id": 11390, "nodeType": "EmitStatement", - "src": "8885:42:40" + "src": "8841:42:40" } ] }, "documentation": { - "id": 11178, + "id": 11337, "nodeType": "StructuredDocumentation", - "src": "8211:308:40", - "text": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens." + "src": "8166:309:40", + "text": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements:\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens." }, - "id": 11233, + "id": 11392, "implemented": true, "kind": "function", "modifiers": [], @@ -6019,18 +5983,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11183, + "id": 11342, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11180, + "id": 11339, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11233, - "src": "8539:15:40", + "scope": 11392, + "src": "8495:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6038,10 +6002,10 @@ "typeString": "address" }, "typeName": { - "id": 11179, + "id": 11338, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8539:7:40", + "src": "8495:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6053,13 +6017,13 @@ }, { "constant": false, - "id": 11182, + "id": 11341, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11233, - "src": "8556:14:40", + "scope": 11392, + "src": "8512:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6067,10 +6031,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11181, + "id": 11340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:40", + "src": "8512:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6080,25 +6044,25 @@ "visibility": "internal" } ], - "src": "8538:33:40" + "src": "8494:33:40" }, "returnParameters": { - "id": 11184, + "id": 11343, "nodeType": "ParameterList", "parameters": [], - "src": "8589:0:40" + "src": "8545:0:40" }, - "scope": 11301, - "src": "8524:410:40", + "scope": 11460, + "src": "8480:410:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11277, + "id": 11436, "nodeType": "Block", - "src": "9440:257:40", + "src": "9396:257:40", "statements": [ { "expression": { @@ -6110,19 +6074,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11249, + "id": 11408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11244, + "id": 11403, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9458:5:40", + "referencedDeclaration": 11395, + "src": "9414:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6136,14 +6100,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11247, + "id": 11406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9475:1:40", + "src": "9431:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6159,29 +6123,29 @@ "typeString": "int_const 0" } ], - "id": 11246, + "id": 11405, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9467:7:40", + "src": "9423:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11245, + "id": 11404, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9467:7:40", + "src": "9423:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11248, + "id": 11407, "isConstant": false, "isLValue": false, "isPure": true, @@ -6189,14 +6153,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9467:10:40", + "src": "9423:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9458:19:40", + "src": "9414:19:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6205,14 +6169,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 11250, + "id": 11409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9479:38:40", + "src": "9435:38:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -6232,7 +6196,7 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 11243, + "id": 11402, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6240,13 +6204,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9450:7:40", + "src": "9406:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11251, + "id": 11410, "isConstant": false, "isLValue": false, "isPure": false, @@ -6254,16 +6218,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9450:68:40", + "src": "9406:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11252, + "id": 11411, "nodeType": "ExpressionStatement", - "src": "9450:68:40" + "src": "9406:68:40" }, { "expression": { @@ -6275,19 +6239,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11259, + "id": 11418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11254, + "id": 11413, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9536:7:40", + "referencedDeclaration": 11397, + "src": "9492:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6301,14 +6265,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11257, + "id": 11416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9555:1:40", + "src": "9511:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6324,29 +6288,29 @@ "typeString": "int_const 0" } ], - "id": 11256, + "id": 11415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9547:7:40", + "src": "9503:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11255, + "id": 11414, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9547:7:40", + "src": "9503:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11258, + "id": 11417, "isConstant": false, "isLValue": false, "isPure": true, @@ -6354,14 +6318,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9547:10:40", + "src": "9503:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9536:21:40", + "src": "9492:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6370,14 +6334,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 11260, + "id": 11419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9559:36:40", + "src": "9515:36:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -6397,7 +6361,7 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 11253, + "id": 11412, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6405,13 +6369,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9528:7:40", + "src": "9484:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11261, + "id": 11420, "isConstant": false, "isLValue": false, "isPure": false, @@ -6419,21 +6383,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9528:68:40", + "src": "9484:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11262, + "id": 11421, "nodeType": "ExpressionStatement", - "src": "9528:68:40" + "src": "9484:68:40" }, { "expression": { "argumentTypes": null, - "id": 11269, + "id": 11428, "isConstant": false, "isLValue": false, "isPure": false, @@ -6444,26 +6408,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11263, + "id": 11422, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "9607:11:40", + "referencedDeclaration": 10980, + "src": "9563:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11266, + "id": 11425, "indexExpression": { "argumentTypes": null, - "id": 11264, + "id": 11423, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9619:5:40", + "referencedDeclaration": 11395, + "src": "9575:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6474,21 +6438,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9607:18:40", + "src": "9563:18:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11267, + "id": 11426, "indexExpression": { "argumentTypes": null, - "id": 11265, + "id": 11424, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9626:7:40", + "referencedDeclaration": 11397, + "src": "9582:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6499,7 +6463,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9607:27:40", + "src": "9563:27:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6509,26 +6473,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 11268, + "id": 11427, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11240, - "src": "9637:6:40", + "referencedDeclaration": 11399, + "src": "9593:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9607:36:40", + "src": "9563:36:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11270, + "id": 11429, "nodeType": "ExpressionStatement", - "src": "9607:36:40" + "src": "9563:36:40" }, { "eventCall": { @@ -6536,12 +6500,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11272, + "id": 11431, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9667:5:40", + "referencedDeclaration": 11395, + "src": "9623:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6549,12 +6513,12 @@ }, { "argumentTypes": null, - "id": 11273, + "id": 11432, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9674:7:40", + "referencedDeclaration": 11397, + "src": "9630:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6562,12 +6526,12 @@ }, { "argumentTypes": null, - "id": 11274, + "id": 11433, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11240, - "src": "9683:6:40", + "referencedDeclaration": 11399, + "src": "9639:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6589,18 +6553,18 @@ "typeString": "uint256" } ], - "id": 11271, + "id": 11430, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11378, - "src": "9658:8:40", + "referencedDeclaration": 11537, + "src": "9614:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11275, + "id": 11434, "isConstant": false, "isLValue": false, "isPure": false, @@ -6608,26 +6572,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9658:32:40", + "src": "9614:32:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11276, + "id": 11435, "nodeType": "EmitStatement", - "src": "9653:37:40" + "src": "9609:37:40" } ] }, "documentation": { - "id": 11234, + "id": 11393, "nodeType": "StructuredDocumentation", - "src": "8940:412:40", + "src": "8896:412:40", "text": "@dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n * This internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address." }, - "id": 11278, + "id": 11437, "implemented": true, "kind": "function", "modifiers": [], @@ -6635,18 +6599,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11241, + "id": 11400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11236, + "id": 11395, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9375:13:40", + "scope": 11437, + "src": "9331:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6654,10 +6618,10 @@ "typeString": "address" }, "typeName": { - "id": 11235, + "id": 11394, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9375:7:40", + "src": "9331:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6669,13 +6633,13 @@ }, { "constant": false, - "id": 11238, + "id": 11397, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9390:15:40", + "scope": 11437, + "src": "9346:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6683,10 +6647,10 @@ "typeString": "address" }, "typeName": { - "id": 11237, + "id": 11396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9390:7:40", + "src": "9346:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6698,13 +6662,13 @@ }, { "constant": false, - "id": 11240, + "id": 11399, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9407:14:40", + "scope": 11437, + "src": "9363:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6712,10 +6676,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11239, + "id": 11398, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9407:7:40", + "src": "9363:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6725,42 +6689,42 @@ "visibility": "internal" } ], - "src": "9374:48:40" + "src": "9330:48:40" }, "returnParameters": { - "id": 11242, + "id": 11401, "nodeType": "ParameterList", "parameters": [], - "src": "9440:0:40" + "src": "9396:0:40" }, - "scope": 11301, - "src": "9357:340:40", + "scope": 11460, + "src": "9313:340:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11288, + "id": 11447, "nodeType": "Block", - "src": "10070:38:40", + "src": "10026:38:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 11286, + "id": 11445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11284, + "id": 11443, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "10080:9:40", + "referencedDeclaration": 10988, + "src": "10036:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6770,36 +6734,36 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 11285, + "id": 11444, "name": "decimals_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11281, - "src": "10092:9:40", + "referencedDeclaration": 11440, + "src": "10048:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "10080:21:40", + "src": "10036:21:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 11287, + "id": 11446, "nodeType": "ExpressionStatement", - "src": "10080:21:40" + "src": "10036:21:40" } ] }, "documentation": { - "id": 11279, + "id": 11438, "nodeType": "StructuredDocumentation", - "src": "9703:312:40", + "src": "9659:312:40", "text": "@dev Sets {decimals} to a value other than the default one of 18.\n * WARNING: This function should only be called from the constructor. Most\napplications that interact with token contracts will not expect\n{decimals} to ever change, and may work incorrectly if it does." }, - "id": 11289, + "id": 11448, "implemented": true, "kind": "function", "modifiers": [], @@ -6807,18 +6771,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11282, + "id": 11441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11281, + "id": 11440, "mutability": "mutable", "name": "decimals_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11289, - "src": "10044:15:40", + "scope": 11448, + "src": "10000:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6826,10 +6790,10 @@ "typeString": "uint8" }, "typeName": { - "id": 11280, + "id": 11439, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10044:5:40", + "src": "10000:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6839,34 +6803,34 @@ "visibility": "internal" } ], - "src": "10043:17:40" + "src": "9999:17:40" }, "returnParameters": { - "id": 11283, + "id": 11442, "nodeType": "ParameterList", "parameters": [], - "src": "10070:0:40" + "src": "10026:0:40" }, - "scope": 11301, - "src": "10020:88:40", + "scope": 11460, + "src": "9976:88:40", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 11299, + "id": 11458, "nodeType": "Block", - "src": "10784:3:40", + "src": "10740:3:40", "statements": [] }, "documentation": { - "id": 11290, + "id": 11449, "nodeType": "StructuredDocumentation", - "src": "10114:576:40", + "src": "10070:576:40", "text": "@dev Hook that is called before any transfer of tokens. This includes\nminting and burning.\n * Calling conditions:\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\nwill be to transferred to `to`.\n- when `from` is zero, `amount` tokens will be minted for `to`.\n- when `to` is zero, `amount` of ``from``'s tokens will be burned.\n- `from` and `to` are never both zero.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, - "id": 11300, + "id": 11459, "implemented": true, "kind": "function", "modifiers": [], @@ -6874,18 +6838,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11297, + "id": 11456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11292, + "id": 11451, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10725:12:40", + "scope": 11459, + "src": "10681:12:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6893,10 +6857,10 @@ "typeString": "address" }, "typeName": { - "id": 11291, + "id": 11450, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10725:7:40", + "src": "10681:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6908,13 +6872,13 @@ }, { "constant": false, - "id": 11294, + "id": 11453, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10739:10:40", + "scope": 11459, + "src": "10695:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6922,10 +6886,10 @@ "typeString": "address" }, "typeName": { - "id": 11293, + "id": 11452, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10739:7:40", + "src": "10695:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6937,13 +6901,13 @@ }, { "constant": false, - "id": 11296, + "id": 11455, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10751:14:40", + "scope": 11459, + "src": "10707:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6951,10 +6915,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11295, + "id": 11454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10751:7:40", + "src": "10707:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6964,89 +6928,81 @@ "visibility": "internal" } ], - "src": "10724:42:40" + "src": "10680:42:40" }, "returnParameters": { - "id": 11298, + "id": 11457, "nodeType": "ParameterList", "parameters": [], - "src": "10784:0:40" + "src": "10740:0:40" }, - "scope": 11301, - "src": "10695:92:40", + "scope": 11460, + "src": "10651:92:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 11302, - "src": "1345:9444:40" + "scope": 11461, + "src": "1319:9426:40" } ], - "src": "33:10757:40" + "src": "33:10713:40" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 11301 + 11460 ] }, - "id": 11302, + "id": 11461, "nodeType": "SourceUnit", "nodes": [ { - "id": 10796, + "id": 10959, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:40" + "src": "33:31:40" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 10797, + "id": 10960, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 10490, - "src": "58:31:40", + "scope": 11461, + "sourceUnit": 10653, + "src": "66:31:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 10798, + "id": 10961, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 11380, - "src": "90:22:40", + "scope": 11461, + "sourceUnit": 11539, + "src": "98:22:40", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 10799, + "id": 10962, "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 10795, - "src": "113:33:40", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 10800, - "nodeType": "ImportDirective", - "scope": 11302, - "sourceUnit": 11575, - "src": "147:33:40", + "scope": 11461, + "sourceUnit": 10958, + "src": "121:33:40", "symbolAliases": [], "unitAlias": "" }, @@ -7057,124 +7013,96 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 10802, + "id": 10964, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10489, - "src": "1363:7:40", + "referencedDeclaration": 10652, + "src": "1337:7:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10803, + "id": 10965, "nodeType": "InheritanceSpecifier", - "src": "1363:7:40" + "src": "1337:7:40" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 10804, + "id": 10966, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11379, - "src": "1372:6:40", + "referencedDeclaration": 11538, + "src": "1346:6:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11379", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 10805, + "id": 10967, "nodeType": "InheritanceSpecifier", - "src": "1372:6:40" + "src": "1346:6:40" } ], "contractDependencies": [ - 10489, - 11379 + 10652, + 11538 ], "contractKind": "contract", "documentation": { - "id": 10801, + "id": 10963, "nodeType": "StructuredDocumentation", - "src": "182:1162:40", + "src": "156:1162:40", "text": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20PresetMinterPauser}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}." }, "fullyImplemented": true, - "id": 11301, + "id": 11460, "linearizedBaseContracts": [ - 11301, - 11379, - 10489 + 11460, + 11538, + 10652 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 10808, + "id": 10970, "libraryName": { "contractScope": null, - "id": 10806, + "id": 10968, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10794, - "src": "1391:8:40", + "referencedDeclaration": 10957, + "src": "1365:8:40", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10794", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1385:27:40", + "src": "1359:27:40", "typeName": { - "id": 10807, + "id": 10969, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1404:7:40", + "src": "1378:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, - { - "id": 10811, - "libraryName": { - "contractScope": null, - "id": 10809, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11574, - "src": "1423:7:40", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$11574", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "1417:26:40", - "typeName": { - "id": 10810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1435:7:40", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, { "constant": false, - "id": 10815, + "id": 10974, "mutability": "mutable", "name": "_balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1449:46:40", + "scope": 11460, + "src": "1392:46:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7182,28 +7110,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 10814, + "id": 10973, "keyType": { - "id": 10812, + "id": 10971, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:40", + "src": "1401:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1449:28:40", + "src": "1392:28:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 10813, + "id": 10972, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1469:7:40", + "src": "1412:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7215,13 +7143,13 @@ }, { "constant": false, - "id": 10821, + "id": 10980, "mutability": "mutable", "name": "_allowances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1502:69:40", + "scope": 11460, + "src": "1445:69:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7229,46 +7157,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 10820, + "id": 10979, "keyType": { - "id": 10816, + "id": 10975, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1511:7:40", + "src": "1454:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1502:49:40", + "src": "1445:49:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 10819, + "id": 10978, "keyType": { - "id": 10817, + "id": 10976, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1531:7:40", + "src": "1474:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1522:28:40", + "src": "1465:28:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 10818, + "id": 10977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1542:7:40", + "src": "1485:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7281,13 +7209,13 @@ }, { "constant": false, - "id": 10823, + "id": 10982, "mutability": "mutable", "name": "_totalSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1578:28:40", + "scope": 11460, + "src": "1521:28:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7295,10 +7223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10822, + "id": 10981, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1578:7:40", + "src": "1521:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7309,13 +7237,13 @@ }, { "constant": false, - "id": 10825, + "id": 10984, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1613:20:40", + "scope": 11460, + "src": "1556:20:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7323,10 +7251,10 @@ "typeString": "string" }, "typeName": { - "id": 10824, + "id": 10983, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1613:6:40", + "src": "1556:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7337,13 +7265,13 @@ }, { "constant": false, - "id": 10827, + "id": 10986, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1639:22:40", + "scope": 11460, + "src": "1582:22:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7351,10 +7279,10 @@ "typeString": "string" }, "typeName": { - "id": 10826, + "id": 10985, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1639:6:40", + "src": "1582:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7365,13 +7293,13 @@ }, { "constant": false, - "id": 10829, + "id": 10988, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11301, - "src": "1667:23:40", + "scope": 11460, + "src": "1610:23:40", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7379,10 +7307,10 @@ "typeString": "uint8" }, "typeName": { - "id": 10828, + "id": 10987, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1667:5:40", + "src": "1610:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7393,26 +7321,26 @@ }, { "body": { - "id": 10849, + "id": 11008, "nodeType": "Block", - "src": "2075:79:40", + "src": "2020:81:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10839, + "id": 10998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10837, + "id": 10996, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10825, - "src": "2085:5:40", + "referencedDeclaration": 10984, + "src": "2030:5:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7422,43 +7350,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10838, - "name": "name", + "id": 10997, + "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "2093:4:40", + "referencedDeclaration": 10991, + "src": "2038:5:40", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2085:12:40", + "src": "2030:13:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 10840, + "id": 10999, "nodeType": "ExpressionStatement", - "src": "2085:12:40" + "src": "2030:13:40" }, { "expression": { "argumentTypes": null, - "id": 10843, + "id": 11002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10841, + "id": 11000, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "2107:7:40", + "referencedDeclaration": 10986, + "src": "2053:7:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7468,43 +7396,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10842, - "name": "symbol", + "id": 11001, + "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10834, - "src": "2117:6:40", + "referencedDeclaration": 10993, + "src": "2063:7:40", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2107:16:40", + "src": "2053:17:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 10844, + "id": 11003, "nodeType": "ExpressionStatement", - "src": "2107:16:40" + "src": "2053:17:40" }, { "expression": { "argumentTypes": null, - "id": 10847, + "id": 11006, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10845, + "id": 11004, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "2133:9:40", + "referencedDeclaration": 10988, + "src": "2080:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7515,14 +7443,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 10846, + "id": 11005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2145:2:40", + "src": "2092:2:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -7530,25 +7458,25 @@ }, "value": "18" }, - "src": "2133:14:40", + "src": "2080:14:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 10848, + "id": 11007, "nodeType": "ExpressionStatement", - "src": "2133:14:40" + "src": "2080:14:40" } ] }, "documentation": { - "id": 10830, + "id": 10989, "nodeType": "StructuredDocumentation", - "src": "1697:311:40", + "src": "1640:311:40", "text": "@dev Sets the values for {name} and {symbol}, initializes {decimals} with\na default value of 18.\n * To select a different value for {decimals}, use {_setupDecimals}.\n * All three of these values are immutable: they can only be set once during\nconstruction." }, - "id": 10850, + "id": 11009, "implemented": true, "kind": "constructor", "modifiers": [], @@ -7556,18 +7484,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10835, + "id": 10994, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10832, + "id": 10991, "mutability": "mutable", - "name": "name", + "name": "name_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10850, - "src": "2026:18:40", + "scope": 11009, + "src": "1969:19:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7575,10 +7503,10 @@ "typeString": "string" }, "typeName": { - "id": 10831, + "id": 10990, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2026:6:40", + "src": "1969:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7589,13 +7517,13 @@ }, { "constant": false, - "id": 10834, + "id": 10993, "mutability": "mutable", - "name": "symbol", + "name": "symbol_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10850, - "src": "2046:20:40", + "scope": 11009, + "src": "1990:21:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7603,10 +7531,10 @@ "typeString": "string" }, "typeName": { - "id": 10833, + "id": 10992, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2046:6:40", + "src": "1990:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7616,55 +7544,55 @@ "visibility": "internal" } ], - "src": "2025:42:40" + "src": "1968:44:40" }, "returnParameters": { - "id": 10836, + "id": 10995, "nodeType": "ParameterList", "parameters": [], - "src": "2075:0:40" + "src": "2020:0:40" }, - "scope": 11301, - "src": "2013:141:40", + "scope": 11460, + "src": "1956:145:40", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 10858, + "id": 11017, "nodeType": "Block", - "src": "2271:29:40", + "src": "2218:29:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10856, + "id": 11015, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10825, - "src": "2288:5:40", + "referencedDeclaration": 10984, + "src": "2235:5:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 10855, - "id": 10857, + "functionReturnParameters": 11014, + "id": 11016, "nodeType": "Return", - "src": "2281:12:40" + "src": "2228:12:40" } ] }, "documentation": { - "id": 10851, + "id": 11010, "nodeType": "StructuredDocumentation", - "src": "2160:54:40", + "src": "2107:54:40", "text": "@dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 10859, + "id": 11018, "implemented": true, "kind": "function", "modifiers": [], @@ -7672,24 +7600,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10852, + "id": 11011, "nodeType": "ParameterList", "parameters": [], - "src": "2232:2:40" + "src": "2179:2:40" }, "returnParameters": { - "id": 10855, + "id": 11014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10854, + "id": 11013, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10859, - "src": "2256:13:40", + "scope": 11018, + "src": "2203:13:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7697,10 +7625,10 @@ "typeString": "string" }, "typeName": { - "id": 10853, + "id": 11012, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2256:6:40", + "src": "2203:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7710,49 +7638,49 @@ "visibility": "internal" } ], - "src": "2255:15:40" + "src": "2202:15:40" }, - "scope": 11301, - "src": "2219:81:40", + "scope": 11460, + "src": "2166:81:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10867, + "id": 11026, "nodeType": "Block", - "src": "2467:31:40", + "src": "2414:31:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10865, + "id": 11024, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10827, - "src": "2484:7:40", + "referencedDeclaration": 10986, + "src": "2431:7:40", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 10864, - "id": 10866, + "functionReturnParameters": 11023, + "id": 11025, "nodeType": "Return", - "src": "2477:14:40" + "src": "2424:14:40" } ] }, "documentation": { - "id": 10860, + "id": 11019, "nodeType": "StructuredDocumentation", - "src": "2306:102:40", + "src": "2253:102:40", "text": "@dev Returns the symbol of the token, usually a shorter version of the\nname." }, "functionSelector": "95d89b41", - "id": 10868, + "id": 11027, "implemented": true, "kind": "function", "modifiers": [], @@ -7760,24 +7688,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10861, + "id": 11020, "nodeType": "ParameterList", "parameters": [], - "src": "2428:2:40" + "src": "2375:2:40" }, "returnParameters": { - "id": 10864, + "id": 11023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10863, + "id": 11022, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10868, - "src": "2452:13:40", + "scope": 11027, + "src": "2399:13:40", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7785,10 +7713,10 @@ "typeString": "string" }, "typeName": { - "id": 10862, + "id": 11021, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2452:6:40", + "src": "2399:6:40", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7798,49 +7726,49 @@ "visibility": "internal" } ], - "src": "2451:15:40" + "src": "2398:15:40" }, - "scope": 11301, - "src": "2413:85:40", + "scope": 11460, + "src": "2360:85:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10876, + "id": 11035, "nodeType": "Block", - "src": "3169:33:40", + "src": "3116:33:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10874, + "id": 11033, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "3186:9:40", + "referencedDeclaration": 10988, + "src": "3133:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 10873, - "id": 10875, + "functionReturnParameters": 11032, + "id": 11034, "nodeType": "Return", - "src": "3179:16:40" + "src": "3126:16:40" } ] }, "documentation": { - "id": 10869, + "id": 11028, "nodeType": "StructuredDocumentation", - "src": "2504:612:40", + "src": "2451:612:40", "text": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\ncalled.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}." }, "functionSelector": "313ce567", - "id": 10877, + "id": 11036, "implemented": true, "kind": "function", "modifiers": [], @@ -7848,24 +7776,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10870, + "id": 11029, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:40" + "src": "3085:2:40" }, "returnParameters": { - "id": 10873, + "id": 11032, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10872, + "id": 11031, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10877, - "src": "3162:5:40", + "scope": 11036, + "src": "3109:5:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7873,10 +7801,10 @@ "typeString": "uint8" }, "typeName": { - "id": 10871, + "id": 11030, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3162:5:40", + "src": "3109:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7886,82 +7814,82 @@ "visibility": "internal" } ], - "src": "3161:7:40" + "src": "3108:7:40" }, - "scope": 11301, - "src": "3121:81:40", + "scope": 11460, + "src": "3068:81:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11310 + 11469 ], "body": { - "id": 10886, + "id": 11045, "nodeType": "Block", - "src": "3324:36:40", + "src": "3271:36:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 10884, + "id": 11043, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "3341:12:40", + "referencedDeclaration": 10982, + "src": "3288:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10883, - "id": 10885, + "functionReturnParameters": 11042, + "id": 11044, "nodeType": "Return", - "src": "3334:19:40" + "src": "3281:19:40" } ] }, "documentation": { - "id": 10878, + "id": 11037, "nodeType": "StructuredDocumentation", - "src": "3208:49:40", + "src": "3155:49:40", "text": "@dev See {IERC20-totalSupply}." }, "functionSelector": "18160ddd", - "id": 10887, + "id": 11046, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "overrides": { - "id": 10880, + "id": 11039, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3297:8:40" + "src": "3244:8:40" }, "parameters": { - "id": 10879, + "id": 11038, "nodeType": "ParameterList", "parameters": [], - "src": "3282:2:40" + "src": "3229:2:40" }, "returnParameters": { - "id": 10883, + "id": 11042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10882, + "id": 11041, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10887, - "src": "3315:7:40", + "scope": 11046, + "src": "3262:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7969,10 +7897,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10881, + "id": 11040, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3315:7:40", + "src": "3262:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7982,48 +7910,48 @@ "visibility": "internal" } ], - "src": "3314:9:40" + "src": "3261:9:40" }, - "scope": 11301, - "src": "3262:98:40", + "scope": 11460, + "src": "3209:98:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11318 + 11477 ], "body": { - "id": 10900, + "id": 11059, "nodeType": "Block", - "src": "3493:42:40", + "src": "3440:42:40", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10896, + "id": 11055, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "3510:9:40", + "referencedDeclaration": 10974, + "src": "3457:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10898, + "id": 11057, "indexExpression": { "argumentTypes": null, - "id": 10897, + "id": 11056, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10890, - "src": "3520:7:40", + "referencedDeclaration": 11049, + "src": "3467:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8034,51 +7962,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3510:18:40", + "src": "3457:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10895, - "id": 10899, + "functionReturnParameters": 11054, + "id": 11058, "nodeType": "Return", - "src": "3503:25:40" + "src": "3450:25:40" } ] }, "documentation": { - "id": 10888, + "id": 11047, "nodeType": "StructuredDocumentation", - "src": "3366:47:40", + "src": "3313:47:40", "text": "@dev See {IERC20-balanceOf}." }, "functionSelector": "70a08231", - "id": 10901, + "id": 11060, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "overrides": { - "id": 10892, + "id": 11051, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3466:8:40" + "src": "3413:8:40" }, "parameters": { - "id": 10891, + "id": 11050, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10890, + "id": 11049, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10901, - "src": "3437:15:40", + "scope": 11060, + "src": "3384:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8086,10 +8014,10 @@ "typeString": "address" }, "typeName": { - "id": 10889, + "id": 11048, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3437:7:40", + "src": "3384:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8100,21 +8028,21 @@ "visibility": "internal" } ], - "src": "3436:17:40" + "src": "3383:17:40" }, "returnParameters": { - "id": 10895, + "id": 11054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10894, + "id": 11053, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10901, - "src": "3484:7:40", + "scope": 11060, + "src": "3431:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8122,10 +8050,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10893, + "id": 11052, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3484:7:40", + "src": "3431:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8135,22 +8063,22 @@ "visibility": "internal" } ], - "src": "3483:9:40" + "src": "3430:9:40" }, - "scope": 11301, - "src": "3418:117:40", + "scope": 11460, + "src": "3365:117:40", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 11328 + 11487 ], "body": { - "id": 10921, + "id": 11080, "nodeType": "Block", - "src": "3830:80:40", + "src": "3777:80:40", "statements": [ { "expression": { @@ -8161,18 +8089,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10913, + "id": 11072, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "3850:10:40", + "referencedDeclaration": 10640, + "src": "3797:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10914, + "id": 11073, "isConstant": false, "isLValue": false, "isPure": false, @@ -8180,7 +8108,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3850:12:40", + "src": "3797:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -8189,12 +8117,12 @@ }, { "argumentTypes": null, - "id": 10915, + "id": 11074, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10904, - "src": "3864:9:40", + "referencedDeclaration": 11063, + "src": "3811:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8202,12 +8130,12 @@ }, { "argumentTypes": null, - "id": 10916, + "id": 11075, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10906, - "src": "3875:6:40", + "referencedDeclaration": 11065, + "src": "3822:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8229,18 +8157,18 @@ "typeString": "uint256" } ], - "id": 10912, + "id": 11071, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11122, - "src": "3840:9:40", + "referencedDeclaration": 11281, + "src": "3787:9:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10917, + "id": 11076, "isConstant": false, "isLValue": false, "isPure": false, @@ -8248,29 +8176,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:42:40", + "src": "3787:42:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10918, + "id": 11077, "nodeType": "ExpressionStatement", - "src": "3840:42:40" + "src": "3787:42:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10919, + "id": 11078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3899:4:40", + "src": "3846:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8278,45 +8206,45 @@ }, "value": "true" }, - "functionReturnParameters": 10911, - "id": 10920, + "functionReturnParameters": 11070, + "id": 11079, "nodeType": "Return", - "src": "3892:11:40" + "src": "3839:11:40" } ] }, "documentation": { - "id": 10902, + "id": 11061, "nodeType": "StructuredDocumentation", - "src": "3541:192:40", + "src": "3488:192:40", "text": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`." }, "functionSelector": "a9059cbb", - "id": 10922, + "id": 11081, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 10908, + "id": 11067, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3806:8:40" + "src": "3753:8:40" }, "parameters": { - "id": 10907, + "id": 11066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10904, + "id": 11063, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3756:17:40", + "scope": 11081, + "src": "3703:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8324,10 +8252,10 @@ "typeString": "address" }, "typeName": { - "id": 10903, + "id": 11062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3756:7:40", + "src": "3703:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8339,13 +8267,13 @@ }, { "constant": false, - "id": 10906, + "id": 11065, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3775:14:40", + "scope": 11081, + "src": "3722:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8353,10 +8281,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10905, + "id": 11064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3775:7:40", + "src": "3722:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8366,21 +8294,21 @@ "visibility": "internal" } ], - "src": "3755:35:40" + "src": "3702:35:40" }, "returnParameters": { - "id": 10911, + "id": 11070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10910, + "id": 11069, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10922, - "src": "3824:4:40", + "scope": 11081, + "src": "3771:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8388,10 +8316,10 @@ "typeString": "bool" }, "typeName": { - "id": 10909, + "id": 11068, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3824:4:40", + "src": "3771:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8401,22 +8329,22 @@ "visibility": "internal" } ], - "src": "3823:6:40" + "src": "3770:6:40" }, - "scope": 11301, - "src": "3738:172:40", + "scope": 11460, + "src": "3685:172:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11338 + 11497 ], "body": { - "id": 10939, + "id": 11098, "nodeType": "Block", - "src": "4066:51:40", + "src": "4013:51:40", "statements": [ { "expression": { @@ -8425,26 +8353,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10933, + "id": 11092, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "4083:11:40", + "referencedDeclaration": 10980, + "src": "4030:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 10935, + "id": 11094, "indexExpression": { "argumentTypes": null, - "id": 10934, + "id": 11093, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10925, - "src": "4095:5:40", + "referencedDeclaration": 11084, + "src": "4042:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8455,21 +8383,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:18:40", + "src": "4030:18:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10937, + "id": 11096, "indexExpression": { "argumentTypes": null, - "id": 10936, + "id": 11095, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10927, - "src": "4102:7:40", + "referencedDeclaration": 11086, + "src": "4049:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8480,51 +8408,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:27:40", + "src": "4030:27:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10932, - "id": 10938, + "functionReturnParameters": 11091, + "id": 11097, "nodeType": "Return", - "src": "4076:34:40" + "src": "4023:34:40" } ] }, "documentation": { - "id": 10923, + "id": 11082, "nodeType": "StructuredDocumentation", - "src": "3916:47:40", + "src": "3863:47:40", "text": "@dev See {IERC20-allowance}." }, "functionSelector": "dd62ed3e", - "id": 10940, + "id": 11099, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "overrides": { - "id": 10929, + "id": 11088, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4039:8:40" + "src": "3986:8:40" }, "parameters": { - "id": 10928, + "id": 11087, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10925, + "id": 11084, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "3987:13:40", + "scope": 11099, + "src": "3934:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8532,10 +8460,10 @@ "typeString": "address" }, "typeName": { - "id": 10924, + "id": 11083, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3987:7:40", + "src": "3934:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8547,13 +8475,13 @@ }, { "constant": false, - "id": 10927, + "id": 11086, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "4002:15:40", + "scope": 11099, + "src": "3949:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8561,10 +8489,10 @@ "typeString": "address" }, "typeName": { - "id": 10926, + "id": 11085, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4002:7:40", + "src": "3949:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8575,21 +8503,21 @@ "visibility": "internal" } ], - "src": "3986:32:40" + "src": "3933:32:40" }, "returnParameters": { - "id": 10932, + "id": 11091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10931, + "id": 11090, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10940, - "src": "4057:7:40", + "scope": 11099, + "src": "4004:7:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8597,10 +8525,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10930, + "id": 11089, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4057:7:40", + "src": "4004:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8610,22 +8538,22 @@ "visibility": "internal" } ], - "src": "4056:9:40" + "src": "4003:9:40" }, - "scope": 11301, - "src": "3968:149:40", + "scope": 11460, + "src": "3915:149:40", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11348 + 11507 ], "body": { - "id": 10960, + "id": 11119, "nodeType": "Block", - "src": "4344:77:40", + "src": "4291:77:40", "statements": [ { "expression": { @@ -8636,18 +8564,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10952, + "id": 11111, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "4363:10:40", + "referencedDeclaration": 10640, + "src": "4310:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10953, + "id": 11112, "isConstant": false, "isLValue": false, "isPure": false, @@ -8655,7 +8583,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4363:12:40", + "src": "4310:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -8664,12 +8592,12 @@ }, { "argumentTypes": null, - "id": 10954, + "id": 11113, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10943, - "src": "4377:7:40", + "referencedDeclaration": 11102, + "src": "4324:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8677,12 +8605,12 @@ }, { "argumentTypes": null, - "id": 10955, + "id": 11114, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10945, - "src": "4386:6:40", + "referencedDeclaration": 11104, + "src": "4333:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8704,18 +8632,18 @@ "typeString": "uint256" } ], - "id": 10951, + "id": 11110, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "4354:8:40", + "referencedDeclaration": 11437, + "src": "4301:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10956, + "id": 11115, "isConstant": false, "isLValue": false, "isPure": false, @@ -8723,29 +8651,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:39:40", + "src": "4301:39:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10957, + "id": 11116, "nodeType": "ExpressionStatement", - "src": "4354:39:40" + "src": "4301:39:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10958, + "id": 11117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4410:4:40", + "src": "4357:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8753,45 +8681,45 @@ }, "value": "true" }, - "functionReturnParameters": 10950, - "id": 10959, + "functionReturnParameters": 11109, + "id": 11118, "nodeType": "Return", - "src": "4403:11:40" + "src": "4350:11:40" } ] }, "documentation": { - "id": 10941, + "id": 11100, "nodeType": "StructuredDocumentation", - "src": "4123:127:40", + "src": "4070:127:40", "text": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address." }, "functionSelector": "095ea7b3", - "id": 10961, + "id": 11120, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 10947, + "id": 11106, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4320:8:40" + "src": "4267:8:40" }, "parameters": { - "id": 10946, + "id": 11105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10943, + "id": 11102, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4272:15:40", + "scope": 11120, + "src": "4219:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8799,10 +8727,10 @@ "typeString": "address" }, "typeName": { - "id": 10942, + "id": 11101, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4272:7:40", + "src": "4219:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8814,13 +8742,13 @@ }, { "constant": false, - "id": 10945, + "id": 11104, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4289:14:40", + "scope": 11120, + "src": "4236:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8828,10 +8756,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10944, + "id": 11103, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4289:7:40", + "src": "4236:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8841,21 +8769,21 @@ "visibility": "internal" } ], - "src": "4271:33:40" + "src": "4218:33:40" }, "returnParameters": { - "id": 10950, + "id": 11109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10949, + "id": 11108, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10961, - "src": "4338:4:40", + "scope": 11120, + "src": "4285:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8863,10 +8791,10 @@ "typeString": "bool" }, "typeName": { - "id": 10948, + "id": 11107, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4338:4:40", + "src": "4285:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8876,22 +8804,22 @@ "visibility": "internal" } ], - "src": "4337:6:40" + "src": "4284:6:40" }, - "scope": 11301, - "src": "4255:166:40", + "scope": 11460, + "src": "4202:166:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 11360 + 11519 ], "body": { - "id": 10998, + "id": 11157, "nodeType": "Block", - "src": "4993:205:40", + "src": "4947:205:40", "statements": [ { "expression": { @@ -8899,12 +8827,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10975, + "id": 11134, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5013:6:40", + "referencedDeclaration": 11123, + "src": "4967:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8912,12 +8840,12 @@ }, { "argumentTypes": null, - "id": 10976, + "id": 11135, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10966, - "src": "5021:9:40", + "referencedDeclaration": 11125, + "src": "4975:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8925,12 +8853,12 @@ }, { "argumentTypes": null, - "id": 10977, + "id": 11136, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10968, - "src": "5032:6:40", + "referencedDeclaration": 11127, + "src": "4986:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8952,18 +8880,18 @@ "typeString": "uint256" } ], - "id": 10974, + "id": 11133, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11122, - "src": "5003:9:40", + "referencedDeclaration": 11281, + "src": "4957:9:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10978, + "id": 11137, "isConstant": false, "isLValue": false, "isPure": false, @@ -8971,16 +8899,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5003:36:40", + "src": "4957:36:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10979, + "id": 11138, "nodeType": "ExpressionStatement", - "src": "5003:36:40" + "src": "4957:36:40" }, { "expression": { @@ -8988,12 +8916,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10981, + "id": 11140, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5058:6:40", + "referencedDeclaration": 11123, + "src": "5012:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9004,18 +8932,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10982, + "id": 11141, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5066:10:40", + "referencedDeclaration": 10640, + "src": "5020:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10983, + "id": 11142, "isConstant": false, "isLValue": false, "isPure": false, @@ -9023,7 +8951,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5066:12:40", + "src": "5020:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9035,12 +8963,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10991, + "id": 11150, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10968, - "src": "5118:6:40", + "referencedDeclaration": 11127, + "src": "5072:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9049,14 +8977,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 10992, + "id": 11151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5126:42:40", + "src": "5080:42:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -9082,26 +9010,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10984, + "id": 11143, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "5080:11:40", + "referencedDeclaration": 10980, + "src": "5034:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 10986, + "id": 11145, "indexExpression": { "argumentTypes": null, - "id": 10985, + "id": 11144, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10964, - "src": "5092:6:40", + "referencedDeclaration": 11123, + "src": "5046:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9112,30 +9040,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:19:40", + "src": "5034:19:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 10989, + "id": 11148, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 10987, + "id": 11146, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5100:10:40", + "referencedDeclaration": 10640, + "src": "5054:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10988, + "id": 11147, "isConstant": false, "isLValue": false, "isPure": false, @@ -9143,7 +9071,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:12:40", + "src": "5054:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9155,27 +9083,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:33:40", + "src": "5034:33:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10990, + "id": 11149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "5080:37:40", + "referencedDeclaration": 10835, + "src": "5034:37:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10993, + "id": 11152, "isConstant": false, "isLValue": false, "isPure": false, @@ -9183,7 +9111,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5080:89:40", + "src": "5034:89:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9206,18 +9134,18 @@ "typeString": "uint256" } ], - "id": 10980, + "id": 11139, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "5049:8:40", + "referencedDeclaration": 11437, + "src": "5003:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 10994, + "id": 11153, "isConstant": false, "isLValue": false, "isPure": false, @@ -9225,29 +9153,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5049:121:40", + "src": "5003:121:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10995, + "id": 11154, "nodeType": "ExpressionStatement", - "src": "5049:121:40" + "src": "5003:121:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 10996, + "id": 11155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5187:4:40", + "src": "5141:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9255,45 +9183,45 @@ }, "value": "true" }, - "functionReturnParameters": 10973, - "id": 10997, + "functionReturnParameters": 11132, + "id": 11156, "nodeType": "Return", - "src": "5180:11:40" + "src": "5134:11:40" } ] }, "documentation": { - "id": 10962, + "id": 11121, "nodeType": "StructuredDocumentation", - "src": "4427:449:40", - "text": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`." + "src": "4374:456:40", + "text": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20}.\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`." }, "functionSelector": "23b872dd", - "id": 10999, + "id": 11158, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 10970, + "id": 11129, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4969:8:40" + "src": "4923:8:40" }, "parameters": { - "id": 10969, + "id": 11128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10964, + "id": 11123, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4903:14:40", + "scope": 11158, + "src": "4857:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9301,10 +9229,10 @@ "typeString": "address" }, "typeName": { - "id": 10963, + "id": 11122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4903:7:40", + "src": "4857:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9316,13 +9244,13 @@ }, { "constant": false, - "id": 10966, + "id": 11125, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4919:17:40", + "scope": 11158, + "src": "4873:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9330,10 +9258,10 @@ "typeString": "address" }, "typeName": { - "id": 10965, + "id": 11124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4919:7:40", + "src": "4873:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9345,13 +9273,13 @@ }, { "constant": false, - "id": 10968, + "id": 11127, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4938:14:40", + "scope": 11158, + "src": "4892:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9359,10 +9287,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10967, + "id": 11126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4938:7:40", + "src": "4892:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9372,21 +9300,21 @@ "visibility": "internal" } ], - "src": "4902:51:40" + "src": "4856:51:40" }, "returnParameters": { - "id": 10973, + "id": 11132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10972, + "id": 11131, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10999, - "src": "4987:4:40", + "scope": 11158, + "src": "4941:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9394,10 +9322,10 @@ "typeString": "bool" }, "typeName": { - "id": 10971, + "id": 11130, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4987:4:40", + "src": "4941:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9407,19 +9335,19 @@ "visibility": "internal" } ], - "src": "4986:6:40" + "src": "4940:6:40" }, - "scope": 11301, - "src": "4881:317:40", + "scope": 11460, + "src": "4835:317:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11026, + "id": 11185, "nodeType": "Block", - "src": "5687:121:40", + "src": "5641:121:40", "statements": [ { "expression": { @@ -9430,18 +9358,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 11010, + "id": 11169, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5706:10:40", + "referencedDeclaration": 10640, + "src": "5660:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11011, + "id": 11170, "isConstant": false, "isLValue": false, "isPure": false, @@ -9449,7 +9377,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5706:12:40", + "src": "5660:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9458,12 +9386,12 @@ }, { "argumentTypes": null, - "id": 11012, + "id": 11171, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11002, - "src": "5720:7:40", + "referencedDeclaration": 11161, + "src": "5674:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9474,12 +9402,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11020, + "id": 11179, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11004, - "src": "5768:10:40", + "referencedDeclaration": 11163, + "src": "5722:10:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9499,35 +9427,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11013, + "id": 11172, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "5729:11:40", + "referencedDeclaration": 10980, + "src": "5683:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11016, + "id": 11175, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 11014, + "id": 11173, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5741:10:40", + "referencedDeclaration": 10640, + "src": "5695:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11015, + "id": 11174, "isConstant": false, "isLValue": false, "isPure": false, @@ -9535,7 +9463,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5741:12:40", + "src": "5695:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9547,21 +9475,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:25:40", + "src": "5683:25:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11018, + "id": 11177, "indexExpression": { "argumentTypes": null, - "id": 11017, + "id": 11176, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11002, - "src": "5755:7:40", + "referencedDeclaration": 11161, + "src": "5709:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9572,27 +9500,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:34:40", + "src": "5683:34:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11019, + "id": 11178, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "5729:38:40", + "referencedDeclaration": 10790, + "src": "5683:38:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11021, + "id": 11180, "isConstant": false, "isLValue": false, "isPure": false, @@ -9600,7 +9528,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5729:50:40", + "src": "5683:50:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9623,18 +9551,18 @@ "typeString": "uint256" } ], - "id": 11009, + "id": 11168, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "5697:8:40", + "referencedDeclaration": 11437, + "src": "5651:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11022, + "id": 11181, "isConstant": false, "isLValue": false, "isPure": false, @@ -9642,29 +9570,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5697:83:40", + "src": "5651:83:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11023, + "id": 11182, "nodeType": "ExpressionStatement", - "src": "5697:83:40" + "src": "5651:83:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 11024, + "id": 11183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5797:4:40", + "src": "5751:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9672,21 +9600,21 @@ }, "value": "true" }, - "functionReturnParameters": 11008, - "id": 11025, + "functionReturnParameters": 11167, + "id": 11184, "nodeType": "Return", - "src": "5790:11:40" + "src": "5744:11:40" } ] }, "documentation": { - "id": 11000, + "id": 11159, "nodeType": "StructuredDocumentation", - "src": "5204:384:40", + "src": "5158:384:40", "text": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address." }, "functionSelector": "39509351", - "id": 11027, + "id": 11186, "implemented": true, "kind": "function", "modifiers": [], @@ -9694,18 +9622,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11005, + "id": 11164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11002, + "id": 11161, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5620:15:40", + "scope": 11186, + "src": "5574:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9713,10 +9641,10 @@ "typeString": "address" }, "typeName": { - "id": 11001, + "id": 11160, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5620:7:40", + "src": "5574:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9728,13 +9656,13 @@ }, { "constant": false, - "id": 11004, + "id": 11163, "mutability": "mutable", "name": "addedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5637:18:40", + "scope": 11186, + "src": "5591:18:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,10 +9670,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11003, + "id": 11162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5637:7:40", + "src": "5591:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9755,21 +9683,21 @@ "visibility": "internal" } ], - "src": "5619:37:40" + "src": "5573:37:40" }, "returnParameters": { - "id": 11008, + "id": 11167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11007, + "id": 11166, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11027, - "src": "5681:4:40", + "scope": 11186, + "src": "5635:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,10 +9705,10 @@ "typeString": "bool" }, "typeName": { - "id": 11006, + "id": 11165, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5681:4:40", + "src": "5635:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9790,19 +9718,19 @@ "visibility": "internal" } ], - "src": "5680:6:40" + "src": "5634:6:40" }, - "scope": 11301, - "src": "5593:215:40", + "scope": 11460, + "src": "5547:215:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11055, + "id": 11214, "nodeType": "Block", - "src": "6394:167:40", + "src": "6348:167:40", "statements": [ { "expression": { @@ -9813,18 +9741,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 11038, + "id": 11197, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "6413:10:40", + "referencedDeclaration": 10640, + "src": "6367:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11039, + "id": 11198, "isConstant": false, "isLValue": false, "isPure": false, @@ -9832,7 +9760,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6413:12:40", + "src": "6367:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9841,12 +9769,12 @@ }, { "argumentTypes": null, - "id": 11040, + "id": 11199, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11030, - "src": "6427:7:40", + "referencedDeclaration": 11189, + "src": "6381:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9857,12 +9785,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11048, + "id": 11207, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11032, - "src": "6475:15:40", + "referencedDeclaration": 11191, + "src": "6429:15:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9871,14 +9799,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 11049, + "id": 11208, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:39:40", + "src": "6446:39:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -9904,35 +9832,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11041, + "id": 11200, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "6436:11:40", + "referencedDeclaration": 10980, + "src": "6390:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11044, + "id": 11203, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 11042, + "id": 11201, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "6448:10:40", + "referencedDeclaration": 10640, + "src": "6402:10:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 11043, + "id": 11202, "isConstant": false, "isLValue": false, "isPure": false, @@ -9940,7 +9868,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6448:12:40", + "src": "6402:12:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9952,21 +9880,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:25:40", + "src": "6390:25:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11046, + "id": 11205, "indexExpression": { "argumentTypes": null, - "id": 11045, + "id": 11204, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11030, - "src": "6462:7:40", + "referencedDeclaration": 11189, + "src": "6416:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9977,27 +9905,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:34:40", + "src": "6390:34:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11047, + "id": 11206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "6436:38:40", + "referencedDeclaration": 10835, + "src": "6390:38:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11050, + "id": 11209, "isConstant": false, "isLValue": false, "isPure": false, @@ -10005,7 +9933,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6436:96:40", + "src": "6390:96:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10028,18 +9956,18 @@ "typeString": "uint256" } ], - "id": 11037, + "id": 11196, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11278, - "src": "6404:8:40", + "referencedDeclaration": 11437, + "src": "6358:8:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11051, + "id": 11210, "isConstant": false, "isLValue": false, "isPure": false, @@ -10047,29 +9975,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:129:40", + "src": "6358:129:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11052, + "id": 11211, "nodeType": "ExpressionStatement", - "src": "6404:129:40" + "src": "6358:129:40" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 11053, + "id": 11212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6550:4:40", + "src": "6504:4:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10077,21 +10005,21 @@ }, "value": "true" }, - "functionReturnParameters": 11036, - "id": 11054, + "functionReturnParameters": 11195, + "id": 11213, "nodeType": "Return", - "src": "6543:11:40" + "src": "6497:11:40" } ] }, "documentation": { - "id": 11028, + "id": 11187, "nodeType": "StructuredDocumentation", - "src": "5814:476:40", + "src": "5768:476:40", "text": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`." }, "functionSelector": "a457c2d7", - "id": 11056, + "id": 11215, "implemented": true, "kind": "function", "modifiers": [], @@ -10099,18 +10027,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11033, + "id": 11192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11030, + "id": 11189, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6322:15:40", + "scope": 11215, + "src": "6276:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10118,10 +10046,10 @@ "typeString": "address" }, "typeName": { - "id": 11029, + "id": 11188, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6322:7:40", + "src": "6276:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10133,13 +10061,13 @@ }, { "constant": false, - "id": 11032, + "id": 11191, "mutability": "mutable", "name": "subtractedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6339:23:40", + "scope": 11215, + "src": "6293:23:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10147,10 +10075,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11031, + "id": 11190, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:40", + "src": "6293:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10160,21 +10088,21 @@ "visibility": "internal" } ], - "src": "6321:42:40" + "src": "6275:42:40" }, "returnParameters": { - "id": 11036, + "id": 11195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11035, + "id": 11194, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11056, - "src": "6388:4:40", + "scope": 11215, + "src": "6342:4:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10182,10 +10110,10 @@ "typeString": "bool" }, "typeName": { - "id": 11034, + "id": 11193, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6388:4:40", + "src": "6342:4:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10195,19 +10123,19 @@ "visibility": "internal" } ], - "src": "6387:6:40" + "src": "6341:6:40" }, - "scope": 11301, - "src": "6295:266:40", + "scope": 11460, + "src": "6249:266:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 11121, + "id": 11280, "nodeType": "Block", - "src": "7122:443:40", + "src": "7076:443:40", "statements": [ { "expression": { @@ -10219,19 +10147,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11072, + "id": 11231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11067, + "id": 11226, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7140:6:40", + "referencedDeclaration": 11218, + "src": "7094:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10245,14 +10173,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11070, + "id": 11229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7158:1:40", + "src": "7112:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10268,29 +10196,29 @@ "typeString": "int_const 0" } ], - "id": 11069, + "id": 11228, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7150:7:40", + "src": "7104:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11068, + "id": 11227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7150:7:40", + "src": "7104:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11071, + "id": 11230, "isConstant": false, "isLValue": false, "isPure": true, @@ -10298,14 +10226,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7150:10:40", + "src": "7104:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7140:20:40", + "src": "7094:20:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10314,14 +10242,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 11073, + "id": 11232, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7162:39:40", + "src": "7116:39:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -10341,7 +10269,7 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 11066, + "id": 11225, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10349,13 +10277,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7132:7:40", + "src": "7086:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11074, + "id": 11233, "isConstant": false, "isLValue": false, "isPure": false, @@ -10363,16 +10291,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7132:70:40", + "src": "7086:70:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11075, + "id": 11234, "nodeType": "ExpressionStatement", - "src": "7132:70:40" + "src": "7086:70:40" }, { "expression": { @@ -10384,19 +10312,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11082, + "id": 11241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11077, + "id": 11236, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7220:9:40", + "referencedDeclaration": 11220, + "src": "7174:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10410,14 +10338,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11080, + "id": 11239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7241:1:40", + "src": "7195:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10433,29 +10361,29 @@ "typeString": "int_const 0" } ], - "id": 11079, + "id": 11238, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7233:7:40", + "src": "7187:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11078, + "id": 11237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7233:7:40", + "src": "7187:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11081, + "id": 11240, "isConstant": false, "isLValue": false, "isPure": true, @@ -10463,14 +10391,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7233:10:40", + "src": "7187:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7220:23:40", + "src": "7174:23:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10479,14 +10407,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 11083, + "id": 11242, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7245:37:40", + "src": "7199:37:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -10506,7 +10434,7 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 11076, + "id": 11235, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10514,13 +10442,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7212:7:40", + "src": "7166:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11084, + "id": 11243, "isConstant": false, "isLValue": false, "isPure": false, @@ -10528,16 +10456,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7212:71:40", + "src": "7166:71:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11085, + "id": 11244, "nodeType": "ExpressionStatement", - "src": "7212:71:40" + "src": "7166:71:40" }, { "expression": { @@ -10545,12 +10473,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11087, + "id": 11246, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7315:6:40", + "referencedDeclaration": 11218, + "src": "7269:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10558,12 +10486,12 @@ }, { "argumentTypes": null, - "id": 11088, + "id": 11247, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7323:9:40", + "referencedDeclaration": 11220, + "src": "7277:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10571,12 +10499,12 @@ }, { "argumentTypes": null, - "id": 11089, + "id": 11248, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7334:6:40", + "referencedDeclaration": 11222, + "src": "7288:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10598,18 +10526,18 @@ "typeString": "uint256" } ], - "id": 11086, + "id": 11245, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "7294:20:40", + "referencedDeclaration": 11459, + "src": "7248:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11090, + "id": 11249, "isConstant": false, "isLValue": false, "isPure": false, @@ -10617,21 +10545,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7294:47:40", + "src": "7248:47:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11091, + "id": 11250, "nodeType": "ExpressionStatement", - "src": "7294:47:40" + "src": "7248:47:40" }, { "expression": { "argumentTypes": null, - "id": 11102, + "id": 11261, "isConstant": false, "isLValue": false, "isPure": false, @@ -10640,26 +10568,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11092, + "id": 11251, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7352:9:40", + "referencedDeclaration": 10974, + "src": "7306:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11094, + "id": 11253, "indexExpression": { "argumentTypes": null, - "id": 11093, + "id": 11252, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7362:6:40", + "referencedDeclaration": 11218, + "src": "7316:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10670,7 +10598,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7352:17:40", + "src": "7306:17:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10683,12 +10611,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11099, + "id": 11258, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7394:6:40", + "referencedDeclaration": 11222, + "src": "7348:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10697,14 +10625,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 11100, + "id": 11259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7402:40:40", + "src": "7356:40:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -10728,26 +10656,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11095, + "id": 11254, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7372:9:40", + "referencedDeclaration": 10974, + "src": "7326:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11097, + "id": 11256, "indexExpression": { "argumentTypes": null, - "id": 11096, + "id": 11255, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7382:6:40", + "referencedDeclaration": 11218, + "src": "7336:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10758,27 +10686,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7372:17:40", + "src": "7326:17:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11098, + "id": 11257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "7372:21:40", + "referencedDeclaration": 10835, + "src": "7326:21:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11101, + "id": 11260, "isConstant": false, "isLValue": false, "isPure": false, @@ -10786,27 +10714,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7372:71:40", + "src": "7326:71:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7352:91:40", + "src": "7306:91:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11103, + "id": 11262, "nodeType": "ExpressionStatement", - "src": "7352:91:40" + "src": "7306:91:40" }, { "expression": { "argumentTypes": null, - "id": 11113, + "id": 11272, "isConstant": false, "isLValue": false, "isPure": false, @@ -10815,26 +10743,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11104, + "id": 11263, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7453:9:40", + "referencedDeclaration": 10974, + "src": "7407:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11106, + "id": 11265, "indexExpression": { "argumentTypes": null, - "id": 11105, + "id": 11264, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7463:9:40", + "referencedDeclaration": 11220, + "src": "7417:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10845,7 +10773,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7453:20:40", + "src": "7407:20:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10858,12 +10786,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11111, + "id": 11270, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7501:6:40", + "referencedDeclaration": 11222, + "src": "7455:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10881,26 +10809,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11107, + "id": 11266, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "7476:9:40", + "referencedDeclaration": 10974, + "src": "7430:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11109, + "id": 11268, "indexExpression": { "argumentTypes": null, - "id": 11108, + "id": 11267, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7486:9:40", + "referencedDeclaration": 11220, + "src": "7440:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10911,27 +10839,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7476:20:40", + "src": "7430:20:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11110, + "id": 11269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "7476:24:40", + "referencedDeclaration": 10790, + "src": "7430:24:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11112, + "id": 11271, "isConstant": false, "isLValue": false, "isPure": false, @@ -10939,22 +10867,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7476:32:40", + "src": "7430:32:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7453:55:40", + "src": "7407:55:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11114, + "id": 11273, "nodeType": "ExpressionStatement", - "src": "7453:55:40" + "src": "7407:55:40" }, { "eventCall": { @@ -10962,12 +10890,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11116, + "id": 11275, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7532:6:40", + "referencedDeclaration": 11218, + "src": "7486:6:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10975,12 +10903,12 @@ }, { "argumentTypes": null, - "id": 11117, + "id": 11276, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7540:9:40", + "referencedDeclaration": 11220, + "src": "7494:9:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10988,12 +10916,12 @@ }, { "argumentTypes": null, - "id": 11118, + "id": 11277, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7551:6:40", + "referencedDeclaration": 11222, + "src": "7505:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11015,18 +10943,18 @@ "typeString": "uint256" } ], - "id": 11115, + "id": 11274, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "7523:8:40", + "referencedDeclaration": 11528, + "src": "7477:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11119, + "id": 11278, "isConstant": false, "isLValue": false, "isPure": false, @@ -11034,26 +10962,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7523:35:40", + "src": "7477:35:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11120, + "id": 11279, "nodeType": "EmitStatement", - "src": "7518:40:40" + "src": "7472:40:40" } ] }, "documentation": { - "id": 11057, + "id": 11216, "nodeType": "StructuredDocumentation", - "src": "6567:463:40", + "src": "6521:463:40", "text": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`." }, - "id": 11122, + "id": 11281, "implemented": true, "kind": "function", "modifiers": [], @@ -11061,18 +10989,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11064, + "id": 11223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11059, + "id": 11218, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7054:14:40", + "scope": 11281, + "src": "7008:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11080,10 +11008,10 @@ "typeString": "address" }, "typeName": { - "id": 11058, + "id": 11217, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7054:7:40", + "src": "7008:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11095,13 +11023,13 @@ }, { "constant": false, - "id": 11061, + "id": 11220, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7070:17:40", + "scope": 11281, + "src": "7024:17:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11109,10 +11037,10 @@ "typeString": "address" }, "typeName": { - "id": 11060, + "id": 11219, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7070:7:40", + "src": "7024:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11124,13 +11052,13 @@ }, { "constant": false, - "id": 11063, + "id": 11222, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11122, - "src": "7089:14:40", + "scope": 11281, + "src": "7043:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11138,10 +11066,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11062, + "id": 11221, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7089:7:40", + "src": "7043:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11151,25 +11079,25 @@ "visibility": "internal" } ], - "src": "7053:51:40" + "src": "7007:51:40" }, "returnParameters": { - "id": 11065, + "id": 11224, "nodeType": "ParameterList", "parameters": [], - "src": "7122:0:40" + "src": "7076:0:40" }, - "scope": 11301, - "src": "7035:530:40", + "scope": 11460, + "src": "6989:530:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11176, + "id": 11335, "nodeType": "Block", - "src": "7900:305:40", + "src": "7855:305:40", "statements": [ { "expression": { @@ -11181,19 +11109,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11136, + "id": 11295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11131, + "id": 11290, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "7918:7:40", + "referencedDeclaration": 11284, + "src": "7873:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11207,14 +11135,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11134, + "id": 11293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7937:1:40", + "src": "7892:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11230,29 +11158,29 @@ "typeString": "int_const 0" } ], - "id": 11133, + "id": 11292, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7929:7:40", + "src": "7884:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11132, + "id": 11291, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7929:7:40", + "src": "7884:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11135, + "id": 11294, "isConstant": false, "isLValue": false, "isPure": true, @@ -11260,14 +11188,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7929:10:40", + "src": "7884:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7918:21:40", + "src": "7873:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11276,14 +11204,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 11137, + "id": 11296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7941:33:40", + "src": "7896:33:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -11303,7 +11231,7 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 11130, + "id": 11289, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11311,13 +11239,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7910:7:40", + "src": "7865:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11138, + "id": 11297, "isConstant": false, "isLValue": false, "isPure": false, @@ -11325,16 +11253,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:65:40", + "src": "7865:65:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11139, + "id": 11298, "nodeType": "ExpressionStatement", - "src": "7910:65:40" + "src": "7865:65:40" }, { "expression": { @@ -11346,14 +11274,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11143, + "id": 11302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8015:1:40", + "src": "7970:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11369,29 +11297,29 @@ "typeString": "int_const 0" } ], - "id": 11142, + "id": 11301, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8007:7:40", + "src": "7962:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11141, + "id": 11300, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8007:7:40", + "src": "7962:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11144, + "id": 11303, "isConstant": false, "isLValue": false, "isPure": true, @@ -11399,7 +11327,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8007:10:40", + "src": "7962:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -11408,12 +11336,12 @@ }, { "argumentTypes": null, - "id": 11145, + "id": 11304, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8019:7:40", + "referencedDeclaration": 11284, + "src": "7974:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11421,12 +11349,12 @@ }, { "argumentTypes": null, - "id": 11146, + "id": 11305, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8028:6:40", + "referencedDeclaration": 11286, + "src": "7983:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11448,18 +11376,18 @@ "typeString": "uint256" } ], - "id": 11140, + "id": 11299, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "7986:20:40", + "referencedDeclaration": 11459, + "src": "7941:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11147, + "id": 11306, "isConstant": false, "isLValue": false, "isPure": false, @@ -11467,33 +11395,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7986:49:40", + "src": "7941:49:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11148, + "id": 11307, "nodeType": "ExpressionStatement", - "src": "7986:49:40" + "src": "7941:49:40" }, { "expression": { "argumentTypes": null, - "id": 11154, + "id": 11313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11149, + "id": 11308, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8046:12:40", + "referencedDeclaration": 10982, + "src": "8001:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11506,12 +11434,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11152, + "id": 11311, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8078:6:40", + "referencedDeclaration": 11286, + "src": "8033:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11527,32 +11455,32 @@ ], "expression": { "argumentTypes": null, - "id": 11150, + "id": 11309, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8061:12:40", + "referencedDeclaration": 10982, + "src": "8016:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11151, + "id": 11310, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "8061:16:40", + "referencedDeclaration": 10790, + "src": "8016:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11153, + "id": 11312, "isConstant": false, "isLValue": false, "isPure": false, @@ -11560,27 +11488,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8061:24:40", + "src": "8016:24:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8046:39:40", + "src": "8001:39:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11155, + "id": 11314, "nodeType": "ExpressionStatement", - "src": "8046:39:40" + "src": "8001:39:40" }, { "expression": { "argumentTypes": null, - "id": 11165, + "id": 11324, "isConstant": false, "isLValue": false, "isPure": false, @@ -11589,26 +11517,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11156, + "id": 11315, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8095:9:40", + "referencedDeclaration": 10974, + "src": "8050:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11158, + "id": 11317, "indexExpression": { "argumentTypes": null, - "id": 11157, + "id": 11316, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8105:7:40", + "referencedDeclaration": 11284, + "src": "8060:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11619,7 +11547,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8095:18:40", + "src": "8050:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11632,12 +11560,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11163, + "id": 11322, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8139:6:40", + "referencedDeclaration": 11286, + "src": "8094:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11655,26 +11583,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11159, + "id": 11318, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8116:9:40", + "referencedDeclaration": 10974, + "src": "8071:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11161, + "id": 11320, "indexExpression": { "argumentTypes": null, - "id": 11160, + "id": 11319, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8126:7:40", + "referencedDeclaration": 11284, + "src": "8081:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11685,27 +11613,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8116:18:40", + "src": "8071:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11162, + "id": 11321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10627, - "src": "8116:22:40", + "referencedDeclaration": 10790, + "src": "8071:22:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11164, + "id": 11323, "isConstant": false, "isLValue": false, "isPure": false, @@ -11713,22 +11641,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8116:30:40", + "src": "8071:30:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8095:51:40", + "src": "8050:51:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11166, + "id": 11325, "nodeType": "ExpressionStatement", - "src": "8095:51:40" + "src": "8050:51:40" }, { "eventCall": { @@ -11740,14 +11668,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11170, + "id": 11329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:1:40", + "src": "8133:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11763,29 +11691,29 @@ "typeString": "int_const 0" } ], - "id": 11169, + "id": 11328, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8170:7:40", + "src": "8125:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11168, + "id": 11327, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8170:7:40", + "src": "8125:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11171, + "id": 11330, "isConstant": false, "isLValue": false, "isPure": true, @@ -11793,7 +11721,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8170:10:40", + "src": "8125:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -11802,12 +11730,12 @@ }, { "argumentTypes": null, - "id": 11172, + "id": 11331, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11125, - "src": "8182:7:40", + "referencedDeclaration": 11284, + "src": "8137:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11815,12 +11743,12 @@ }, { "argumentTypes": null, - "id": 11173, + "id": 11332, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11127, - "src": "8191:6:40", + "referencedDeclaration": 11286, + "src": "8146:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11842,18 +11770,18 @@ "typeString": "uint256" } ], - "id": 11167, + "id": 11326, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "8161:8:40", + "referencedDeclaration": 11528, + "src": "8116:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11174, + "id": 11333, "isConstant": false, "isLValue": false, "isPure": false, @@ -11861,26 +11789,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8161:37:40", + "src": "8116:37:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11175, + "id": 11334, "nodeType": "EmitStatement", - "src": "8156:42:40" + "src": "8111:42:40" } ] }, "documentation": { - "id": 11123, + "id": 11282, "nodeType": "StructuredDocumentation", - "src": "7571:259:40", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address." + "src": "7525:260:40", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements:\n * - `to` cannot be the zero address." }, - "id": 11177, + "id": 11336, "implemented": true, "kind": "function", "modifiers": [], @@ -11888,18 +11816,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11128, + "id": 11287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11125, + "id": 11284, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11177, - "src": "7850:15:40", + "scope": 11336, + "src": "7805:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11907,10 +11835,10 @@ "typeString": "address" }, "typeName": { - "id": 11124, + "id": 11283, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7850:7:40", + "src": "7805:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11922,13 +11850,13 @@ }, { "constant": false, - "id": 11127, + "id": 11286, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11177, - "src": "7867:14:40", + "scope": 11336, + "src": "7822:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11936,10 +11864,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11126, + "id": 11285, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7867:7:40", + "src": "7822:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11949,25 +11877,25 @@ "visibility": "internal" } ], - "src": "7849:33:40" + "src": "7804:33:40" }, "returnParameters": { - "id": 11129, + "id": 11288, "nodeType": "ParameterList", "parameters": [], - "src": "7900:0:40" + "src": "7855:0:40" }, - "scope": 11301, - "src": "7835:370:40", + "scope": 11460, + "src": "7790:370:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11232, + "id": 11391, "nodeType": "Block", - "src": "8589:345:40", + "src": "8545:345:40", "statements": [ { "expression": { @@ -11979,19 +11907,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11191, + "id": 11350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11186, + "id": 11345, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8607:7:40", + "referencedDeclaration": 11339, + "src": "8563:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12005,14 +11933,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11189, + "id": 11348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8626:1:40", + "src": "8582:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12028,29 +11956,29 @@ "typeString": "int_const 0" } ], - "id": 11188, + "id": 11347, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8618:7:40", + "src": "8574:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11187, + "id": 11346, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8618:7:40", + "src": "8574:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11190, + "id": 11349, "isConstant": false, "isLValue": false, "isPure": true, @@ -12058,14 +11986,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8618:10:40", + "src": "8574:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "8607:21:40", + "src": "8563:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12074,14 +12002,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 11192, + "id": 11351, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8630:35:40", + "src": "8586:35:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -12101,7 +12029,7 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 11185, + "id": 11344, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12109,13 +12037,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8599:7:40", + "src": "8555:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11193, + "id": 11352, "isConstant": false, "isLValue": false, "isPure": false, @@ -12123,16 +12051,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8599:67:40", + "src": "8555:67:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11194, + "id": 11353, "nodeType": "ExpressionStatement", - "src": "8599:67:40" + "src": "8555:67:40" }, { "expression": { @@ -12140,12 +12068,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11196, + "id": 11355, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8698:7:40", + "referencedDeclaration": 11339, + "src": "8654:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12157,14 +12085,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11199, + "id": 11358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8715:1:40", + "src": "8671:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12180,29 +12108,29 @@ "typeString": "int_const 0" } ], - "id": 11198, + "id": 11357, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8707:7:40", + "src": "8663:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11197, + "id": 11356, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8707:7:40", + "src": "8663:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11200, + "id": 11359, "isConstant": false, "isLValue": false, "isPure": true, @@ -12210,7 +12138,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8707:10:40", + "src": "8663:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -12219,12 +12147,12 @@ }, { "argumentTypes": null, - "id": 11201, + "id": 11360, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8719:6:40", + "referencedDeclaration": 11341, + "src": "8675:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12246,18 +12174,18 @@ "typeString": "uint256" } ], - "id": 11195, + "id": 11354, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11300, - "src": "8677:20:40", + "referencedDeclaration": 11459, + "src": "8633:20:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11202, + "id": 11361, "isConstant": false, "isLValue": false, "isPure": false, @@ -12265,21 +12193,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8677:49:40", + "src": "8633:49:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11203, + "id": 11362, "nodeType": "ExpressionStatement", - "src": "8677:49:40" + "src": "8633:49:40" }, { "expression": { "argumentTypes": null, - "id": 11214, + "id": 11373, "isConstant": false, "isLValue": false, "isPure": false, @@ -12288,26 +12216,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11204, + "id": 11363, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8737:9:40", + "referencedDeclaration": 10974, + "src": "8693:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11206, + "id": 11365, "indexExpression": { "argumentTypes": null, - "id": 11205, + "id": 11364, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8747:7:40", + "referencedDeclaration": 11339, + "src": "8703:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12318,7 +12246,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8737:18:40", + "src": "8693:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12331,12 +12259,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11211, + "id": 11370, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8781:6:40", + "referencedDeclaration": 11341, + "src": "8737:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12345,14 +12273,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 11212, + "id": 11371, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:36:40", + "src": "8745:36:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -12376,26 +12304,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11207, + "id": 11366, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10815, - "src": "8758:9:40", + "referencedDeclaration": 10974, + "src": "8714:9:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11209, + "id": 11368, "indexExpression": { "argumentTypes": null, - "id": 11208, + "id": 11367, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8768:7:40", + "referencedDeclaration": 11339, + "src": "8724:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12406,27 +12334,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8758:18:40", + "src": "8714:18:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11210, + "id": 11369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10672, - "src": "8758:22:40", + "referencedDeclaration": 10835, + "src": "8714:22:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 11213, + "id": 11372, "isConstant": false, "isLValue": false, "isPure": false, @@ -12434,39 +12362,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8758:68:40", + "src": "8714:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8737:89:40", + "src": "8693:89:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11215, + "id": 11374, "nodeType": "ExpressionStatement", - "src": "8737:89:40" + "src": "8693:89:40" }, { "expression": { "argumentTypes": null, - "id": 11221, + "id": 11380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11216, + "id": 11375, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8836:12:40", + "referencedDeclaration": 10982, + "src": "8792:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12479,12 +12407,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11219, + "id": 11378, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8868:6:40", + "referencedDeclaration": 11341, + "src": "8824:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12500,32 +12428,32 @@ ], "expression": { "argumentTypes": null, - "id": 11217, + "id": 11376, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10823, - "src": "8851:12:40", + "referencedDeclaration": 10982, + "src": "8807:12:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11218, + "id": 11377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10644, - "src": "8851:16:40", + "referencedDeclaration": 10807, + "src": "8807:16:40", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 11220, + "id": 11379, "isConstant": false, "isLValue": false, "isPure": false, @@ -12533,22 +12461,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8851:24:40", + "src": "8807:24:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8836:39:40", + "src": "8792:39:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11222, + "id": 11381, "nodeType": "ExpressionStatement", - "src": "8836:39:40" + "src": "8792:39:40" }, { "eventCall": { @@ -12556,12 +12484,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11224, + "id": 11383, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11180, - "src": "8899:7:40", + "referencedDeclaration": 11339, + "src": "8855:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12573,14 +12501,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11227, + "id": 11386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8916:1:40", + "src": "8872:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12596,29 +12524,29 @@ "typeString": "int_const 0" } ], - "id": 11226, + "id": 11385, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8908:7:40", + "src": "8864:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11225, + "id": 11384, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8908:7:40", + "src": "8864:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11228, + "id": 11387, "isConstant": false, "isLValue": false, "isPure": true, @@ -12626,7 +12554,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8908:10:40", + "src": "8864:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -12635,12 +12563,12 @@ }, { "argumentTypes": null, - "id": 11229, + "id": 11388, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11182, - "src": "8920:6:40", + "referencedDeclaration": 11341, + "src": "8876:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12662,18 +12590,18 @@ "typeString": "uint256" } ], - "id": 11223, + "id": 11382, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11369, - "src": "8890:8:40", + "referencedDeclaration": 11528, + "src": "8846:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11230, + "id": 11389, "isConstant": false, "isLValue": false, "isPure": false, @@ -12681,26 +12609,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8890:37:40", + "src": "8846:37:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11231, + "id": 11390, "nodeType": "EmitStatement", - "src": "8885:42:40" + "src": "8841:42:40" } ] }, "documentation": { - "id": 11178, + "id": 11337, "nodeType": "StructuredDocumentation", - "src": "8211:308:40", - "text": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens." + "src": "8166:309:40", + "text": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements:\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens." }, - "id": 11233, + "id": 11392, "implemented": true, "kind": "function", "modifiers": [], @@ -12708,18 +12636,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11183, + "id": 11342, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11180, + "id": 11339, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11233, - "src": "8539:15:40", + "scope": 11392, + "src": "8495:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12727,10 +12655,10 @@ "typeString": "address" }, "typeName": { - "id": 11179, + "id": 11338, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8539:7:40", + "src": "8495:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12742,13 +12670,13 @@ }, { "constant": false, - "id": 11182, + "id": 11341, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11233, - "src": "8556:14:40", + "scope": 11392, + "src": "8512:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12756,10 +12684,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11181, + "id": 11340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:40", + "src": "8512:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12769,25 +12697,25 @@ "visibility": "internal" } ], - "src": "8538:33:40" + "src": "8494:33:40" }, "returnParameters": { - "id": 11184, + "id": 11343, "nodeType": "ParameterList", "parameters": [], - "src": "8589:0:40" + "src": "8545:0:40" }, - "scope": 11301, - "src": "8524:410:40", + "scope": 11460, + "src": "8480:410:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11277, + "id": 11436, "nodeType": "Block", - "src": "9440:257:40", + "src": "9396:257:40", "statements": [ { "expression": { @@ -12799,19 +12727,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11249, + "id": 11408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11244, + "id": 11403, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9458:5:40", + "referencedDeclaration": 11395, + "src": "9414:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12825,14 +12753,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11247, + "id": 11406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9475:1:40", + "src": "9431:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12848,29 +12776,29 @@ "typeString": "int_const 0" } ], - "id": 11246, + "id": 11405, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9467:7:40", + "src": "9423:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11245, + "id": 11404, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9467:7:40", + "src": "9423:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11248, + "id": 11407, "isConstant": false, "isLValue": false, "isPure": true, @@ -12878,14 +12806,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9467:10:40", + "src": "9423:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9458:19:40", + "src": "9414:19:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12894,14 +12822,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 11250, + "id": 11409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9479:38:40", + "src": "9435:38:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -12921,7 +12849,7 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 11243, + "id": 11402, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12929,13 +12857,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9450:7:40", + "src": "9406:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11251, + "id": 11410, "isConstant": false, "isLValue": false, "isPure": false, @@ -12943,16 +12871,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9450:68:40", + "src": "9406:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11252, + "id": 11411, "nodeType": "ExpressionStatement", - "src": "9450:68:40" + "src": "9406:68:40" }, { "expression": { @@ -12964,19 +12892,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 11259, + "id": 11418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11254, + "id": 11413, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9536:7:40", + "referencedDeclaration": 11397, + "src": "9492:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12990,14 +12918,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 11257, + "id": 11416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9555:1:40", + "src": "9511:1:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13013,29 +12941,29 @@ "typeString": "int_const 0" } ], - "id": 11256, + "id": 11415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9547:7:40", + "src": "9503:7:40", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 11255, + "id": 11414, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9547:7:40", + "src": "9503:7:40", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 11258, + "id": 11417, "isConstant": false, "isLValue": false, "isPure": true, @@ -13043,14 +12971,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9547:10:40", + "src": "9503:10:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9536:21:40", + "src": "9492:21:40", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13059,14 +12987,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 11260, + "id": 11419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9559:36:40", + "src": "9515:36:40", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -13086,7 +13014,7 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 11253, + "id": 11412, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -13094,13 +13022,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9528:7:40", + "src": "9484:7:40", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 11261, + "id": 11420, "isConstant": false, "isLValue": false, "isPure": false, @@ -13108,21 +13036,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9528:68:40", + "src": "9484:68:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11262, + "id": 11421, "nodeType": "ExpressionStatement", - "src": "9528:68:40" + "src": "9484:68:40" }, { "expression": { "argumentTypes": null, - "id": 11269, + "id": 11428, "isConstant": false, "isLValue": false, "isPure": false, @@ -13133,26 +13061,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 11263, + "id": 11422, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10821, - "src": "9607:11:40", + "referencedDeclaration": 10980, + "src": "9563:11:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 11266, + "id": 11425, "indexExpression": { "argumentTypes": null, - "id": 11264, + "id": 11423, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9619:5:40", + "referencedDeclaration": 11395, + "src": "9575:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13163,21 +13091,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9607:18:40", + "src": "9563:18:40", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 11267, + "id": 11426, "indexExpression": { "argumentTypes": null, - "id": 11265, + "id": 11424, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9626:7:40", + "referencedDeclaration": 11397, + "src": "9582:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13188,7 +13116,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9607:27:40", + "src": "9563:27:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13198,26 +13126,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 11268, + "id": 11427, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11240, - "src": "9637:6:40", + "referencedDeclaration": 11399, + "src": "9593:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9607:36:40", + "src": "9563:36:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 11270, + "id": 11429, "nodeType": "ExpressionStatement", - "src": "9607:36:40" + "src": "9563:36:40" }, { "eventCall": { @@ -13225,12 +13153,12 @@ "arguments": [ { "argumentTypes": null, - "id": 11272, + "id": 11431, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11236, - "src": "9667:5:40", + "referencedDeclaration": 11395, + "src": "9623:5:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13238,12 +13166,12 @@ }, { "argumentTypes": null, - "id": 11273, + "id": 11432, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11238, - "src": "9674:7:40", + "referencedDeclaration": 11397, + "src": "9630:7:40", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13251,12 +13179,12 @@ }, { "argumentTypes": null, - "id": 11274, + "id": 11433, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11240, - "src": "9683:6:40", + "referencedDeclaration": 11399, + "src": "9639:6:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13278,18 +13206,18 @@ "typeString": "uint256" } ], - "id": 11271, + "id": 11430, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11378, - "src": "9658:8:40", + "referencedDeclaration": 11537, + "src": "9614:8:40", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 11275, + "id": 11434, "isConstant": false, "isLValue": false, "isPure": false, @@ -13297,26 +13225,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9658:32:40", + "src": "9614:32:40", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 11276, + "id": 11435, "nodeType": "EmitStatement", - "src": "9653:37:40" + "src": "9609:37:40" } ] }, "documentation": { - "id": 11234, + "id": 11393, "nodeType": "StructuredDocumentation", - "src": "8940:412:40", + "src": "8896:412:40", "text": "@dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n * This internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address." }, - "id": 11278, + "id": 11437, "implemented": true, "kind": "function", "modifiers": [], @@ -13324,18 +13252,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11241, + "id": 11400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11236, + "id": 11395, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9375:13:40", + "scope": 11437, + "src": "9331:13:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13343,10 +13271,10 @@ "typeString": "address" }, "typeName": { - "id": 11235, + "id": 11394, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9375:7:40", + "src": "9331:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13358,13 +13286,13 @@ }, { "constant": false, - "id": 11238, + "id": 11397, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9390:15:40", + "scope": 11437, + "src": "9346:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13372,10 +13300,10 @@ "typeString": "address" }, "typeName": { - "id": 11237, + "id": 11396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9390:7:40", + "src": "9346:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13387,13 +13315,13 @@ }, { "constant": false, - "id": 11240, + "id": 11399, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11278, - "src": "9407:14:40", + "scope": 11437, + "src": "9363:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13401,10 +13329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11239, + "id": 11398, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9407:7:40", + "src": "9363:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13414,42 +13342,42 @@ "visibility": "internal" } ], - "src": "9374:48:40" + "src": "9330:48:40" }, "returnParameters": { - "id": 11242, + "id": 11401, "nodeType": "ParameterList", "parameters": [], - "src": "9440:0:40" + "src": "9396:0:40" }, - "scope": 11301, - "src": "9357:340:40", + "scope": 11460, + "src": "9313:340:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 11288, + "id": 11447, "nodeType": "Block", - "src": "10070:38:40", + "src": "10026:38:40", "statements": [ { "expression": { "argumentTypes": null, - "id": 11286, + "id": 11445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 11284, + "id": 11443, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10829, - "src": "10080:9:40", + "referencedDeclaration": 10988, + "src": "10036:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13459,36 +13387,36 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 11285, + "id": 11444, "name": "decimals_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11281, - "src": "10092:9:40", + "referencedDeclaration": 11440, + "src": "10048:9:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "10080:21:40", + "src": "10036:21:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 11287, + "id": 11446, "nodeType": "ExpressionStatement", - "src": "10080:21:40" + "src": "10036:21:40" } ] }, "documentation": { - "id": 11279, + "id": 11438, "nodeType": "StructuredDocumentation", - "src": "9703:312:40", + "src": "9659:312:40", "text": "@dev Sets {decimals} to a value other than the default one of 18.\n * WARNING: This function should only be called from the constructor. Most\napplications that interact with token contracts will not expect\n{decimals} to ever change, and may work incorrectly if it does." }, - "id": 11289, + "id": 11448, "implemented": true, "kind": "function", "modifiers": [], @@ -13496,18 +13424,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11282, + "id": 11441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11281, + "id": 11440, "mutability": "mutable", "name": "decimals_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11289, - "src": "10044:15:40", + "scope": 11448, + "src": "10000:15:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13515,10 +13443,10 @@ "typeString": "uint8" }, "typeName": { - "id": 11280, + "id": 11439, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10044:5:40", + "src": "10000:5:40", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13528,34 +13456,34 @@ "visibility": "internal" } ], - "src": "10043:17:40" + "src": "9999:17:40" }, "returnParameters": { - "id": 11283, + "id": 11442, "nodeType": "ParameterList", "parameters": [], - "src": "10070:0:40" + "src": "10026:0:40" }, - "scope": 11301, - "src": "10020:88:40", + "scope": 11460, + "src": "9976:88:40", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 11299, + "id": 11458, "nodeType": "Block", - "src": "10784:3:40", + "src": "10740:3:40", "statements": [] }, "documentation": { - "id": 11290, + "id": 11449, "nodeType": "StructuredDocumentation", - "src": "10114:576:40", + "src": "10070:576:40", "text": "@dev Hook that is called before any transfer of tokens. This includes\nminting and burning.\n * Calling conditions:\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\nwill be to transferred to `to`.\n- when `from` is zero, `amount` tokens will be minted for `to`.\n- when `to` is zero, `amount` of ``from``'s tokens will be burned.\n- `from` and `to` are never both zero.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, - "id": 11300, + "id": 11459, "implemented": true, "kind": "function", "modifiers": [], @@ -13563,18 +13491,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11297, + "id": 11456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11292, + "id": 11451, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10725:12:40", + "scope": 11459, + "src": "10681:12:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13582,10 +13510,10 @@ "typeString": "address" }, "typeName": { - "id": 11291, + "id": 11450, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10725:7:40", + "src": "10681:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13597,13 +13525,13 @@ }, { "constant": false, - "id": 11294, + "id": 11453, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10739:10:40", + "scope": 11459, + "src": "10695:10:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13611,10 +13539,10 @@ "typeString": "address" }, "typeName": { - "id": 11293, + "id": 11452, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10739:7:40", + "src": "10695:7:40", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13626,13 +13554,13 @@ }, { "constant": false, - "id": 11296, + "id": 11455, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11300, - "src": "10751:14:40", + "scope": 11459, + "src": "10707:14:40", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13640,10 +13568,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11295, + "id": 11454, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10751:7:40", + "src": "10707:7:40", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13653,26 +13581,26 @@ "visibility": "internal" } ], - "src": "10724:42:40" + "src": "10680:42:40" }, "returnParameters": { - "id": 11298, + "id": 11457, "nodeType": "ParameterList", "parameters": [], - "src": "10784:0:40" + "src": "10740:0:40" }, - "scope": 11301, - "src": "10695:92:40", + "scope": 11460, + "src": "10651:92:40", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 11302, - "src": "1345:9444:40" + "scope": 11461, + "src": "1319:9426:40" } ], - "src": "33:10757:40" + "src": "33:10713:40" }, "compiler": { "name": "solc", @@ -13680,7 +13608,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.141Z", + "updatedAt": "2020-12-12T01:13:52.741Z", "devdoc": { "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", "methods": { @@ -13718,7 +13646,7 @@ "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." } } }, diff --git a/AskoLend-contracts/build/contracts/Exponential.json b/AskoLend-contracts/build/contracts/Exponential.json index 7d545eca..f877d02e 100644 --- a/AskoLend-contracts/build/contracts/Exponential.json +++ b/AskoLend-contracts/build/contracts/Exponential.json @@ -1,26 +1,26 @@ { "contractName": "Exponential", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Compound\",\"methods\":{},\"title\":\"Exponential module for storing fixed-precision decimals\"},\"userdoc\":{\"methods\":{},\"notice\":\"Exp is a struct which stores decimals with a fixed precision of 18 decimal places. Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is: `Exp({mantissa: 5100000000000000000})`.\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":\"Exponential\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209d78e6e4acda55bcfdaff9e1df9c32890a0a2eabf5eab9eafd53cdaeea2a2fd564736f6c63430006060033", - "deployedBytecode": "0x6080604052600080fdfea26469706673582212209d78e6e4acda55bcfdaff9e1df9c32890a0a2eabf5eab9eafd53cdaeea2a2fd564736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Compound\",\"methods\":{},\"title\":\"Exponential module for storing fixed-precision decimals\"},\"userdoc\":{\"methods\":{},\"notice\":\"Exp is a struct which stores decimals with a fixed precision of 18 decimal places. Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is: `Exp({mantissa: 5100000000000000000})`.\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":\"Exponential\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220294bfaadc1f38cdf7b0e47cd772878faf8a3601d31cdc41976273975e8c0f08f64736f6c63430006060033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220294bfaadc1f38cdf7b0e47cd772878faf8a3601d31cdc41976273975e8c0f08f64736f6c63430006060033", "immutableReferences": {}, "sourceMap": "379:12012:17:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;379:12012:17;;;;;;;", "deployedSourceMap": "379:12012:17:-:0;;;12:1:-1;9;2:12", "source": "pragma solidity ^0.6.0;\n\nimport \"./CarefulMath.sol\";\n\n/**\n * @title Exponential module for storing fixed-precision decimals\n * @author Compound\n * @notice Exp is a struct which stores decimals with a fixed precision of 18 decimal places.\n * Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is:\n * `Exp({mantissa: 5100000000000000000})`.\n */\ncontract Exponential is CarefulMath {\n uint constant expScale = 1e18;\n uint constant doubleScale = 1e36;\n uint constant halfExpScale = expScale/2;\n uint constant mantissaOne = expScale;\n\n struct Exp {\n uint mantissa;\n }\n\n struct Double {\n uint mantissa;\n }\n\n /**\n * @dev Creates an exponential from numerator and denominator values.\n * Note: Returns an error if (`num` * 10e18) > MAX_INT,\n * or if `denom` is zero.\n */\n function getExp(uint num, uint denom) pure internal returns (MathError, Exp memory) {\n (MathError err0, uint scaledNumerator) = mulUInt(num, expScale);\n if (err0 != MathError.NO_ERROR) {\n return (err0, Exp({mantissa: 0}));\n }\n\n (MathError err1, uint rational) = divUInt(scaledNumerator, denom);\n if (err1 != MathError.NO_ERROR) {\n return (err1, Exp({mantissa: 0}));\n }\n\n return (MathError.NO_ERROR, Exp({mantissa: rational}));\n }\n\n /**\n * @dev Adds two exponentials, returning a new exponential.\n */\n function addExp(Exp memory a, Exp memory b) pure internal returns (MathError, Exp memory) {\n (MathError error, uint result) = addUInt(a.mantissa, b.mantissa);\n\n return (error, Exp({mantissa: result}));\n }\n\n /**\n * @dev Subtracts two exponentials, returning a new exponential.\n */\n function subExp(Exp memory a, Exp memory b) pure internal returns (MathError, Exp memory) {\n (MathError error, uint result) = subUInt(a.mantissa, b.mantissa);\n\n return (error, Exp({mantissa: result}));\n }\n\n /**\n * @dev Multiply an Exp by a scalar, returning a new Exp.\n */\n function mulScalar(Exp memory a, uint scalar) pure internal returns (MathError, Exp memory) {\n (MathError err0, uint scaledMantissa) = mulUInt(a.mantissa, scalar);\n if (err0 != MathError.NO_ERROR) {\n return (err0, Exp({mantissa: 0}));\n }\n\n return (MathError.NO_ERROR, Exp({mantissa: scaledMantissa}));\n }\n\n /**\n * @dev Multiply an Exp by a scalar, then truncate to return an unsigned integer.\n */\n function mulScalarTruncate(Exp memory a, uint scalar) pure internal returns (MathError, uint) {\n (MathError err, Exp memory product) = mulScalar(a, scalar);\n if (err != MathError.NO_ERROR) {\n return (err, 0);\n }\n\n return (MathError.NO_ERROR, truncate(product));\n }\n\n /**\n * @dev Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer.\n */\n function mulScalarTruncateAddUInt(Exp memory a, uint scalar, uint addend) pure internal returns (MathError, uint) {\n (MathError err, Exp memory product) = mulScalar(a, scalar);\n if (err != MathError.NO_ERROR) {\n return (err, 0);\n }\n\n return addUInt(truncate(product), addend);\n }\n\n /**\n * @dev Divide an Exp by a scalar, returning a new Exp.\n */\n function divScalar(Exp memory a, uint scalar) pure internal returns (MathError, Exp memory) {\n (MathError err0, uint descaledMantissa) = divUInt(a.mantissa, scalar);\n if (err0 != MathError.NO_ERROR) {\n return (err0, Exp({mantissa: 0}));\n }\n\n return (MathError.NO_ERROR, Exp({mantissa: descaledMantissa}));\n }\n\n /**\n * @dev Divide a scalar by an Exp, returning a new Exp.\n */\n function divScalarByExp(uint scalar, Exp memory divisor) pure internal returns (MathError, Exp memory) {\n /*\n We are doing this as:\n getExp(mulUInt(expScale, scalar), divisor.mantissa)\n\n How it works:\n Exp = a / b;\n Scalar = s;\n `s / (a / b)` = `b * s / a` and since for an Exp `a = mantissa, b = expScale`\n */\n (MathError err0, uint numerator) = mulUInt(expScale, scalar);\n if (err0 != MathError.NO_ERROR) {\n return (err0, Exp({mantissa: 0}));\n }\n return getExp(numerator, divisor.mantissa);\n }\n\n /**\n * @dev Divide a scalar by an Exp, then truncate to return an unsigned integer.\n */\n function divScalarByExpTruncate(uint scalar, Exp memory divisor) pure internal returns (MathError, uint) {\n (MathError err, Exp memory fraction) = divScalarByExp(scalar, divisor);\n if (err != MathError.NO_ERROR) {\n return (err, 0);\n }\n\n return (MathError.NO_ERROR, truncate(fraction));\n }\n\n /**\n * @dev Multiplies two exponentials, returning a new exponential.\n */\n function mulExp(Exp memory a, Exp memory b) pure internal returns (MathError, Exp memory) {\n\n (MathError err0, uint doubleScaledProduct) = mulUInt(a.mantissa, b.mantissa);\n if (err0 != MathError.NO_ERROR) {\n return (err0, Exp({mantissa: 0}));\n }\n\n // We add half the scale before dividing so that we get rounding instead of truncation.\n // See \"Listing 6\" and text above it at https://accu.org/index.php/journals/1717\n // Without this change, a result like 6.6...e-19 will be truncated to 0 instead of being rounded to 1e-18.\n (MathError err1, uint doubleScaledProductWithHalfScale) = addUInt(halfExpScale, doubleScaledProduct);\n if (err1 != MathError.NO_ERROR) {\n return (err1, Exp({mantissa: 0}));\n }\n\n (MathError err2, uint product) = divUInt(doubleScaledProductWithHalfScale, expScale);\n // The only error `div` can return is MathError.DIVISION_BY_ZERO but we control `expScale` and it is not zero.\n assert(err2 == MathError.NO_ERROR);\n\n return (MathError.NO_ERROR, Exp({mantissa: product}));\n }\n\n /**\n * @dev Multiplies two exponentials given their mantissas, returning a new exponential.\n */\n function mulExp(uint a, uint b) pure internal returns (MathError, Exp memory) {\n return mulExp(Exp({mantissa: a}), Exp({mantissa: b}));\n }\n\n /**\n * @dev Multiplies three exponentials, returning a new exponential.\n */\n function mulExp3(Exp memory a, Exp memory b, Exp memory c) pure internal returns (MathError, Exp memory) {\n (MathError err, Exp memory ab) = mulExp(a, b);\n if (err != MathError.NO_ERROR) {\n return (err, ab);\n }\n return mulExp(ab, c);\n }\n\n /**\n * @dev Divides two exponentials, returning a new exponential.\n * (a/scale) / (b/scale) = (a/scale) * (scale/b) = a/b,\n * which we can scale as an Exp by calling getExp(a.mantissa, b.mantissa)\n */\n function divExp(Exp memory a, Exp memory b) pure internal returns (MathError, Exp memory) {\n return getExp(a.mantissa, b.mantissa);\n }\n\n /**\n * @dev Truncates the given exp to a whole number value.\n * For example, truncate(Exp{mantissa: 15 * expScale}) = 15\n */\n function truncate(Exp memory exp) pure internal returns (uint) {\n // Note: We are not using careful math here as we're performing a division that cannot fail\n return exp.mantissa / expScale;\n }\n\n /**\n * @dev Checks if first Exp is less than second Exp.\n */\n function lessThanExp(Exp memory left, Exp memory right) pure internal returns (bool) {\n return left.mantissa < right.mantissa;\n }\n\n /**\n * @dev Checks if left Exp <= right Exp.\n */\n function lessThanOrEqualExp(Exp memory left, Exp memory right) pure internal returns (bool) {\n return left.mantissa <= right.mantissa;\n }\n\n /**\n * @dev Checks if left Exp > right Exp.\n */\n function greaterThanExp(Exp memory left, Exp memory right) pure internal returns (bool) {\n return left.mantissa > right.mantissa;\n }\n\n /**\n * @dev returns true if Exp is exactly zero\n */\n function isZeroExp(Exp memory value) pure internal returns (bool) {\n return value.mantissa == 0;\n }\n\n function safe224(uint n, string memory errorMessage) pure internal returns (uint224) {\n require(n < 2**224, errorMessage);\n return uint224(n);\n }\n\n function safe32(uint n, string memory errorMessage) pure internal returns (uint32) {\n require(n < 2**32, errorMessage);\n return uint32(n);\n }\n\n function add_(Exp memory a, Exp memory b) pure internal returns (Exp memory) {\n return Exp({mantissa: add_(a.mantissa, b.mantissa)});\n }\n\n function add_(Double memory a, Double memory b) pure internal returns (Double memory) {\n return Double({mantissa: add_(a.mantissa, b.mantissa)});\n }\n\n function add_(uint a, uint b) pure internal returns (uint) {\n return add_(a, b, \"addition overflow\");\n }\n\n function add_(uint a, uint b, string memory errorMessage) pure internal returns (uint) {\n uint c = a + b;\n require(c >= a, errorMessage);\n return c;\n }\n\n function sub_(Exp memory a, Exp memory b) pure internal returns (Exp memory) {\n return Exp({mantissa: sub_(a.mantissa, b.mantissa)});\n }\n\n function sub_(Double memory a, Double memory b) pure internal returns (Double memory) {\n return Double({mantissa: sub_(a.mantissa, b.mantissa)});\n }\n\n function sub_(uint a, uint b) pure internal returns (uint) {\n return sub_(a, b, \"subtraction underflow\");\n }\n\n function sub_(uint a, uint b, string memory errorMessage) pure internal returns (uint) {\n require(b <= a, errorMessage);\n return a - b;\n }\n\n function mul_(Exp memory a, Exp memory b) pure internal returns (Exp memory) {\n return Exp({mantissa: mul_(a.mantissa, b.mantissa) / expScale});\n }\n\n function mul_(Exp memory a, uint b) pure internal returns (Exp memory) {\n return Exp({mantissa: mul_(a.mantissa, b)});\n }\n\n function mul_(uint a, Exp memory b) pure internal returns (uint) {\n return mul_(a, b.mantissa) / expScale;\n }\n\n function mul_(Double memory a, Double memory b) pure internal returns (Double memory) {\n return Double({mantissa: mul_(a.mantissa, b.mantissa) / doubleScale});\n }\n\n function mul_(Double memory a, uint b) pure internal returns (Double memory) {\n return Double({mantissa: mul_(a.mantissa, b)});\n }\n\n function mul_(uint a, Double memory b) pure internal returns (uint) {\n return mul_(a, b.mantissa) / doubleScale;\n }\n\n function mul_(uint a, uint b) pure internal returns (uint) {\n return mul_(a, b, \"multiplication overflow\");\n }\n\n function mul_(uint a, uint b, string memory errorMessage) pure internal returns (uint) {\n if (a == 0 || b == 0) {\n return 0;\n }\n uint c = a * b;\n require(c / a == b, errorMessage);\n return c;\n }\n\n function div_(Exp memory a, Exp memory b) pure internal returns (Exp memory) {\n return Exp({mantissa: div_(mul_(a.mantissa, expScale), b.mantissa)});\n }\n\n function div_(Exp memory a, uint b) pure internal returns (Exp memory) {\n return Exp({mantissa: div_(a.mantissa, b)});\n }\n\n function div_(uint a, Exp memory b) pure internal returns (uint) {\n return div_(mul_(a, expScale), b.mantissa);\n }\n\n function div_(Double memory a, Double memory b) pure internal returns (Double memory) {\n return Double({mantissa: div_(mul_(a.mantissa, doubleScale), b.mantissa)});\n }\n\n function div_(Double memory a, uint b) pure internal returns (Double memory) {\n return Double({mantissa: div_(a.mantissa, b)});\n }\n\n function div_(uint a, Double memory b) pure internal returns (uint) {\n return div_(mul_(a, doubleScale), b.mantissa);\n }\n\n function div_(uint a, uint b) pure internal returns (uint) {\n return div_(a, b, \"divide by zero\");\n }\n\n function div_(uint a, uint b, string memory errorMessage) pure internal returns (uint) {\n require(b > 0, errorMessage);\n return a / b;\n }\n\n function fraction(uint a, uint b) pure internal returns (Double memory) {\n return Double({mantissa: div_(mul_(a, doubleScale), b)});\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "exportedSymbols": { "Exponential": [ - 6216 + 6349 ] }, - "id": 6217, + "id": 6350, "nodeType": "SourceUnit", "nodes": [ { - "id": 5033, + "id": 5166, "literals": [ "solidity", "^", @@ -31,12 +31,12 @@ "src": "0:23:17" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", "file": "./CarefulMath.sol", - "id": 5034, + "id": 5167, "nodeType": "ImportDirective", - "scope": 6217, - "sourceUnit": 5032, + "scope": 6350, + "sourceUnit": 5165, "src": "25:27:17", "symbolAliases": [], "unitAlias": "" @@ -48,48 +48,48 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 5036, + "id": 5169, "name": "CarefulMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5031, + "referencedDeclaration": 5164, "src": "403:11:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_CarefulMath_$5031", + "typeIdentifier": "t_contract$_CarefulMath_$5164", "typeString": "contract CarefulMath" } }, - "id": 5037, + "id": 5170, "nodeType": "InheritanceSpecifier", "src": "403:11:17" } ], "contractDependencies": [ - 5031 + 5164 ], "contractKind": "contract", "documentation": { - "id": 5035, + "id": 5168, "nodeType": "StructuredDocumentation", "src": "54:324:17", "text": "@title Exponential module for storing fixed-precision decimals\n@author Compound\n@notice Exp is a struct which stores decimals with a fixed precision of 18 decimal places.\n Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is:\n `Exp({mantissa: 5100000000000000000})`." }, "fullyImplemented": true, - "id": 6216, + "id": 6349, "linearizedBaseContracts": [ - 6216, - 5031 + 6349, + 5164 ], "name": "Exponential", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 5040, + "id": 5173, "mutability": "constant", "name": "expScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "421:29:17", "stateVariable": true, "storageLocation": "default", @@ -98,7 +98,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5038, + "id": 5171, "name": "uint", "nodeType": "ElementaryTypeName", "src": "421:4:17", @@ -110,7 +110,7 @@ "value": { "argumentTypes": null, "hexValue": "31653138", - "id": 5039, + "id": 5172, "isConstant": false, "isLValue": false, "isPure": true, @@ -129,12 +129,12 @@ }, { "constant": true, - "id": 5043, + "id": 5176, "mutability": "constant", "name": "doubleScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "456:32:17", "stateVariable": true, "storageLocation": "default", @@ -143,7 +143,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5041, + "id": 5174, "name": "uint", "nodeType": "ElementaryTypeName", "src": "456:4:17", @@ -155,7 +155,7 @@ "value": { "argumentTypes": null, "hexValue": "31653336", - "id": 5042, + "id": 5175, "isConstant": false, "isLValue": false, "isPure": true, @@ -174,12 +174,12 @@ }, { "constant": true, - "id": 5048, + "id": 5181, "mutability": "constant", "name": "halfExpScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "494:39:17", "stateVariable": true, "storageLocation": "default", @@ -188,7 +188,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5044, + "id": 5177, "name": "uint", "nodeType": "ElementaryTypeName", "src": "494:4:17", @@ -203,18 +203,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5047, + "id": 5180, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5045, + "id": 5178, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "523:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226,7 +226,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5046, + "id": 5179, "isConstant": false, "isLValue": false, "isPure": true, @@ -251,12 +251,12 @@ }, { "constant": true, - "id": 5051, + "id": 5184, "mutability": "constant", "name": "mantissaOne", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "539:36:17", "stateVariable": true, "storageLocation": "default", @@ -265,7 +265,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5049, + "id": 5182, "name": "uint", "nodeType": "ElementaryTypeName", "src": "539:4:17", @@ -276,11 +276,11 @@ }, "value": { "argumentTypes": null, - "id": 5050, + "id": 5183, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "567:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -291,16 +291,16 @@ }, { "canonicalName": "Exponential.Exp", - "id": 5054, + "id": 5187, "members": [ { "constant": false, - "id": 5053, + "id": 5186, "mutability": "mutable", "name": "mantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5054, + "scope": 5187, "src": "603:13:17", "stateVariable": false, "storageLocation": "default", @@ -309,7 +309,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5052, + "id": 5185, "name": "uint", "nodeType": "ElementaryTypeName", "src": "603:4:17", @@ -324,22 +324,22 @@ ], "name": "Exp", "nodeType": "StructDefinition", - "scope": 6216, + "scope": 6349, "src": "582:41:17", "visibility": "public" }, { "canonicalName": "Exponential.Double", - "id": 5057, + "id": 5190, "members": [ { "constant": false, - "id": 5056, + "id": 5189, "mutability": "mutable", "name": "mantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5057, + "scope": 5190, "src": "653:13:17", "stateVariable": false, "storageLocation": "default", @@ -348,7 +348,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5055, + "id": 5188, "name": "uint", "nodeType": "ElementaryTypeName", "src": "653:4:17", @@ -363,46 +363,46 @@ ], "name": "Double", "nodeType": "StructDefinition", - "scope": 6216, + "scope": 6349, "src": "629:44:17", "visibility": "public" }, { "body": { - "id": 5118, + "id": 5251, "nodeType": "Block", "src": "959:419:17", "statements": [ { "assignments": [ - 5070, - 5072 + 5203, + 5205 ], "declarations": [ { "constant": false, - "id": 5070, + "id": 5203, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "970:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5069, + "id": 5202, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "970:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -411,12 +411,12 @@ }, { "constant": false, - "id": 5072, + "id": 5205, "mutability": "mutable", "name": "scaledNumerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "986:20:17", "stateVariable": false, "storageLocation": "default", @@ -425,7 +425,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5071, + "id": 5204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "986:4:17", @@ -438,17 +438,17 @@ "visibility": "internal" } ], - "id": 5077, + "id": 5210, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5074, + "id": 5207, "name": "num", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5060, + "referencedDeclaration": 5193, "src": "1018:3:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -457,11 +457,11 @@ }, { "argumentTypes": null, - "id": 5075, + "id": 5208, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "1023:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -480,18 +480,18 @@ "typeString": "uint256" } ], - "id": 5073, + "id": 5206, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "1010:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5076, + "id": 5209, "isConstant": false, "isLValue": false, "isPure": false, @@ -502,7 +502,7 @@ "src": "1010:22:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -513,24 +513,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5081, + "id": 5214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5078, + "id": 5211, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5070, + "referencedDeclaration": 5203, "src": "1046:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -540,18 +540,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5079, + "id": 5212, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1054:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5080, + "id": 5213, "isConstant": false, "isLValue": false, "isPure": true, @@ -561,7 +561,7 @@ "referencedDeclaration": null, "src": "1054:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -572,11 +572,11 @@ } }, "falseBody": null, - "id": 5089, + "id": 5222, "nodeType": "IfStatement", "src": "1042:90:17", "trueBody": { - "id": 5088, + "id": 5221, "nodeType": "Block", "src": "1074:58:17", "statements": [ @@ -586,14 +586,14 @@ "components": [ { "argumentTypes": null, - "id": 5082, + "id": 5215, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5070, + "referencedDeclaration": 5203, "src": "1096:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -603,7 +603,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5084, + "id": 5217, "isConstant": false, "isLValue": false, "isPure": true, @@ -626,18 +626,18 @@ "typeString": "int_const 0" } ], - "id": 5083, + "id": 5216, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1102:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5085, + "id": 5218, "isConstant": false, "isLValue": false, "isPure": true, @@ -650,12 +650,12 @@ "src": "1102:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5086, + "id": 5219, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -664,12 +664,12 @@ "nodeType": "TupleExpression", "src": "1095:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5087, + "functionReturnParameters": 5201, + "id": 5220, "nodeType": "Return", "src": "1088:33:17" } @@ -678,34 +678,34 @@ }, { "assignments": [ - 5091, - 5093 + 5224, + 5226 ], "declarations": [ { "constant": false, - "id": 5091, + "id": 5224, "mutability": "mutable", "name": "err1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "1143:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5090, + "id": 5223, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1143:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -714,12 +714,12 @@ }, { "constant": false, - "id": 5093, + "id": 5226, "mutability": "mutable", "name": "rational", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "1159:13:17", "stateVariable": false, "storageLocation": "default", @@ -728,7 +728,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5092, + "id": 5225, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1159:4:17", @@ -741,17 +741,17 @@ "visibility": "internal" } ], - "id": 5098, + "id": 5231, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5095, + "id": 5228, "name": "scaledNumerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5072, + "referencedDeclaration": 5205, "src": "1184:15:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -760,11 +760,11 @@ }, { "argumentTypes": null, - "id": 5096, + "id": 5229, "name": "denom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5062, + "referencedDeclaration": 5195, "src": "1201:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -783,18 +783,18 @@ "typeString": "uint256" } ], - "id": 5094, + "id": 5227, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "1176:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5097, + "id": 5230, "isConstant": false, "isLValue": false, "isPure": false, @@ -805,7 +805,7 @@ "src": "1176:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -816,24 +816,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5102, + "id": 5235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5099, + "id": 5232, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5091, + "referencedDeclaration": 5224, "src": "1221:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -843,18 +843,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5100, + "id": 5233, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1229:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5101, + "id": 5234, "isConstant": false, "isLValue": false, "isPure": true, @@ -864,7 +864,7 @@ "referencedDeclaration": null, "src": "1229:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -875,11 +875,11 @@ } }, "falseBody": null, - "id": 5110, + "id": 5243, "nodeType": "IfStatement", "src": "1217:90:17", "trueBody": { - "id": 5109, + "id": 5242, "nodeType": "Block", "src": "1249:58:17", "statements": [ @@ -889,14 +889,14 @@ "components": [ { "argumentTypes": null, - "id": 5103, + "id": 5236, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5091, + "referencedDeclaration": 5224, "src": "1271:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -906,7 +906,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5105, + "id": 5238, "isConstant": false, "isLValue": false, "isPure": true, @@ -929,18 +929,18 @@ "typeString": "int_const 0" } ], - "id": 5104, + "id": 5237, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1277:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5106, + "id": 5239, "isConstant": false, "isLValue": false, "isPure": true, @@ -953,12 +953,12 @@ "src": "1277:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5107, + "id": 5240, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -967,12 +967,12 @@ "nodeType": "TupleExpression", "src": "1270:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5108, + "functionReturnParameters": 5201, + "id": 5241, "nodeType": "Return", "src": "1263:33:17" } @@ -987,18 +987,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5111, + "id": 5244, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1325:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5112, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": true, @@ -1008,7 +1008,7 @@ "referencedDeclaration": null, "src": "1325:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1017,11 +1017,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5114, + "id": 5247, "name": "rational", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, + "referencedDeclaration": 5226, "src": "1360:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1036,18 +1036,18 @@ "typeString": "uint256" } ], - "id": 5113, + "id": 5246, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1345:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5115, + "id": 5248, "isConstant": false, "isLValue": false, "isPure": false, @@ -1060,12 +1060,12 @@ "src": "1345:25:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5116, + "id": 5249, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1074,24 +1074,24 @@ "nodeType": "TupleExpression", "src": "1324:47:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5117, + "functionReturnParameters": 5201, + "id": 5250, "nodeType": "Return", "src": "1317:54:17" } ] }, "documentation": { - "id": 5058, + "id": 5191, "nodeType": "StructuredDocumentation", "src": "679:191:17", "text": "@dev Creates an exponential from numerator and denominator values.\n Note: Returns an error if (`num` * 10e18) > MAX_INT,\n or if `denom` is zero." }, - "id": 5119, + "id": 5252, "implemented": true, "kind": "function", "modifiers": [], @@ -1099,17 +1099,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5063, + "id": 5196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5060, + "id": 5193, "mutability": "mutable", "name": "num", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "891:8:17", "stateVariable": false, "storageLocation": "default", @@ -1118,7 +1118,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5059, + "id": 5192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "891:4:17", @@ -1132,12 +1132,12 @@ }, { "constant": false, - "id": 5062, + "id": 5195, "mutability": "mutable", "name": "denom", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "901:10:17", "stateVariable": false, "storageLocation": "default", @@ -1146,7 +1146,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5061, + "id": 5194, "name": "uint", "nodeType": "ElementaryTypeName", "src": "901:4:17", @@ -1162,33 +1162,33 @@ "src": "890:22:17" }, "returnParameters": { - "id": 5068, + "id": 5201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5065, + "id": 5198, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "936:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5064, + "id": 5197, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "936:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1197,28 +1197,28 @@ }, { "constant": false, - "id": 5067, + "id": 5200, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "947:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5066, + "id": 5199, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "947:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1228,7 +1228,7 @@ ], "src": "935:23:17" }, - "scope": 6216, + "scope": 6349, "src": "875:503:17", "stateMutability": "pure", "virtual": false, @@ -1236,40 +1236,40 @@ }, { "body": { - "id": 5148, + "id": 5281, "nodeType": "Block", "src": "1554:131:17", "statements": [ { "assignments": [ - 5132, - 5134 + 5265, + 5267 ], "declarations": [ { "constant": false, - "id": 5132, + "id": 5265, "mutability": "mutable", "name": "error", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5148, + "scope": 5281, "src": "1565:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5131, + "id": 5264, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1565:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1278,12 +1278,12 @@ }, { "constant": false, - "id": 5134, + "id": 5267, "mutability": "mutable", "name": "result", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5148, + "scope": 5281, "src": "1582:11:17", "stateVariable": false, "storageLocation": "default", @@ -1292,7 +1292,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5133, + "id": 5266, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1582:4:17", @@ -1305,7 +1305,7 @@ "visibility": "internal" } ], - "id": 5141, + "id": 5274, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1313,25 +1313,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5136, + "id": 5269, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5122, + "referencedDeclaration": 5255, "src": "1605:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5137, + "id": 5270, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1605:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1342,25 +1342,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5138, + "id": 5271, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5124, + "referencedDeclaration": 5257, "src": "1617:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5139, + "id": 5272, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1617:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1379,18 +1379,18 @@ "typeString": "uint256" } ], - "id": 5135, + "id": 5268, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "1597:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5140, + "id": 5273, "isConstant": false, "isLValue": false, "isPure": false, @@ -1401,7 +1401,7 @@ "src": "1597:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -1414,14 +1414,14 @@ "components": [ { "argumentTypes": null, - "id": 5142, + "id": 5275, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5132, + "referencedDeclaration": 5265, "src": "1647:5:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1430,11 +1430,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5144, + "id": 5277, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5134, + "referencedDeclaration": 5267, "src": "1669:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1449,18 +1449,18 @@ "typeString": "uint256" } ], - "id": 5143, + "id": 5276, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1654:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5145, + "id": 5278, "isConstant": false, "isLValue": false, "isPure": false, @@ -1473,12 +1473,12 @@ "src": "1654:23:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5146, + "id": 5279, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1487,24 +1487,24 @@ "nodeType": "TupleExpression", "src": "1646:32:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5130, - "id": 5147, + "functionReturnParameters": 5263, + "id": 5280, "nodeType": "Return", "src": "1639:39:17" } ] }, "documentation": { - "id": 5120, + "id": 5253, "nodeType": "StructuredDocumentation", "src": "1384:75:17", "text": "@dev Adds two exponentials, returning a new exponential." }, - "id": 5149, + "id": 5282, "implemented": true, "kind": "function", "modifiers": [], @@ -1512,33 +1512,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5125, + "id": 5258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5122, + "id": 5255, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1480:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5121, + "id": 5254, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1480:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1547,28 +1547,28 @@ }, { "constant": false, - "id": 5124, + "id": 5257, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1494:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5123, + "id": 5256, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1494:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1579,33 +1579,33 @@ "src": "1479:28:17" }, "returnParameters": { - "id": 5130, + "id": 5263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5127, + "id": 5260, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1531:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5126, + "id": 5259, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1531:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1614,28 +1614,28 @@ }, { "constant": false, - "id": 5129, + "id": 5262, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1542:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5128, + "id": 5261, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1542:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1645,7 +1645,7 @@ ], "src": "1530:23:17" }, - "scope": 6216, + "scope": 6349, "src": "1464:221:17", "stateMutability": "pure", "virtual": false, @@ -1653,40 +1653,40 @@ }, { "body": { - "id": 5178, + "id": 5311, "nodeType": "Block", "src": "1866:131:17", "statements": [ { "assignments": [ - 5162, - 5164 + 5295, + 5297 ], "declarations": [ { "constant": false, - "id": 5162, + "id": 5295, "mutability": "mutable", "name": "error", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5178, + "scope": 5311, "src": "1877:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5161, + "id": 5294, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1877:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1695,12 +1695,12 @@ }, { "constant": false, - "id": 5164, + "id": 5297, "mutability": "mutable", "name": "result", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5178, + "scope": 5311, "src": "1894:11:17", "stateVariable": false, "storageLocation": "default", @@ -1709,7 +1709,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5163, + "id": 5296, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1894:4:17", @@ -1722,7 +1722,7 @@ "visibility": "internal" } ], - "id": 5171, + "id": 5304, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1730,25 +1730,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5166, + "id": 5299, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5152, + "referencedDeclaration": 5285, "src": "1917:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5167, + "id": 5300, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1917:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1759,25 +1759,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5168, + "id": 5301, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5154, + "referencedDeclaration": 5287, "src": "1929:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5169, + "id": 5302, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1929:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1796,18 +1796,18 @@ "typeString": "uint256" } ], - "id": 5165, + "id": 5298, "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4956, + "referencedDeclaration": 5089, "src": "1909:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5170, + "id": 5303, "isConstant": false, "isLValue": false, "isPure": false, @@ -1818,7 +1818,7 @@ "src": "1909:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -1831,14 +1831,14 @@ "components": [ { "argumentTypes": null, - "id": 5172, + "id": 5305, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, + "referencedDeclaration": 5295, "src": "1959:5:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -1847,11 +1847,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5174, + "id": 5307, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5164, + "referencedDeclaration": 5297, "src": "1981:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,18 +1866,18 @@ "typeString": "uint256" } ], - "id": 5173, + "id": 5306, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1966:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5175, + "id": 5308, "isConstant": false, "isLValue": false, "isPure": false, @@ -1890,12 +1890,12 @@ "src": "1966:23:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5176, + "id": 5309, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1904,24 +1904,24 @@ "nodeType": "TupleExpression", "src": "1958:32:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5160, - "id": 5177, + "functionReturnParameters": 5293, + "id": 5310, "nodeType": "Return", "src": "1951:39:17" } ] }, "documentation": { - "id": 5150, + "id": 5283, "nodeType": "StructuredDocumentation", "src": "1691:80:17", "text": "@dev Subtracts two exponentials, returning a new exponential." }, - "id": 5179, + "id": 5312, "implemented": true, "kind": "function", "modifiers": [], @@ -1929,33 +1929,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5155, + "id": 5288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5152, + "id": 5285, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1792:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5151, + "id": 5284, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1792:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1964,28 +1964,28 @@ }, { "constant": false, - "id": 5154, + "id": 5287, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1806:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5153, + "id": 5286, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1806:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -1996,33 +1996,33 @@ "src": "1791:28:17" }, "returnParameters": { - "id": 5160, + "id": 5293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5157, + "id": 5290, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1843:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5156, + "id": 5289, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1843:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2031,28 +2031,28 @@ }, { "constant": false, - "id": 5159, + "id": 5292, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1854:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5158, + "id": 5291, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1854:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -2062,7 +2062,7 @@ ], "src": "1842:23:17" }, - "scope": 6216, + "scope": 6349, "src": "1776:221:17", "stateMutability": "pure", "virtual": false, @@ -2070,40 +2070,40 @@ }, { "body": { - "id": 5220, + "id": 5353, "nodeType": "Block", "src": "2173:254:17", "statements": [ { "assignments": [ - 5192, - 5194 + 5325, + 5327 ], "declarations": [ { "constant": false, - "id": 5192, + "id": 5325, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5220, + "scope": 5353, "src": "2184:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5191, + "id": 5324, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2184:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2112,12 +2112,12 @@ }, { "constant": false, - "id": 5194, + "id": 5327, "mutability": "mutable", "name": "scaledMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5220, + "scope": 5353, "src": "2200:19:17", "stateVariable": false, "storageLocation": "default", @@ -2126,7 +2126,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5193, + "id": 5326, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2200:4:17", @@ -2139,7 +2139,7 @@ "visibility": "internal" } ], - "id": 5200, + "id": 5333, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2147,25 +2147,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5196, + "id": 5329, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5182, + "referencedDeclaration": 5315, "src": "2231:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5197, + "id": 5330, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "2231:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2174,11 +2174,11 @@ }, { "argumentTypes": null, - "id": 5198, + "id": 5331, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5317, "src": "2243:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2197,18 +2197,18 @@ "typeString": "uint256" } ], - "id": 5195, + "id": 5328, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "2223:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5199, + "id": 5332, "isConstant": false, "isLValue": false, "isPure": false, @@ -2219,7 +2219,7 @@ "src": "2223:27:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -2230,24 +2230,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5204, + "id": 5337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5201, + "id": 5334, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5325, "src": "2264:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2257,18 +2257,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5202, + "id": 5335, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2272:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5203, + "id": 5336, "isConstant": false, "isLValue": false, "isPure": true, @@ -2278,7 +2278,7 @@ "referencedDeclaration": null, "src": "2272:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2289,11 +2289,11 @@ } }, "falseBody": null, - "id": 5212, + "id": 5345, "nodeType": "IfStatement", "src": "2260:90:17", "trueBody": { - "id": 5211, + "id": 5344, "nodeType": "Block", "src": "2292:58:17", "statements": [ @@ -2303,14 +2303,14 @@ "components": [ { "argumentTypes": null, - "id": 5205, + "id": 5338, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5325, "src": "2314:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2320,7 +2320,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5207, + "id": 5340, "isConstant": false, "isLValue": false, "isPure": true, @@ -2343,18 +2343,18 @@ "typeString": "int_const 0" } ], - "id": 5206, + "id": 5339, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2320:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5208, + "id": 5341, "isConstant": false, "isLValue": false, "isPure": true, @@ -2367,12 +2367,12 @@ "src": "2320:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5209, + "id": 5342, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2381,12 +2381,12 @@ "nodeType": "TupleExpression", "src": "2313:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5190, - "id": 5210, + "functionReturnParameters": 5323, + "id": 5343, "nodeType": "Return", "src": "2306:33:17" } @@ -2401,18 +2401,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5213, + "id": 5346, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2368:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5214, + "id": 5347, "isConstant": false, "isLValue": false, "isPure": true, @@ -2422,7 +2422,7 @@ "referencedDeclaration": null, "src": "2368:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2431,11 +2431,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5216, + "id": 5349, "name": "scaledMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5194, + "referencedDeclaration": 5327, "src": "2403:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2450,18 +2450,18 @@ "typeString": "uint256" } ], - "id": 5215, + "id": 5348, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2388:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5217, + "id": 5350, "isConstant": false, "isLValue": false, "isPure": false, @@ -2474,12 +2474,12 @@ "src": "2388:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5218, + "id": 5351, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2488,24 +2488,24 @@ "nodeType": "TupleExpression", "src": "2367:53:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5190, - "id": 5219, + "functionReturnParameters": 5323, + "id": 5352, "nodeType": "Return", "src": "2360:60:17" } ] }, "documentation": { - "id": 5180, + "id": 5313, "nodeType": "StructuredDocumentation", "src": "2003:73:17", "text": "@dev Multiply an Exp by a scalar, returning a new Exp." }, - "id": 5221, + "id": 5354, "implemented": true, "kind": "function", "modifiers": [], @@ -2513,33 +2513,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5185, + "id": 5318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5182, + "id": 5315, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2100:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5181, + "id": 5314, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2100:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -2548,12 +2548,12 @@ }, { "constant": false, - "id": 5184, + "id": 5317, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2114:11:17", "stateVariable": false, "storageLocation": "default", @@ -2562,7 +2562,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5183, + "id": 5316, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2114:4:17", @@ -2578,33 +2578,33 @@ "src": "2099:27:17" }, "returnParameters": { - "id": 5190, + "id": 5323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5187, + "id": 5320, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2150:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5186, + "id": 5319, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2150:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2613,28 +2613,28 @@ }, { "constant": false, - "id": 5189, + "id": 5322, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2161:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5188, + "id": 5321, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2161:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -2644,7 +2644,7 @@ ], "src": "2149:23:17" }, - "scope": 6216, + "scope": 6349, "src": "2081:346:17", "stateMutability": "pure", "virtual": false, @@ -2652,40 +2652,40 @@ }, { "body": { - "id": 5259, + "id": 5392, "nodeType": "Block", "src": "2629:212:17", "statements": [ { "assignments": [ - 5234, - 5236 + 5367, + 5369 ], "declarations": [ { "constant": false, - "id": 5234, + "id": 5367, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5259, + "scope": 5392, "src": "2640:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5233, + "id": 5366, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2640:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2694,28 +2694,28 @@ }, { "constant": false, - "id": 5236, + "id": 5369, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5259, + "scope": 5392, "src": "2655:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5235, + "id": 5368, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2655:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -2723,30 +2723,30 @@ "visibility": "internal" } ], - "id": 5241, + "id": 5374, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5238, + "id": 5371, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5224, + "referencedDeclaration": 5357, "src": "2687:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5239, + "id": 5372, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5226, + "referencedDeclaration": 5359, "src": "2690:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2757,7 +2757,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -2765,18 +2765,18 @@ "typeString": "uint256" } ], - "id": 5237, + "id": 5370, "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, + "referencedDeclaration": 5354, "src": "2677:9:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5240, + "id": 5373, "isConstant": false, "isLValue": false, "isPure": false, @@ -2787,7 +2787,7 @@ "src": "2677:20:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -2798,24 +2798,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5245, + "id": 5378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5242, + "id": 5375, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5234, + "referencedDeclaration": 5367, "src": "2711:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2825,18 +2825,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5243, + "id": 5376, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2718:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5244, + "id": 5377, "isConstant": false, "isLValue": false, "isPure": true, @@ -2846,7 +2846,7 @@ "referencedDeclaration": null, "src": "2718:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2857,11 +2857,11 @@ } }, "falseBody": null, - "id": 5251, + "id": 5384, "nodeType": "IfStatement", "src": "2707:71:17", "trueBody": { - "id": 5250, + "id": 5383, "nodeType": "Block", "src": "2738:40:17", "statements": [ @@ -2871,21 +2871,21 @@ "components": [ { "argumentTypes": null, - "id": 5246, + "id": 5379, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5234, + "referencedDeclaration": 5367, "src": "2760:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5247, + "id": 5380, "isConstant": false, "isLValue": false, "isPure": true, @@ -2901,7 +2901,7 @@ "value": "0" } ], - "id": 5248, + "id": 5381, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2910,12 +2910,12 @@ "nodeType": "TupleExpression", "src": "2759:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5232, - "id": 5249, + "functionReturnParameters": 5365, + "id": 5382, "nodeType": "Return", "src": "2752:15:17" } @@ -2930,18 +2930,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5252, + "id": 5385, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2796:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5253, + "id": 5386, "isConstant": false, "isLValue": false, "isPure": true, @@ -2951,7 +2951,7 @@ "referencedDeclaration": null, "src": "2796:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -2960,14 +2960,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5255, + "id": 5388, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5236, + "referencedDeclaration": 5369, "src": "2825:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -2975,22 +2975,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5254, + "id": 5387, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "2816:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5256, + "id": 5389, "isConstant": false, "isLValue": false, "isPure": false, @@ -3006,7 +3006,7 @@ } } ], - "id": 5257, + "id": 5390, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3015,24 +3015,24 @@ "nodeType": "TupleExpression", "src": "2795:39:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5232, - "id": 5258, + "functionReturnParameters": 5365, + "id": 5391, "nodeType": "Return", "src": "2788:46:17" } ] }, "documentation": { - "id": 5222, + "id": 5355, "nodeType": "StructuredDocumentation", "src": "2433:97:17", "text": "@dev Multiply an Exp by a scalar, then truncate to return an unsigned integer." }, - "id": 5260, + "id": 5393, "implemented": true, "kind": "function", "modifiers": [], @@ -3040,33 +3040,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5227, + "id": 5360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5224, + "id": 5357, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2562:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5223, + "id": 5356, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2562:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -3075,12 +3075,12 @@ }, { "constant": false, - "id": 5226, + "id": 5359, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2576:11:17", "stateVariable": false, "storageLocation": "default", @@ -3089,7 +3089,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5225, + "id": 5358, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2576:4:17", @@ -3105,33 +3105,33 @@ "src": "2561:27:17" }, "returnParameters": { - "id": 5232, + "id": 5365, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5229, + "id": 5362, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2612:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5228, + "id": 5361, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2612:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3140,12 +3140,12 @@ }, { "constant": false, - "id": 5231, + "id": 5364, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2623:4:17", "stateVariable": false, "storageLocation": "default", @@ -3154,7 +3154,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5230, + "id": 5363, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2623:4:17", @@ -3169,7 +3169,7 @@ ], "src": "2611:17:17" }, - "scope": 6216, + "scope": 6349, "src": "2535:306:17", "stateMutability": "pure", "virtual": false, @@ -3177,40 +3177,40 @@ }, { "body": { - "id": 5300, + "id": 5433, "nodeType": "Block", "src": "3095:207:17", "statements": [ { "assignments": [ - 5275, - 5277 + 5408, + 5410 ], "declarations": [ { "constant": false, - "id": 5275, + "id": 5408, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5300, + "scope": 5433, "src": "3106:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5274, + "id": 5407, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3106:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3219,28 +3219,28 @@ }, { "constant": false, - "id": 5277, + "id": 5410, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5300, + "scope": 5433, "src": "3121:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5276, + "id": 5409, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3121:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -3248,30 +3248,30 @@ "visibility": "internal" } ], - "id": 5282, + "id": 5415, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5279, + "id": 5412, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5263, + "referencedDeclaration": 5396, "src": "3153:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5280, + "id": 5413, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5265, + "referencedDeclaration": 5398, "src": "3156:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3282,7 +3282,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -3290,18 +3290,18 @@ "typeString": "uint256" } ], - "id": 5278, + "id": 5411, "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, + "referencedDeclaration": 5354, "src": "3143:9:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5281, + "id": 5414, "isConstant": false, "isLValue": false, "isPure": false, @@ -3312,7 +3312,7 @@ "src": "3143:20:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -3323,24 +3323,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5286, + "id": 5419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5283, + "id": 5416, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5275, + "referencedDeclaration": 5408, "src": "3177:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3350,18 +3350,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5284, + "id": 5417, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3184:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5285, + "id": 5418, "isConstant": false, "isLValue": false, "isPure": true, @@ -3371,7 +3371,7 @@ "referencedDeclaration": null, "src": "3184:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3382,11 +3382,11 @@ } }, "falseBody": null, - "id": 5292, + "id": 5425, "nodeType": "IfStatement", "src": "3173:71:17", "trueBody": { - "id": 5291, + "id": 5424, "nodeType": "Block", "src": "3204:40:17", "statements": [ @@ -3396,21 +3396,21 @@ "components": [ { "argumentTypes": null, - "id": 5287, + "id": 5420, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5275, + "referencedDeclaration": 5408, "src": "3226:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5288, + "id": 5421, "isConstant": false, "isLValue": false, "isPure": true, @@ -3426,7 +3426,7 @@ "value": "0" } ], - "id": 5289, + "id": 5422, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3435,12 +3435,12 @@ "nodeType": "TupleExpression", "src": "3225:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5273, - "id": 5290, + "functionReturnParameters": 5406, + "id": 5423, "nodeType": "Return", "src": "3218:15:17" } @@ -3456,14 +3456,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5295, + "id": 5428, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, + "referencedDeclaration": 5410, "src": "3278:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -3471,22 +3471,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5294, + "id": 5427, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "3269:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5296, + "id": 5429, "isConstant": false, "isLValue": false, "isPure": false, @@ -3503,11 +3503,11 @@ }, { "argumentTypes": null, - "id": 5297, + "id": 5430, "name": "addend", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5267, + "referencedDeclaration": 5400, "src": "3288:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3526,18 +3526,18 @@ "typeString": "uint256" } ], - "id": 5293, + "id": 5426, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "3261:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5298, + "id": 5431, "isConstant": false, "isLValue": false, "isPure": false, @@ -3548,24 +3548,24 @@ "src": "3261:34:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5273, - "id": 5299, + "functionReturnParameters": 5406, + "id": 5432, "nodeType": "Return", "src": "3254:41:17" } ] }, "documentation": { - "id": 5261, + "id": 5394, "nodeType": "StructuredDocumentation", "src": "2847:129:17", "text": "@dev Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer." }, - "id": 5301, + "id": 5434, "implemented": true, "kind": "function", "modifiers": [], @@ -3573,33 +3573,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5268, + "id": 5401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5263, + "id": 5396, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3015:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5262, + "id": 5395, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3015:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -3608,12 +3608,12 @@ }, { "constant": false, - "id": 5265, + "id": 5398, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3029:11:17", "stateVariable": false, "storageLocation": "default", @@ -3622,7 +3622,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5264, + "id": 5397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3029:4:17", @@ -3636,12 +3636,12 @@ }, { "constant": false, - "id": 5267, + "id": 5400, "mutability": "mutable", "name": "addend", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3042:11:17", "stateVariable": false, "storageLocation": "default", @@ -3650,7 +3650,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5266, + "id": 5399, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3042:4:17", @@ -3666,33 +3666,33 @@ "src": "3014:40:17" }, "returnParameters": { - "id": 5273, + "id": 5406, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5270, + "id": 5403, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3078:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5269, + "id": 5402, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3078:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3701,12 +3701,12 @@ }, { "constant": false, - "id": 5272, + "id": 5405, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3089:4:17", "stateVariable": false, "storageLocation": "default", @@ -3715,7 +3715,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5271, + "id": 5404, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3089:4:17", @@ -3730,7 +3730,7 @@ ], "src": "3077:17:17" }, - "scope": 6216, + "scope": 6349, "src": "2981:321:17", "stateMutability": "pure", "virtual": false, @@ -3738,40 +3738,40 @@ }, { "body": { - "id": 5342, + "id": 5475, "nodeType": "Block", "src": "3476:258:17", "statements": [ { "assignments": [ - 5314, - 5316 + 5447, + 5449 ], "declarations": [ { "constant": false, - "id": 5314, + "id": 5447, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5342, + "scope": 5475, "src": "3487:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5313, + "id": 5446, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3487:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3780,12 +3780,12 @@ }, { "constant": false, - "id": 5316, + "id": 5449, "mutability": "mutable", "name": "descaledMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5342, + "scope": 5475, "src": "3503:21:17", "stateVariable": false, "storageLocation": "default", @@ -3794,7 +3794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5315, + "id": 5448, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3503:4:17", @@ -3807,7 +3807,7 @@ "visibility": "internal" } ], - "id": 5322, + "id": 5455, "initialValue": { "argumentTypes": null, "arguments": [ @@ -3815,25 +3815,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5318, + "id": 5451, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5304, + "referencedDeclaration": 5437, "src": "3536:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5319, + "id": 5452, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "3536:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3842,11 +3842,11 @@ }, { "argumentTypes": null, - "id": 5320, + "id": 5453, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5306, + "referencedDeclaration": 5439, "src": "3548:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3865,18 +3865,18 @@ "typeString": "uint256" } ], - "id": 5317, + "id": 5450, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "3528:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5321, + "id": 5454, "isConstant": false, "isLValue": false, "isPure": false, @@ -3887,7 +3887,7 @@ "src": "3528:27:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -3898,24 +3898,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5326, + "id": 5459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5323, + "id": 5456, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, + "referencedDeclaration": 5447, "src": "3569:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3925,18 +3925,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5324, + "id": 5457, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3577:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5325, + "id": 5458, "isConstant": false, "isLValue": false, "isPure": true, @@ -3946,7 +3946,7 @@ "referencedDeclaration": null, "src": "3577:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3957,11 +3957,11 @@ } }, "falseBody": null, - "id": 5334, + "id": 5467, "nodeType": "IfStatement", "src": "3565:90:17", "trueBody": { - "id": 5333, + "id": 5466, "nodeType": "Block", "src": "3597:58:17", "statements": [ @@ -3971,14 +3971,14 @@ "components": [ { "argumentTypes": null, - "id": 5327, + "id": 5460, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, + "referencedDeclaration": 5447, "src": "3619:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -3988,7 +3988,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5329, + "id": 5462, "isConstant": false, "isLValue": false, "isPure": true, @@ -4011,18 +4011,18 @@ "typeString": "int_const 0" } ], - "id": 5328, + "id": 5461, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3625:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5330, + "id": 5463, "isConstant": false, "isLValue": false, "isPure": true, @@ -4035,12 +4035,12 @@ "src": "3625:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5331, + "id": 5464, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4049,12 +4049,12 @@ "nodeType": "TupleExpression", "src": "3618:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5312, - "id": 5332, + "functionReturnParameters": 5445, + "id": 5465, "nodeType": "Return", "src": "3611:33:17" } @@ -4069,18 +4069,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5335, + "id": 5468, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3673:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5336, + "id": 5469, "isConstant": false, "isLValue": false, "isPure": true, @@ -4090,7 +4090,7 @@ "referencedDeclaration": null, "src": "3673:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4099,11 +4099,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5338, + "id": 5471, "name": "descaledMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5316, + "referencedDeclaration": 5449, "src": "3708:16:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4118,18 +4118,18 @@ "typeString": "uint256" } ], - "id": 5337, + "id": 5470, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3693:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5339, + "id": 5472, "isConstant": false, "isLValue": false, "isPure": false, @@ -4142,12 +4142,12 @@ "src": "3693:33:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5340, + "id": 5473, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4156,24 +4156,24 @@ "nodeType": "TupleExpression", "src": "3672:55:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5312, - "id": 5341, + "functionReturnParameters": 5445, + "id": 5474, "nodeType": "Return", "src": "3665:62:17" } ] }, "documentation": { - "id": 5302, + "id": 5435, "nodeType": "StructuredDocumentation", "src": "3308:71:17", "text": "@dev Divide an Exp by a scalar, returning a new Exp." }, - "id": 5343, + "id": 5476, "implemented": true, "kind": "function", "modifiers": [], @@ -4181,33 +4181,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5307, + "id": 5440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5304, + "id": 5437, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3403:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5303, + "id": 5436, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3403:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4216,12 +4216,12 @@ }, { "constant": false, - "id": 5306, + "id": 5439, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3417:11:17", "stateVariable": false, "storageLocation": "default", @@ -4230,7 +4230,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5305, + "id": 5438, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3417:4:17", @@ -4246,33 +4246,33 @@ "src": "3402:27:17" }, "returnParameters": { - "id": 5312, + "id": 5445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5309, + "id": 5442, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3453:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5308, + "id": 5441, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3453:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4281,28 +4281,28 @@ }, { "constant": false, - "id": 5311, + "id": 5444, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3464:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5310, + "id": 5443, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3464:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4312,7 +4312,7 @@ ], "src": "3452:23:17" }, - "scope": 6216, + "scope": 6349, "src": "3384:350:17", "stateMutability": "pure", "virtual": false, @@ -4320,40 +4320,40 @@ }, { "body": { - "id": 5382, + "id": 5515, "nodeType": "Block", "src": "3919:502:17", "statements": [ { "assignments": [ - 5356, - 5358 + 5489, + 5491 ], "declarations": [ { "constant": false, - "id": 5356, + "id": 5489, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5382, + "scope": 5515, "src": "4204:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5355, + "id": 5488, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4204:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4362,12 +4362,12 @@ }, { "constant": false, - "id": 5358, + "id": 5491, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5382, + "scope": 5515, "src": "4220:14:17", "stateVariable": false, "storageLocation": "default", @@ -4376,7 +4376,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5357, + "id": 5490, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4220:4:17", @@ -4389,17 +4389,17 @@ "visibility": "internal" } ], - "id": 5363, + "id": 5496, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5360, + "id": 5493, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "4246:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4408,11 +4408,11 @@ }, { "argumentTypes": null, - "id": 5361, + "id": 5494, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5346, + "referencedDeclaration": 5479, "src": "4256:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4431,18 +4431,18 @@ "typeString": "uint256" } ], - "id": 5359, + "id": 5492, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "4238:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5362, + "id": 5495, "isConstant": false, "isLValue": false, "isPure": false, @@ -4453,7 +4453,7 @@ "src": "4238:25:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -4464,24 +4464,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5367, + "id": 5500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5364, + "id": 5497, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, + "referencedDeclaration": 5489, "src": "4277:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4491,18 +4491,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5365, + "id": 5498, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4285:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5366, + "id": 5499, "isConstant": false, "isLValue": false, "isPure": true, @@ -4512,7 +4512,7 @@ "referencedDeclaration": null, "src": "4285:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4523,11 +4523,11 @@ } }, "falseBody": null, - "id": 5375, + "id": 5508, "nodeType": "IfStatement", "src": "4273:90:17", "trueBody": { - "id": 5374, + "id": 5507, "nodeType": "Block", "src": "4305:58:17", "statements": [ @@ -4537,14 +4537,14 @@ "components": [ { "argumentTypes": null, - "id": 5368, + "id": 5501, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, + "referencedDeclaration": 5489, "src": "4327:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4554,7 +4554,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5370, + "id": 5503, "isConstant": false, "isLValue": false, "isPure": true, @@ -4577,18 +4577,18 @@ "typeString": "int_const 0" } ], - "id": 5369, + "id": 5502, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4333:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5371, + "id": 5504, "isConstant": false, "isLValue": false, "isPure": true, @@ -4601,12 +4601,12 @@ "src": "4333:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5372, + "id": 5505, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4615,12 +4615,12 @@ "nodeType": "TupleExpression", "src": "4326:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5354, - "id": 5373, + "functionReturnParameters": 5487, + "id": 5506, "nodeType": "Return", "src": "4319:33:17" } @@ -4633,11 +4633,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5377, + "id": 5510, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5358, + "referencedDeclaration": 5491, "src": "4386:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4648,25 +4648,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5378, + "id": 5511, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5348, + "referencedDeclaration": 5481, "src": "4397:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5379, + "id": 5512, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "4397:16:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4685,18 +4685,18 @@ "typeString": "uint256" } ], - "id": 5376, + "id": 5509, "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5119, + "referencedDeclaration": 5252, "src": "4379:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5380, + "id": 5513, "isConstant": false, "isLValue": false, "isPure": false, @@ -4707,24 +4707,24 @@ "src": "4379:35:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5354, - "id": 5381, + "functionReturnParameters": 5487, + "id": 5514, "nodeType": "Return", "src": "4372:42:17" } ] }, "documentation": { - "id": 5344, + "id": 5477, "nodeType": "StructuredDocumentation", "src": "3740:71:17", "text": "@dev Divide a scalar by an Exp, returning a new Exp." }, - "id": 5383, + "id": 5516, "implemented": true, "kind": "function", "modifiers": [], @@ -4732,17 +4732,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5349, + "id": 5482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5346, + "id": 5479, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3840:11:17", "stateVariable": false, "storageLocation": "default", @@ -4751,7 +4751,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5345, + "id": 5478, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3840:4:17", @@ -4765,28 +4765,28 @@ }, { "constant": false, - "id": 5348, + "id": 5481, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3853:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5347, + "id": 5480, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3853:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4797,33 +4797,33 @@ "src": "3839:33:17" }, "returnParameters": { - "id": 5354, + "id": 5487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5351, + "id": 5484, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3896:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5350, + "id": 5483, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3896:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4832,28 +4832,28 @@ }, { "constant": false, - "id": 5353, + "id": 5486, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3907:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5352, + "id": 5485, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3907:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4863,7 +4863,7 @@ ], "src": "3895:23:17" }, - "scope": 6216, + "scope": 6349, "src": "3816:605:17", "stateMutability": "pure", "virtual": false, @@ -4871,40 +4871,40 @@ }, { "body": { - "id": 5421, + "id": 5554, "nodeType": "Block", "src": "4632:225:17", "statements": [ { "assignments": [ - 5396, - 5398 + 5529, + 5531 ], "declarations": [ { "constant": false, - "id": 5396, + "id": 5529, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5421, + "scope": 5554, "src": "4643:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5395, + "id": 5528, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4643:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -4913,28 +4913,28 @@ }, { "constant": false, - "id": 5398, + "id": 5531, "mutability": "mutable", "name": "fraction", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5421, + "scope": 5554, "src": "4658:19:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5397, + "id": 5530, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4658:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -4942,17 +4942,17 @@ "visibility": "internal" } ], - "id": 5403, + "id": 5536, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5400, + "id": 5533, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5386, + "referencedDeclaration": 5519, "src": "4696:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4961,14 +4961,14 @@ }, { "argumentTypes": null, - "id": 5401, + "id": 5534, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5388, + "referencedDeclaration": 5521, "src": "4704:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -4980,22 +4980,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5399, + "id": 5532, "name": "divScalarByExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, + "referencedDeclaration": 5516, "src": "4681:14:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5402, + "id": 5535, "isConstant": false, "isLValue": false, "isPure": false, @@ -5006,7 +5006,7 @@ "src": "4681:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -5017,24 +5017,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5407, + "id": 5540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5404, + "id": 5537, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5396, + "referencedDeclaration": 5529, "src": "4726:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5044,18 +5044,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5405, + "id": 5538, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4733:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5406, + "id": 5539, "isConstant": false, "isLValue": false, "isPure": true, @@ -5065,7 +5065,7 @@ "referencedDeclaration": null, "src": "4733:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5076,11 +5076,11 @@ } }, "falseBody": null, - "id": 5413, + "id": 5546, "nodeType": "IfStatement", "src": "4722:71:17", "trueBody": { - "id": 5412, + "id": 5545, "nodeType": "Block", "src": "4753:40:17", "statements": [ @@ -5090,21 +5090,21 @@ "components": [ { "argumentTypes": null, - "id": 5408, + "id": 5541, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5396, + "referencedDeclaration": 5529, "src": "4775:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5409, + "id": 5542, "isConstant": false, "isLValue": false, "isPure": true, @@ -5120,7 +5120,7 @@ "value": "0" } ], - "id": 5410, + "id": 5543, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5129,12 +5129,12 @@ "nodeType": "TupleExpression", "src": "4774:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5394, - "id": 5411, + "functionReturnParameters": 5527, + "id": 5544, "nodeType": "Return", "src": "4767:15:17" } @@ -5149,18 +5149,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5414, + "id": 5547, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4811:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5415, + "id": 5548, "isConstant": false, "isLValue": false, "isPure": true, @@ -5170,7 +5170,7 @@ "referencedDeclaration": null, "src": "4811:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5179,14 +5179,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5417, + "id": 5550, "name": "fraction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5398, + "referencedDeclaration": 5531, "src": "4840:8:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -5194,22 +5194,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5416, + "id": 5549, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "4831:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5418, + "id": 5551, "isConstant": false, "isLValue": false, "isPure": false, @@ -5225,7 +5225,7 @@ } } ], - "id": 5419, + "id": 5552, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5234,24 +5234,24 @@ "nodeType": "TupleExpression", "src": "4810:40:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5394, - "id": 5420, + "functionReturnParameters": 5527, + "id": 5553, "nodeType": "Return", "src": "4803:47:17" } ] }, "documentation": { - "id": 5384, + "id": 5517, "nodeType": "StructuredDocumentation", "src": "4427:95:17", "text": "@dev Divide a scalar by an Exp, then truncate to return an unsigned integer." }, - "id": 5422, + "id": 5555, "implemented": true, "kind": "function", "modifiers": [], @@ -5259,17 +5259,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5389, + "id": 5522, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5386, + "id": 5519, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4559:11:17", "stateVariable": false, "storageLocation": "default", @@ -5278,7 +5278,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5385, + "id": 5518, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4559:4:17", @@ -5292,28 +5292,28 @@ }, { "constant": false, - "id": 5388, + "id": 5521, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4572:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5387, + "id": 5520, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4572:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -5324,33 +5324,33 @@ "src": "4558:33:17" }, "returnParameters": { - "id": 5394, + "id": 5527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5391, + "id": 5524, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4615:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5390, + "id": 5523, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4615:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5359,12 +5359,12 @@ }, { "constant": false, - "id": 5393, + "id": 5526, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4626:4:17", "stateVariable": false, "storageLocation": "default", @@ -5373,7 +5373,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5392, + "id": 5525, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4626:4:17", @@ -5388,7 +5388,7 @@ ], "src": "4614:17:17" }, - "scope": 6216, + "scope": 6349, "src": "4527:330:17", "stateMutability": "pure", "virtual": false, @@ -5396,40 +5396,40 @@ }, { "body": { - "id": 5501, + "id": 5634, "nodeType": "Block", "src": "5039:1026:17", "statements": [ { "assignments": [ - 5435, - 5437 + 5568, + 5570 ], "declarations": [ { "constant": false, - "id": 5435, + "id": 5568, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5051:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5434, + "id": 5567, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5051:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5438,12 +5438,12 @@ }, { "constant": false, - "id": 5437, + "id": 5570, "mutability": "mutable", "name": "doubleScaledProduct", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5067:24:17", "stateVariable": false, "storageLocation": "default", @@ -5452,7 +5452,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5436, + "id": 5569, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5067:4:17", @@ -5465,7 +5465,7 @@ "visibility": "internal" } ], - "id": 5444, + "id": 5577, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5473,25 +5473,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5439, + "id": 5572, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5425, + "referencedDeclaration": 5558, "src": "5103:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5440, + "id": 5573, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "5103:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5502,25 +5502,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5441, + "id": 5574, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5427, + "referencedDeclaration": 5560, "src": "5115:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5442, + "id": 5575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "5115:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5539,18 +5539,18 @@ "typeString": "uint256" } ], - "id": 5438, + "id": 5571, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "5095:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5443, + "id": 5576, "isConstant": false, "isLValue": false, "isPure": false, @@ -5561,7 +5561,7 @@ "src": "5095:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -5572,24 +5572,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5448, + "id": 5581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5445, + "id": 5578, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5435, + "referencedDeclaration": 5568, "src": "5140:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5599,18 +5599,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5446, + "id": 5579, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5148:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5447, + "id": 5580, "isConstant": false, "isLValue": false, "isPure": true, @@ -5620,7 +5620,7 @@ "referencedDeclaration": null, "src": "5148:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5631,11 +5631,11 @@ } }, "falseBody": null, - "id": 5456, + "id": 5589, "nodeType": "IfStatement", "src": "5136:90:17", "trueBody": { - "id": 5455, + "id": 5588, "nodeType": "Block", "src": "5168:58:17", "statements": [ @@ -5645,14 +5645,14 @@ "components": [ { "argumentTypes": null, - "id": 5449, + "id": 5582, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5435, + "referencedDeclaration": 5568, "src": "5190:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5662,7 +5662,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5451, + "id": 5584, "isConstant": false, "isLValue": false, "isPure": true, @@ -5685,18 +5685,18 @@ "typeString": "int_const 0" } ], - "id": 5450, + "id": 5583, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5196:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5452, + "id": 5585, "isConstant": false, "isLValue": false, "isPure": true, @@ -5709,12 +5709,12 @@ "src": "5196:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5453, + "id": 5586, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -5723,12 +5723,12 @@ "nodeType": "TupleExpression", "src": "5189:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5454, + "functionReturnParameters": 5566, + "id": 5587, "nodeType": "Return", "src": "5182:33:17" } @@ -5737,34 +5737,34 @@ }, { "assignments": [ - 5458, - 5460 + 5591, + 5593 ], "declarations": [ { "constant": false, - "id": 5458, + "id": 5591, "mutability": "mutable", "name": "err1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5538:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5457, + "id": 5590, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5538:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5773,12 +5773,12 @@ }, { "constant": false, - "id": 5460, + "id": 5593, "mutability": "mutable", "name": "doubleScaledProductWithHalfScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5554:37:17", "stateVariable": false, "storageLocation": "default", @@ -5787,7 +5787,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5459, + "id": 5592, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5554:4:17", @@ -5800,17 +5800,17 @@ "visibility": "internal" } ], - "id": 5465, + "id": 5598, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5462, + "id": 5595, "name": "halfExpScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5048, + "referencedDeclaration": 5181, "src": "5603:12:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5819,11 +5819,11 @@ }, { "argumentTypes": null, - "id": 5463, + "id": 5596, "name": "doubleScaledProduct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5437, + "referencedDeclaration": 5570, "src": "5617:19:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5842,18 +5842,18 @@ "typeString": "uint256" } ], - "id": 5461, + "id": 5594, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "5595:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5464, + "id": 5597, "isConstant": false, "isLValue": false, "isPure": false, @@ -5864,7 +5864,7 @@ "src": "5595:42:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -5875,24 +5875,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5469, + "id": 5602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5466, + "id": 5599, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5458, + "referencedDeclaration": 5591, "src": "5651:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5902,18 +5902,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5467, + "id": 5600, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5659:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5468, + "id": 5601, "isConstant": false, "isLValue": false, "isPure": true, @@ -5923,7 +5923,7 @@ "referencedDeclaration": null, "src": "5659:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5934,11 +5934,11 @@ } }, "falseBody": null, - "id": 5477, + "id": 5610, "nodeType": "IfStatement", "src": "5647:90:17", "trueBody": { - "id": 5476, + "id": 5609, "nodeType": "Block", "src": "5679:58:17", "statements": [ @@ -5948,14 +5948,14 @@ "components": [ { "argumentTypes": null, - "id": 5470, + "id": 5603, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5458, + "referencedDeclaration": 5591, "src": "5701:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -5965,7 +5965,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5472, + "id": 5605, "isConstant": false, "isLValue": false, "isPure": true, @@ -5988,18 +5988,18 @@ "typeString": "int_const 0" } ], - "id": 5471, + "id": 5604, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5707:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5473, + "id": 5606, "isConstant": false, "isLValue": false, "isPure": true, @@ -6012,12 +6012,12 @@ "src": "5707:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5474, + "id": 5607, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -6026,12 +6026,12 @@ "nodeType": "TupleExpression", "src": "5700:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5475, + "functionReturnParameters": 5566, + "id": 5608, "nodeType": "Return", "src": "5693:33:17" } @@ -6040,34 +6040,34 @@ }, { "assignments": [ - 5479, - 5481 + 5612, + 5614 ], "declarations": [ { "constant": false, - "id": 5479, + "id": 5612, "mutability": "mutable", "name": "err2", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5748:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5478, + "id": 5611, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5748:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6076,12 +6076,12 @@ }, { "constant": false, - "id": 5481, + "id": 5614, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5764:12:17", "stateVariable": false, "storageLocation": "default", @@ -6090,7 +6090,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5480, + "id": 5613, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5764:4:17", @@ -6103,17 +6103,17 @@ "visibility": "internal" } ], - "id": 5486, + "id": 5619, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5483, + "id": 5616, "name": "doubleScaledProductWithHalfScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5460, + "referencedDeclaration": 5593, "src": "5788:32:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6122,11 +6122,11 @@ }, { "argumentTypes": null, - "id": 5484, + "id": 5617, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "5822:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6145,18 +6145,18 @@ "typeString": "uint256" } ], - "id": 5482, + "id": 5615, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "5780:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5485, + "id": 5618, "isConstant": false, "isLValue": false, "isPure": false, @@ -6167,7 +6167,7 @@ "src": "5780:51:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -6181,24 +6181,24 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5491, + "id": 5624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5488, + "id": 5621, "name": "err2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5479, + "referencedDeclaration": 5612, "src": "5967:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6208,18 +6208,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5489, + "id": 5622, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5975:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5490, + "id": 5623, "isConstant": false, "isLValue": false, "isPure": true, @@ -6229,7 +6229,7 @@ "referencedDeclaration": null, "src": "5975:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6247,7 +6247,7 @@ "typeString": "bool" } ], - "id": 5487, + "id": 5620, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6258,7 +6258,7 @@ "typeString": "function (bool) pure" } }, - "id": 5492, + "id": 5625, "isConstant": false, "isLValue": false, "isPure": false, @@ -6273,7 +6273,7 @@ "typeString": "tuple()" } }, - "id": 5493, + "id": 5626, "nodeType": "ExpressionStatement", "src": "5960:34:17" }, @@ -6285,18 +6285,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5494, + "id": 5627, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6013:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5495, + "id": 5628, "isConstant": false, "isLValue": false, "isPure": true, @@ -6306,7 +6306,7 @@ "referencedDeclaration": null, "src": "6013:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6315,11 +6315,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5497, + "id": 5630, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5481, + "referencedDeclaration": 5614, "src": "6048:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6334,18 +6334,18 @@ "typeString": "uint256" } ], - "id": 5496, + "id": 5629, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6033:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5498, + "id": 5631, "isConstant": false, "isLValue": false, "isPure": false, @@ -6358,12 +6358,12 @@ "src": "6033:24:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5499, + "id": 5632, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -6372,24 +6372,24 @@ "nodeType": "TupleExpression", "src": "6012:46:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5500, + "functionReturnParameters": 5566, + "id": 5633, "nodeType": "Return", "src": "6005:53:17" } ] }, "documentation": { - "id": 5423, + "id": 5556, "nodeType": "StructuredDocumentation", "src": "4863:81:17", "text": "@dev Multiplies two exponentials, returning a new exponential." }, - "id": 5502, + "id": 5635, "implemented": true, "kind": "function", "modifiers": [], @@ -6397,33 +6397,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5428, + "id": 5561, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5425, + "id": 5558, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "4965:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5424, + "id": 5557, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4965:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6432,28 +6432,28 @@ }, { "constant": false, - "id": 5427, + "id": 5560, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "4979:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5426, + "id": 5559, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4979:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6464,33 +6464,33 @@ "src": "4964:28:17" }, "returnParameters": { - "id": 5433, + "id": 5566, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5430, + "id": 5563, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "5016:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5429, + "id": 5562, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5016:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6499,28 +6499,28 @@ }, { "constant": false, - "id": 5432, + "id": 5565, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "5027:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5431, + "id": 5564, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5027:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6530,7 +6530,7 @@ ], "src": "5015:23:17" }, - "scope": 6216, + "scope": 6349, "src": "4949:1116:17", "stateMutability": "pure", "virtual": false, @@ -6538,7 +6538,7 @@ }, { "body": { - "id": 5523, + "id": 5656, "nodeType": "Block", "src": "6257:70:17", "statements": [ @@ -6551,11 +6551,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5516, + "id": 5649, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5505, + "referencedDeclaration": 5638, "src": "6296:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6570,18 +6570,18 @@ "typeString": "uint256" } ], - "id": 5515, + "id": 5648, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6281:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5517, + "id": 5650, "isConstant": false, "isLValue": false, "isPure": false, @@ -6594,7 +6594,7 @@ "src": "6281:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -6603,11 +6603,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5519, + "id": 5652, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5507, + "referencedDeclaration": 5640, "src": "6316:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6622,18 +6622,18 @@ "typeString": "uint256" } ], - "id": 5518, + "id": 5651, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6301:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5520, + "id": 5653, "isConstant": false, "isLValue": false, "isPure": false, @@ -6646,7 +6646,7 @@ "src": "6301:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -6654,29 +6654,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5514, + "id": 5647, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6274:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5521, + "id": 5654, "isConstant": false, "isLValue": false, "isPure": false, @@ -6687,24 +6687,24 @@ "src": "6274:46:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5513, - "id": 5522, + "functionReturnParameters": 5646, + "id": 5655, "nodeType": "Return", "src": "6267:53:17" } ] }, "documentation": { - "id": 5503, + "id": 5636, "nodeType": "StructuredDocumentation", "src": "6071:103:17", "text": "@dev Multiplies two exponentials given their mantissas, returning a new exponential." }, - "id": 5524, + "id": 5657, "implemented": true, "kind": "function", "modifiers": [], @@ -6712,17 +6712,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5508, + "id": 5641, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5505, + "id": 5638, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6195:6:17", "stateVariable": false, "storageLocation": "default", @@ -6731,7 +6731,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5504, + "id": 5637, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6195:4:17", @@ -6745,12 +6745,12 @@ }, { "constant": false, - "id": 5507, + "id": 5640, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6203:6:17", "stateVariable": false, "storageLocation": "default", @@ -6759,7 +6759,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5506, + "id": 5639, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6203:4:17", @@ -6775,33 +6775,33 @@ "src": "6194:16:17" }, "returnParameters": { - "id": 5513, + "id": 5646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5510, + "id": 5643, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6234:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5509, + "id": 5642, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6234:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6810,28 +6810,28 @@ }, { "constant": false, - "id": 5512, + "id": 5645, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6245:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5511, + "id": 5644, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6245:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6841,7 +6841,7 @@ ], "src": "6233:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6179:148:17", "stateMutability": "pure", "virtual": false, @@ -6849,40 +6849,40 @@ }, { "body": { - "id": 5562, + "id": 5695, "nodeType": "Block", "src": "6526:173:17", "statements": [ { "assignments": [ - 5539, - 5541 + 5672, + 5674 ], "declarations": [ { "constant": false, - "id": 5539, + "id": 5672, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5562, + "scope": 5695, "src": "6537:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5538, + "id": 5671, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6537:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -6891,28 +6891,28 @@ }, { "constant": false, - "id": 5541, + "id": 5674, "mutability": "mutable", "name": "ab", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5562, + "scope": 5695, "src": "6552:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5540, + "id": 5673, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6552:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -6920,33 +6920,33 @@ "visibility": "internal" } ], - "id": 5546, + "id": 5679, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5543, + "id": 5676, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5527, + "referencedDeclaration": 5660, "src": "6576:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5544, + "id": 5677, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5529, + "referencedDeclaration": 5662, "src": "6579:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -6954,29 +6954,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5542, + "id": 5675, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6569:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5545, + "id": 5678, "isConstant": false, "isLValue": false, "isPure": false, @@ -6987,7 +6987,7 @@ "src": "6569:12:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -6998,24 +6998,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5550, + "id": 5683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5547, + "id": 5680, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5539, + "referencedDeclaration": 5672, "src": "6595:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7025,18 +7025,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5548, + "id": 5681, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6602:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5549, + "id": 5682, "isConstant": false, "isLValue": false, "isPure": true, @@ -7046,7 +7046,7 @@ "referencedDeclaration": null, "src": "6602:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7057,11 +7057,11 @@ } }, "falseBody": null, - "id": 5556, + "id": 5689, "nodeType": "IfStatement", "src": "6591:72:17", "trueBody": { - "id": 5555, + "id": 5688, "nodeType": "Block", "src": "6622:41:17", "statements": [ @@ -7071,32 +7071,32 @@ "components": [ { "argumentTypes": null, - "id": 5551, + "id": 5684, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5539, + "referencedDeclaration": 5672, "src": "6644:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 5552, + "id": 5685, "name": "ab", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, + "referencedDeclaration": 5674, "src": "6649:2:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5553, + "id": 5686, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7105,12 +7105,12 @@ "nodeType": "TupleExpression", "src": "6643:9:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5537, - "id": 5554, + "functionReturnParameters": 5670, + "id": 5687, "nodeType": "Return", "src": "6636:16:17" } @@ -7123,27 +7123,27 @@ "arguments": [ { "argumentTypes": null, - "id": 5558, + "id": 5691, "name": "ab", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, + "referencedDeclaration": 5674, "src": "6686:2:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5559, + "id": 5692, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5531, + "referencedDeclaration": 5664, "src": "6690:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -7151,29 +7151,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5557, + "id": 5690, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6679:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5560, + "id": 5693, "isConstant": false, "isLValue": false, "isPure": false, @@ -7184,24 +7184,24 @@ "src": "6679:13:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5537, - "id": 5561, + "functionReturnParameters": 5670, + "id": 5694, "nodeType": "Return", "src": "6672:20:17" } ] }, "documentation": { - "id": 5525, + "id": 5658, "nodeType": "StructuredDocumentation", "src": "6333:83:17", "text": "@dev Multiplies three exponentials, returning a new exponential." }, - "id": 5563, + "id": 5696, "implemented": true, "kind": "function", "modifiers": [], @@ -7209,33 +7209,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5532, + "id": 5665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5527, + "id": 5660, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6438:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5526, + "id": 5659, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6438:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7244,28 +7244,28 @@ }, { "constant": false, - "id": 5529, + "id": 5662, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6452:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5528, + "id": 5661, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6452:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7274,28 +7274,28 @@ }, { "constant": false, - "id": 5531, + "id": 5664, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6466:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5530, + "id": 5663, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6466:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7306,33 +7306,33 @@ "src": "6437:42:17" }, "returnParameters": { - "id": 5537, + "id": 5670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5534, + "id": 5667, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6503:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5533, + "id": 5666, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6503:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7341,28 +7341,28 @@ }, { "constant": false, - "id": 5536, + "id": 5669, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6514:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5535, + "id": 5668, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6514:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7372,7 +7372,7 @@ ], "src": "6502:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6421:278:17", "stateMutability": "pure", "virtual": false, @@ -7380,7 +7380,7 @@ }, { "body": { - "id": 5582, + "id": 5715, "nodeType": "Block", "src": "7021:54:17", "statements": [ @@ -7392,25 +7392,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5576, + "id": 5709, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5566, + "referencedDeclaration": 5699, "src": "7045:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5577, + "id": 5710, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7045:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7421,25 +7421,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5578, + "id": 5711, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5568, + "referencedDeclaration": 5701, "src": "7057:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5579, + "id": 5712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7057:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7458,18 +7458,18 @@ "typeString": "uint256" } ], - "id": 5575, + "id": 5708, "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5119, + "referencedDeclaration": 5252, "src": "7038:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5580, + "id": 5713, "isConstant": false, "isLValue": false, "isPure": false, @@ -7480,24 +7480,24 @@ "src": "7038:30:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5574, - "id": 5581, + "functionReturnParameters": 5707, + "id": 5714, "nodeType": "Return", "src": "7031:37:17" } ] }, "documentation": { - "id": 5564, + "id": 5697, "nodeType": "StructuredDocumentation", "src": "6705:221:17", "text": "@dev Divides two exponentials, returning a new exponential.\n (a/scale) / (b/scale) = (a/scale) * (scale/b) = a/b,\n which we can scale as an Exp by calling getExp(a.mantissa, b.mantissa)" }, - "id": 5583, + "id": 5716, "implemented": true, "kind": "function", "modifiers": [], @@ -7505,33 +7505,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5569, + "id": 5702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5566, + "id": 5699, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6947:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5565, + "id": 5698, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6947:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7540,28 +7540,28 @@ }, { "constant": false, - "id": 5568, + "id": 5701, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6961:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5567, + "id": 5700, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6961:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7572,33 +7572,33 @@ "src": "6946:28:17" }, "returnParameters": { - "id": 5574, + "id": 5707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5571, + "id": 5704, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6998:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5570, + "id": 5703, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6998:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -7607,28 +7607,28 @@ }, { "constant": false, - "id": 5573, + "id": 5706, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "7009:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5572, + "id": 5705, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7009:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7638,7 +7638,7 @@ ], "src": "6997:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6931:144:17", "stateMutability": "pure", "virtual": false, @@ -7646,7 +7646,7 @@ }, { "body": { - "id": 5596, + "id": 5729, "nodeType": "Block", "src": "7290:147:17", "statements": [ @@ -7657,7 +7657,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5594, + "id": 5727, "isConstant": false, "isLValue": false, "isPure": false, @@ -7666,25 +7666,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5591, + "id": 5724, "name": "exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, + "referencedDeclaration": 5719, "src": "7407:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5592, + "id": 5725, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7407:12:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7695,11 +7695,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5593, + "id": 5726, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "7422:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7712,20 +7712,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5590, - "id": 5595, + "functionReturnParameters": 5723, + "id": 5728, "nodeType": "Return", "src": "7400:30:17" } ] }, "documentation": { - "id": 5584, + "id": 5717, "nodeType": "StructuredDocumentation", "src": "7081:141:17", "text": "@dev Truncates the given exp to a whole number value.\n For example, truncate(Exp{mantissa: 15 * expScale}) = 15" }, - "id": 5597, + "id": 5730, "implemented": true, "kind": "function", "modifiers": [], @@ -7733,33 +7733,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5587, + "id": 5720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5586, + "id": 5719, "mutability": "mutable", "name": "exp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5597, + "scope": 5730, "src": "7245:14:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5585, + "id": 5718, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7245:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7770,17 +7770,17 @@ "src": "7244:16:17" }, "returnParameters": { - "id": 5590, + "id": 5723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5589, + "id": 5722, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5597, + "scope": 5730, "src": "7284:4:17", "stateVariable": false, "storageLocation": "default", @@ -7789,7 +7789,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5588, + "id": 5721, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7284:4:17", @@ -7804,7 +7804,7 @@ ], "src": "7283:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7227:210:17", "stateMutability": "pure", "virtual": false, @@ -7812,7 +7812,7 @@ }, { "body": { - "id": 5613, + "id": 5746, "nodeType": "Block", "src": "7601:54:17", "statements": [ @@ -7823,7 +7823,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5611, + "id": 5744, "isConstant": false, "isLValue": false, "isPure": false, @@ -7832,25 +7832,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5607, + "id": 5740, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5600, + "referencedDeclaration": 5733, "src": "7618:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5608, + "id": 5741, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7618:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7863,25 +7863,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5609, + "id": 5742, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5602, + "referencedDeclaration": 5735, "src": "7634:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5610, + "id": 5743, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7634:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7894,20 +7894,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5606, - "id": 5612, + "functionReturnParameters": 5739, + "id": 5745, "nodeType": "Return", "src": "7611:37:17" } ] }, "documentation": { - "id": 5598, + "id": 5731, "nodeType": "StructuredDocumentation", "src": "7443:68:17", "text": "@dev Checks if first Exp is less than second Exp." }, - "id": 5614, + "id": 5747, "implemented": true, "kind": "function", "modifiers": [], @@ -7915,33 +7915,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5603, + "id": 5736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5600, + "id": 5733, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7537:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5599, + "id": 5732, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7537:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7950,28 +7950,28 @@ }, { "constant": false, - "id": 5602, + "id": 5735, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7554:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5601, + "id": 5734, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7554:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -7982,17 +7982,17 @@ "src": "7536:35:17" }, "returnParameters": { - "id": 5606, + "id": 5739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5605, + "id": 5738, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7595:4:17", "stateVariable": false, "storageLocation": "default", @@ -8001,7 +8001,7 @@ "typeString": "bool" }, "typeName": { - "id": 5604, + "id": 5737, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7595:4:17", @@ -8016,7 +8016,7 @@ ], "src": "7594:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7516:139:17", "stateMutability": "pure", "virtual": false, @@ -8024,7 +8024,7 @@ }, { "body": { - "id": 5630, + "id": 5763, "nodeType": "Block", "src": "7814:55:17", "statements": [ @@ -8035,7 +8035,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5628, + "id": 5761, "isConstant": false, "isLValue": false, "isPure": false, @@ -8044,25 +8044,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5624, + "id": 5757, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5617, + "referencedDeclaration": 5750, "src": "7831:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5625, + "id": 5758, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7831:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8075,25 +8075,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5626, + "id": 5759, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5619, + "referencedDeclaration": 5752, "src": "7848:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5627, + "id": 5760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7848:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8106,20 +8106,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5623, - "id": 5629, + "functionReturnParameters": 5756, + "id": 5762, "nodeType": "Return", "src": "7824:38:17" } ] }, "documentation": { - "id": 5615, + "id": 5748, "nodeType": "StructuredDocumentation", "src": "7661:56:17", "text": "@dev Checks if left Exp <= right Exp." }, - "id": 5631, + "id": 5764, "implemented": true, "kind": "function", "modifiers": [], @@ -8127,33 +8127,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5620, + "id": 5753, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5617, + "id": 5750, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7750:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5616, + "id": 5749, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7750:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -8162,28 +8162,28 @@ }, { "constant": false, - "id": 5619, + "id": 5752, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7767:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5618, + "id": 5751, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7767:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -8194,17 +8194,17 @@ "src": "7749:35:17" }, "returnParameters": { - "id": 5623, + "id": 5756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5622, + "id": 5755, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7808:4:17", "stateVariable": false, "storageLocation": "default", @@ -8213,7 +8213,7 @@ "typeString": "bool" }, "typeName": { - "id": 5621, + "id": 5754, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7808:4:17", @@ -8228,7 +8228,7 @@ ], "src": "7807:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7722:147:17", "stateMutability": "pure", "virtual": false, @@ -8236,7 +8236,7 @@ }, { "body": { - "id": 5647, + "id": 5780, "nodeType": "Block", "src": "8023:54:17", "statements": [ @@ -8247,7 +8247,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5645, + "id": 5778, "isConstant": false, "isLValue": false, "isPure": false, @@ -8256,25 +8256,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5641, + "id": 5774, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5634, + "referencedDeclaration": 5767, "src": "8040:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5642, + "id": 5775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8040:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8287,25 +8287,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5643, + "id": 5776, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5636, + "referencedDeclaration": 5769, "src": "8056:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5644, + "id": 5777, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8056:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8318,20 +8318,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5640, - "id": 5646, + "functionReturnParameters": 5773, + "id": 5779, "nodeType": "Return", "src": "8033:37:17" } ] }, "documentation": { - "id": 5632, + "id": 5765, "nodeType": "StructuredDocumentation", "src": "7875:55:17", "text": "@dev Checks if left Exp > right Exp." }, - "id": 5648, + "id": 5781, "implemented": true, "kind": "function", "modifiers": [], @@ -8339,33 +8339,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5637, + "id": 5770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5634, + "id": 5767, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "7959:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5633, + "id": 5766, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7959:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -8374,28 +8374,28 @@ }, { "constant": false, - "id": 5636, + "id": 5769, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "7976:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5635, + "id": 5768, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7976:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -8406,17 +8406,17 @@ "src": "7958:35:17" }, "returnParameters": { - "id": 5640, + "id": 5773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5639, + "id": 5772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "8017:4:17", "stateVariable": false, "storageLocation": "default", @@ -8425,7 +8425,7 @@ "typeString": "bool" }, "typeName": { - "id": 5638, + "id": 5771, "name": "bool", "nodeType": "ElementaryTypeName", "src": "8017:4:17", @@ -8440,7 +8440,7 @@ ], "src": "8016:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7935:142:17", "stateMutability": "pure", "virtual": false, @@ -8448,7 +8448,7 @@ }, { "body": { - "id": 5661, + "id": 5794, "nodeType": "Block", "src": "8213:43:17", "statements": [ @@ -8459,7 +8459,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5659, + "id": 5792, "isConstant": false, "isLValue": false, "isPure": false, @@ -8468,25 +8468,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5656, + "id": 5789, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5651, + "referencedDeclaration": 5784, "src": "8230:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5657, + "id": 5790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8230:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8498,7 +8498,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5658, + "id": 5791, "isConstant": false, "isLValue": false, "isPure": true, @@ -8519,20 +8519,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5655, - "id": 5660, + "functionReturnParameters": 5788, + "id": 5793, "nodeType": "Return", "src": "8223:26:17" } ] }, "documentation": { - "id": 5649, + "id": 5782, "nodeType": "StructuredDocumentation", "src": "8083:59:17", "text": "@dev returns true if Exp is exactly zero" }, - "id": 5662, + "id": 5795, "implemented": true, "kind": "function", "modifiers": [], @@ -8540,33 +8540,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5652, + "id": 5785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5651, + "id": 5784, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5662, + "scope": 5795, "src": "8166:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5650, + "id": 5783, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8166:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -8577,17 +8577,17 @@ "src": "8165:18:17" }, "returnParameters": { - "id": 5655, + "id": 5788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5654, + "id": 5787, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5662, + "scope": 5795, "src": "8207:4:17", "stateVariable": false, "storageLocation": "default", @@ -8596,7 +8596,7 @@ "typeString": "bool" }, "typeName": { - "id": 5653, + "id": 5786, "name": "bool", "nodeType": "ElementaryTypeName", "src": "8207:4:17", @@ -8611,7 +8611,7 @@ ], "src": "8206:6:17" }, - "scope": 6216, + "scope": 6349, "src": "8147:109:17", "stateMutability": "pure", "virtual": false, @@ -8619,7 +8619,7 @@ }, { "body": { - "id": 5685, + "id": 5818, "nodeType": "Block", "src": "8347:77:17", "statements": [ @@ -8633,18 +8633,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5676, + "id": 5809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5672, + "id": 5805, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5664, + "referencedDeclaration": 5797, "src": "8365:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8659,7 +8659,7 @@ "typeIdentifier": "t_rational_26959946667150639794667015087019630673637144422540572481103610249216_by_1", "typeString": "int_const 2695...(60 digits omitted)...9216" }, - "id": 5675, + "id": 5808, "isConstant": false, "isLValue": false, "isPure": true, @@ -8667,7 +8667,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5673, + "id": 5806, "isConstant": false, "isLValue": false, "isPure": true, @@ -8687,7 +8687,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323234", - "id": 5674, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": true, @@ -8716,11 +8716,11 @@ }, { "argumentTypes": null, - "id": 5677, + "id": 5810, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5666, + "referencedDeclaration": 5799, "src": "8377:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8739,7 +8739,7 @@ "typeString": "string memory" } ], - "id": 5671, + "id": 5804, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8753,7 +8753,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5678, + "id": 5811, "isConstant": false, "isLValue": false, "isPure": false, @@ -8768,7 +8768,7 @@ "typeString": "tuple()" } }, - "id": 5679, + "id": 5812, "nodeType": "ExpressionStatement", "src": "8357:33:17" }, @@ -8778,11 +8778,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5682, + "id": 5815, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5664, + "referencedDeclaration": 5797, "src": "8415:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8797,7 +8797,7 @@ "typeString": "uint256" } ], - "id": 5681, + "id": 5814, "isConstant": false, "isLValue": false, "isPure": true, @@ -8809,7 +8809,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 5680, + "id": 5813, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "8407:7:17", @@ -8819,7 +8819,7 @@ } } }, - "id": 5683, + "id": 5816, "isConstant": false, "isLValue": false, "isPure": false, @@ -8834,15 +8834,15 @@ "typeString": "uint224" } }, - "functionReturnParameters": 5670, - "id": 5684, + "functionReturnParameters": 5803, + "id": 5817, "nodeType": "Return", "src": "8400:17:17" } ] }, "documentation": null, - "id": 5686, + "id": 5819, "implemented": true, "kind": "function", "modifiers": [], @@ -8850,17 +8850,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5667, + "id": 5800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5664, + "id": 5797, "mutability": "mutable", "name": "n", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8279:6:17", "stateVariable": false, "storageLocation": "default", @@ -8869,7 +8869,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5663, + "id": 5796, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8279:4:17", @@ -8883,12 +8883,12 @@ }, { "constant": false, - "id": 5666, + "id": 5799, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8287:26:17", "stateVariable": false, "storageLocation": "memory", @@ -8897,7 +8897,7 @@ "typeString": "string" }, "typeName": { - "id": 5665, + "id": 5798, "name": "string", "nodeType": "ElementaryTypeName", "src": "8287:6:17", @@ -8913,17 +8913,17 @@ "src": "8278:36:17" }, "returnParameters": { - "id": 5670, + "id": 5803, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5669, + "id": 5802, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8338:7:17", "stateVariable": false, "storageLocation": "default", @@ -8932,7 +8932,7 @@ "typeString": "uint224" }, "typeName": { - "id": 5668, + "id": 5801, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "8338:7:17", @@ -8947,7 +8947,7 @@ ], "src": "8337:9:17" }, - "scope": 6216, + "scope": 6349, "src": "8262:162:17", "stateMutability": "pure", "virtual": false, @@ -8955,7 +8955,7 @@ }, { "body": { - "id": 5709, + "id": 5842, "nodeType": "Block", "src": "8513:75:17", "statements": [ @@ -8969,18 +8969,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5700, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5696, + "id": 5829, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5688, + "referencedDeclaration": 5821, "src": "8531:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8995,7 +8995,7 @@ "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" }, - "id": 5699, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": true, @@ -9003,7 +9003,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5697, + "id": 5830, "isConstant": false, "isLValue": false, "isPure": true, @@ -9023,7 +9023,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 5698, + "id": 5831, "isConstant": false, "isLValue": false, "isPure": true, @@ -9052,11 +9052,11 @@ }, { "argumentTypes": null, - "id": 5701, + "id": 5834, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5690, + "referencedDeclaration": 5823, "src": "8542:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -9075,7 +9075,7 @@ "typeString": "string memory" } ], - "id": 5695, + "id": 5828, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9089,7 +9089,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5702, + "id": 5835, "isConstant": false, "isLValue": false, "isPure": false, @@ -9104,7 +9104,7 @@ "typeString": "tuple()" } }, - "id": 5703, + "id": 5836, "nodeType": "ExpressionStatement", "src": "8523:32:17" }, @@ -9114,11 +9114,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5706, + "id": 5839, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5688, + "referencedDeclaration": 5821, "src": "8579:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9133,7 +9133,7 @@ "typeString": "uint256" } ], - "id": 5705, + "id": 5838, "isConstant": false, "isLValue": false, "isPure": true, @@ -9145,7 +9145,7 @@ "typeString": "type(uint32)" }, "typeName": { - "id": 5704, + "id": 5837, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "8572:6:17", @@ -9155,7 +9155,7 @@ } } }, - "id": 5707, + "id": 5840, "isConstant": false, "isLValue": false, "isPure": false, @@ -9170,15 +9170,15 @@ "typeString": "uint32" } }, - "functionReturnParameters": 5694, - "id": 5708, + "functionReturnParameters": 5827, + "id": 5841, "nodeType": "Return", "src": "8565:16:17" } ] }, "documentation": null, - "id": 5710, + "id": 5843, "implemented": true, "kind": "function", "modifiers": [], @@ -9186,17 +9186,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5691, + "id": 5824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5688, + "id": 5821, "mutability": "mutable", "name": "n", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8446:6:17", "stateVariable": false, "storageLocation": "default", @@ -9205,7 +9205,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5687, + "id": 5820, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8446:4:17", @@ -9219,12 +9219,12 @@ }, { "constant": false, - "id": 5690, + "id": 5823, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8454:26:17", "stateVariable": false, "storageLocation": "memory", @@ -9233,7 +9233,7 @@ "typeString": "string" }, "typeName": { - "id": 5689, + "id": 5822, "name": "string", "nodeType": "ElementaryTypeName", "src": "8454:6:17", @@ -9249,17 +9249,17 @@ "src": "8445:36:17" }, "returnParameters": { - "id": 5694, + "id": 5827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5693, + "id": 5826, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8505:6:17", "stateVariable": false, "storageLocation": "default", @@ -9268,7 +9268,7 @@ "typeString": "uint32" }, "typeName": { - "id": 5692, + "id": 5825, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "8505:6:17", @@ -9283,7 +9283,7 @@ ], "src": "8504:8:17" }, - "scope": 6216, + "scope": 6349, "src": "8430:158:17", "stateMutability": "pure", "virtual": false, @@ -9291,7 +9291,7 @@ }, { "body": { - "id": 5728, + "id": 5861, "nodeType": "Block", "src": "8671:69:17", "statements": [ @@ -9306,25 +9306,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5721, + "id": 5854, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5712, + "referencedDeclaration": 5845, "src": "8708:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5722, + "id": 5855, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8708:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9335,25 +9335,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5723, + "id": 5856, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, + "referencedDeclaration": 5847, "src": "8720:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5724, + "id": 5857, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8720:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9372,23 +9372,23 @@ "typeString": "uint256" } ], - "id": 5720, + "id": 5853, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5764, + "referencedDeclaration": 5897, "src": "8703:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5725, + "id": 5858, "isConstant": false, "isLValue": false, "isPure": false, @@ -9411,18 +9411,18 @@ "typeString": "uint256" } ], - "id": 5719, + "id": 5852, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8688:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5726, + "id": 5859, "isConstant": false, "isLValue": false, "isPure": false, @@ -9435,19 +9435,19 @@ "src": "8688:45:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5718, - "id": 5727, + "functionReturnParameters": 5851, + "id": 5860, "nodeType": "Return", "src": "8681:52:17" } ] }, "documentation": null, - "id": 5729, + "id": 5862, "implemented": true, "kind": "function", "modifiers": [], @@ -9455,33 +9455,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5715, + "id": 5848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5712, + "id": 5845, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8608:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5711, + "id": 5844, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8608:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -9490,28 +9490,28 @@ }, { "constant": false, - "id": 5714, + "id": 5847, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8622:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5713, + "id": 5846, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8622:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -9522,33 +9522,33 @@ "src": "8607:28:17" }, "returnParameters": { - "id": 5718, + "id": 5851, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5717, + "id": 5850, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8659:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5716, + "id": 5849, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8659:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -9558,7 +9558,7 @@ ], "src": "8658:12:17" }, - "scope": 6216, + "scope": 6349, "src": "8594:146:17", "stateMutability": "pure", "virtual": false, @@ -9566,7 +9566,7 @@ }, { "body": { - "id": 5747, + "id": 5880, "nodeType": "Block", "src": "8832:72:17", "statements": [ @@ -9581,25 +9581,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5740, + "id": 5873, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5731, + "referencedDeclaration": 5864, "src": "8872:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5741, + "id": 5874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "8872:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9610,25 +9610,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5742, + "id": 5875, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, + "referencedDeclaration": 5866, "src": "8884:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5743, + "id": 5876, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "8884:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9647,23 +9647,23 @@ "typeString": "uint256" } ], - "id": 5739, + "id": 5872, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5764, + "referencedDeclaration": 5897, "src": "8867:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5744, + "id": 5877, "isConstant": false, "isLValue": false, "isPure": false, @@ -9686,18 +9686,18 @@ "typeString": "uint256" } ], - "id": 5738, + "id": 5871, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8849:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5745, + "id": 5878, "isConstant": false, "isLValue": false, "isPure": false, @@ -9710,19 +9710,19 @@ "src": "8849:48:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5737, - "id": 5746, + "functionReturnParameters": 5870, + "id": 5879, "nodeType": "Return", "src": "8842:55:17" } ] }, "documentation": null, - "id": 5748, + "id": 5881, "implemented": true, "kind": "function", "modifiers": [], @@ -9730,33 +9730,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5734, + "id": 5867, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5731, + "id": 5864, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8760:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5730, + "id": 5863, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8760:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -9765,28 +9765,28 @@ }, { "constant": false, - "id": 5733, + "id": 5866, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8777:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5732, + "id": 5865, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8777:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -9797,33 +9797,33 @@ "src": "8759:34:17" }, "returnParameters": { - "id": 5737, + "id": 5870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5736, + "id": 5869, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8817:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5735, + "id": 5868, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8817:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -9833,7 +9833,7 @@ ], "src": "8816:15:17" }, - "scope": 6216, + "scope": 6349, "src": "8746:158:17", "stateMutability": "pure", "virtual": false, @@ -9841,7 +9841,7 @@ }, { "body": { - "id": 5763, + "id": 5896, "nodeType": "Block", "src": "8969:55:17", "statements": [ @@ -9851,11 +9851,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5758, + "id": 5891, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5750, + "referencedDeclaration": 5883, "src": "8991:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9864,11 +9864,11 @@ }, { "argumentTypes": null, - "id": 5759, + "id": 5892, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5752, + "referencedDeclaration": 5885, "src": "8994:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9878,7 +9878,7 @@ { "argumentTypes": null, "hexValue": "6164646974696f6e206f766572666c6f77", - "id": 5760, + "id": 5893, "isConstant": false, "isLValue": false, "isPure": true, @@ -9909,23 +9909,23 @@ "typeString": "literal_string \"addition overflow\"" } ], - "id": 5757, + "id": 5890, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5791, + "referencedDeclaration": 5924, "src": "8986:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5761, + "id": 5894, "isConstant": false, "isLValue": false, "isPure": false, @@ -9940,15 +9940,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5756, - "id": 5762, + "functionReturnParameters": 5889, + "id": 5895, "nodeType": "Return", "src": "8979:38:17" } ] }, "documentation": null, - "id": 5764, + "id": 5897, "implemented": true, "kind": "function", "modifiers": [], @@ -9956,17 +9956,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5753, + "id": 5886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5750, + "id": 5883, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8924:6:17", "stateVariable": false, "storageLocation": "default", @@ -9975,7 +9975,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5749, + "id": 5882, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8924:4:17", @@ -9989,12 +9989,12 @@ }, { "constant": false, - "id": 5752, + "id": 5885, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8932:6:17", "stateVariable": false, "storageLocation": "default", @@ -10003,7 +10003,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5751, + "id": 5884, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8932:4:17", @@ -10019,17 +10019,17 @@ "src": "8923:16:17" }, "returnParameters": { - "id": 5756, + "id": 5889, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5755, + "id": 5888, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8963:4:17", "stateVariable": false, "storageLocation": "default", @@ -10038,7 +10038,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5754, + "id": 5887, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8963:4:17", @@ -10053,7 +10053,7 @@ ], "src": "8962:6:17" }, - "scope": 6216, + "scope": 6349, "src": "8910:114:17", "stateMutability": "pure", "virtual": false, @@ -10061,23 +10061,23 @@ }, { "body": { - "id": 5790, + "id": 5923, "nodeType": "Block", "src": "9117:88:17", "statements": [ { "assignments": [ - 5776 + 5909 ], "declarations": [ { "constant": false, - "id": 5776, + "id": 5909, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5790, + "scope": 5923, "src": "9127:6:17", "stateVariable": false, "storageLocation": "default", @@ -10086,7 +10086,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5775, + "id": 5908, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9127:4:17", @@ -10099,25 +10099,25 @@ "visibility": "internal" } ], - "id": 5780, + "id": 5913, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5779, + "id": 5912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5777, + "id": 5910, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5766, + "referencedDeclaration": 5899, "src": "9136:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10128,11 +10128,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 5778, + "id": 5911, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5768, + "referencedDeclaration": 5901, "src": "9140:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10158,18 +10158,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5784, + "id": 5917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5782, + "id": 5915, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5776, + "referencedDeclaration": 5909, "src": "9159:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10180,11 +10180,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5783, + "id": 5916, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5766, + "referencedDeclaration": 5899, "src": "9164:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10199,11 +10199,11 @@ }, { "argumentTypes": null, - "id": 5785, + "id": 5918, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, + "referencedDeclaration": 5903, "src": "9167:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -10222,7 +10222,7 @@ "typeString": "string memory" } ], - "id": 5781, + "id": 5914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10236,7 +10236,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5786, + "id": 5919, "isConstant": false, "isLValue": false, "isPure": false, @@ -10251,33 +10251,33 @@ "typeString": "tuple()" } }, - "id": 5787, + "id": 5920, "nodeType": "ExpressionStatement", "src": "9151:29:17" }, { "expression": { "argumentTypes": null, - "id": 5788, + "id": 5921, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5776, + "referencedDeclaration": 5909, "src": "9197:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5774, - "id": 5789, + "functionReturnParameters": 5907, + "id": 5922, "nodeType": "Return", "src": "9190:8:17" } ] }, "documentation": null, - "id": 5791, + "id": 5924, "implemented": true, "kind": "function", "modifiers": [], @@ -10285,17 +10285,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5771, + "id": 5904, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5766, + "id": 5899, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9044:6:17", "stateVariable": false, "storageLocation": "default", @@ -10304,7 +10304,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5765, + "id": 5898, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9044:4:17", @@ -10318,12 +10318,12 @@ }, { "constant": false, - "id": 5768, + "id": 5901, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9052:6:17", "stateVariable": false, "storageLocation": "default", @@ -10332,7 +10332,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5767, + "id": 5900, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9052:4:17", @@ -10346,12 +10346,12 @@ }, { "constant": false, - "id": 5770, + "id": 5903, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9060:26:17", "stateVariable": false, "storageLocation": "memory", @@ -10360,7 +10360,7 @@ "typeString": "string" }, "typeName": { - "id": 5769, + "id": 5902, "name": "string", "nodeType": "ElementaryTypeName", "src": "9060:6:17", @@ -10376,17 +10376,17 @@ "src": "9043:44:17" }, "returnParameters": { - "id": 5774, + "id": 5907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5773, + "id": 5906, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9111:4:17", "stateVariable": false, "storageLocation": "default", @@ -10395,7 +10395,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5772, + "id": 5905, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9111:4:17", @@ -10410,7 +10410,7 @@ ], "src": "9110:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9030:175:17", "stateMutability": "pure", "virtual": false, @@ -10418,7 +10418,7 @@ }, { "body": { - "id": 5809, + "id": 5942, "nodeType": "Block", "src": "9288:69:17", "statements": [ @@ -10433,25 +10433,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5802, + "id": 5935, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5793, + "referencedDeclaration": 5926, "src": "9325:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5803, + "id": 5936, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9325:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10462,25 +10462,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5804, + "id": 5937, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5795, + "referencedDeclaration": 5928, "src": "9337:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5805, + "id": 5938, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9337:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10499,23 +10499,23 @@ "typeString": "uint256" } ], - "id": 5801, + "id": 5934, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5845, + "referencedDeclaration": 5978, "src": "9320:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5806, + "id": 5939, "isConstant": false, "isLValue": false, "isPure": false, @@ -10538,18 +10538,18 @@ "typeString": "uint256" } ], - "id": 5800, + "id": 5933, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9305:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5807, + "id": 5940, "isConstant": false, "isLValue": false, "isPure": false, @@ -10562,19 +10562,19 @@ "src": "9305:45:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5799, - "id": 5808, + "functionReturnParameters": 5932, + "id": 5941, "nodeType": "Return", "src": "9298:52:17" } ] }, "documentation": null, - "id": 5810, + "id": 5943, "implemented": true, "kind": "function", "modifiers": [], @@ -10582,33 +10582,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5796, + "id": 5929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5793, + "id": 5926, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9225:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5792, + "id": 5925, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9225:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -10617,28 +10617,28 @@ }, { "constant": false, - "id": 5795, + "id": 5928, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9239:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5794, + "id": 5927, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9239:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -10649,33 +10649,33 @@ "src": "9224:28:17" }, "returnParameters": { - "id": 5799, + "id": 5932, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5798, + "id": 5931, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9276:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5797, + "id": 5930, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9276:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -10685,7 +10685,7 @@ ], "src": "9275:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9211:146:17", "stateMutability": "pure", "virtual": false, @@ -10693,7 +10693,7 @@ }, { "body": { - "id": 5828, + "id": 5961, "nodeType": "Block", "src": "9449:72:17", "statements": [ @@ -10708,25 +10708,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5821, + "id": 5954, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5812, + "referencedDeclaration": 5945, "src": "9489:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5822, + "id": 5955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "9489:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10737,25 +10737,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5823, + "id": 5956, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5814, + "referencedDeclaration": 5947, "src": "9501:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5824, + "id": 5957, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "9501:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10774,23 +10774,23 @@ "typeString": "uint256" } ], - "id": 5820, + "id": 5953, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5845, + "referencedDeclaration": 5978, "src": "9484:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5825, + "id": 5958, "isConstant": false, "isLValue": false, "isPure": false, @@ -10813,18 +10813,18 @@ "typeString": "uint256" } ], - "id": 5819, + "id": 5952, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9466:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5826, + "id": 5959, "isConstant": false, "isLValue": false, "isPure": false, @@ -10837,19 +10837,19 @@ "src": "9466:48:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5818, - "id": 5827, + "functionReturnParameters": 5951, + "id": 5960, "nodeType": "Return", "src": "9459:55:17" } ] }, "documentation": null, - "id": 5829, + "id": 5962, "implemented": true, "kind": "function", "modifiers": [], @@ -10857,33 +10857,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5815, + "id": 5948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5812, + "id": 5945, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9377:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5811, + "id": 5944, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9377:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -10892,28 +10892,28 @@ }, { "constant": false, - "id": 5814, + "id": 5947, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9394:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5813, + "id": 5946, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9394:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -10924,33 +10924,33 @@ "src": "9376:34:17" }, "returnParameters": { - "id": 5818, + "id": 5951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5817, + "id": 5950, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9434:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5816, + "id": 5949, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9434:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -10960,7 +10960,7 @@ ], "src": "9433:15:17" }, - "scope": 6216, + "scope": 6349, "src": "9363:158:17", "stateMutability": "pure", "virtual": false, @@ -10968,7 +10968,7 @@ }, { "body": { - "id": 5844, + "id": 5977, "nodeType": "Block", "src": "9586:59:17", "statements": [ @@ -10978,11 +10978,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5839, + "id": 5972, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5831, + "referencedDeclaration": 5964, "src": "9608:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10991,11 +10991,11 @@ }, { "argumentTypes": null, - "id": 5840, + "id": 5973, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5833, + "referencedDeclaration": 5966, "src": "9611:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11005,7 +11005,7 @@ { "argumentTypes": null, "hexValue": "7375627472616374696f6e20756e646572666c6f77", - "id": 5841, + "id": 5974, "isConstant": false, "isLValue": false, "isPure": true, @@ -11036,23 +11036,23 @@ "typeString": "literal_string \"subtraction underflow\"" } ], - "id": 5838, + "id": 5971, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5868, + "referencedDeclaration": 6001, "src": "9603:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5842, + "id": 5975, "isConstant": false, "isLValue": false, "isPure": false, @@ -11067,15 +11067,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5837, - "id": 5843, + "functionReturnParameters": 5970, + "id": 5976, "nodeType": "Return", "src": "9596:42:17" } ] }, "documentation": null, - "id": 5845, + "id": 5978, "implemented": true, "kind": "function", "modifiers": [], @@ -11083,17 +11083,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5834, + "id": 5967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5831, + "id": 5964, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9541:6:17", "stateVariable": false, "storageLocation": "default", @@ -11102,7 +11102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5830, + "id": 5963, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9541:4:17", @@ -11116,12 +11116,12 @@ }, { "constant": false, - "id": 5833, + "id": 5966, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9549:6:17", "stateVariable": false, "storageLocation": "default", @@ -11130,7 +11130,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5832, + "id": 5965, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9549:4:17", @@ -11146,17 +11146,17 @@ "src": "9540:16:17" }, "returnParameters": { - "id": 5837, + "id": 5970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5836, + "id": 5969, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9580:4:17", "stateVariable": false, "storageLocation": "default", @@ -11165,7 +11165,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5835, + "id": 5968, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9580:4:17", @@ -11180,7 +11180,7 @@ ], "src": "9579:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9527:118:17", "stateMutability": "pure", "virtual": false, @@ -11188,7 +11188,7 @@ }, { "body": { - "id": 5867, + "id": 6000, "nodeType": "Block", "src": "9738:68:17", "statements": [ @@ -11202,18 +11202,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5859, + "id": 5992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5857, + "id": 5990, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5849, + "referencedDeclaration": 5982, "src": "9756:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11224,11 +11224,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 5858, + "id": 5991, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, + "referencedDeclaration": 5980, "src": "9761:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11243,11 +11243,11 @@ }, { "argumentTypes": null, - "id": 5860, + "id": 5993, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5851, + "referencedDeclaration": 5984, "src": "9764:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -11266,7 +11266,7 @@ "typeString": "string memory" } ], - "id": 5856, + "id": 5989, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11280,7 +11280,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5861, + "id": 5994, "isConstant": false, "isLValue": false, "isPure": false, @@ -11295,7 +11295,7 @@ "typeString": "tuple()" } }, - "id": 5862, + "id": 5995, "nodeType": "ExpressionStatement", "src": "9748:29:17" }, @@ -11306,18 +11306,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5865, + "id": 5998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5863, + "id": 5996, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, + "referencedDeclaration": 5980, "src": "9794:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11328,11 +11328,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 5864, + "id": 5997, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5849, + "referencedDeclaration": 5982, "src": "9798:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11345,15 +11345,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5855, - "id": 5866, + "functionReturnParameters": 5988, + "id": 5999, "nodeType": "Return", "src": "9787:12:17" } ] }, "documentation": null, - "id": 5868, + "id": 6001, "implemented": true, "kind": "function", "modifiers": [], @@ -11361,17 +11361,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5852, + "id": 5985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5847, + "id": 5980, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9665:6:17", "stateVariable": false, "storageLocation": "default", @@ -11380,7 +11380,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5846, + "id": 5979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9665:4:17", @@ -11394,12 +11394,12 @@ }, { "constant": false, - "id": 5849, + "id": 5982, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9673:6:17", "stateVariable": false, "storageLocation": "default", @@ -11408,7 +11408,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5848, + "id": 5981, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9673:4:17", @@ -11422,12 +11422,12 @@ }, { "constant": false, - "id": 5851, + "id": 5984, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9681:26:17", "stateVariable": false, "storageLocation": "memory", @@ -11436,7 +11436,7 @@ "typeString": "string" }, "typeName": { - "id": 5850, + "id": 5983, "name": "string", "nodeType": "ElementaryTypeName", "src": "9681:6:17", @@ -11452,17 +11452,17 @@ "src": "9664:44:17" }, "returnParameters": { - "id": 5855, + "id": 5988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5854, + "id": 5987, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9732:4:17", "stateVariable": false, "storageLocation": "default", @@ -11471,7 +11471,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5853, + "id": 5986, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9732:4:17", @@ -11486,7 +11486,7 @@ ], "src": "9731:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9651:155:17", "stateMutability": "pure", "virtual": false, @@ -11494,7 +11494,7 @@ }, { "body": { - "id": 5888, + "id": 6021, "nodeType": "Block", "src": "9889:80:17", "statements": [ @@ -11508,7 +11508,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5885, + "id": 6018, "isConstant": false, "isLValue": false, "isPure": false, @@ -11520,25 +11520,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5879, + "id": 6012, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5870, + "referencedDeclaration": 6003, "src": "9926:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5880, + "id": 6013, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9926:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11549,25 +11549,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5881, + "id": 6014, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5872, + "referencedDeclaration": 6005, "src": "9938:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5882, + "id": 6015, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9938:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11586,27 +11586,27 @@ "typeString": "uint256" } ], - "id": 5878, + "id": 6011, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "9921:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5883, + "id": 6016, "isConstant": false, "isLValue": false, "isPure": false, @@ -11625,11 +11625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5884, + "id": 6017, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "9952:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11650,18 +11650,18 @@ "typeString": "uint256" } ], - "id": 5877, + "id": 6010, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9906:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5886, + "id": 6019, "isConstant": false, "isLValue": false, "isPure": false, @@ -11674,19 +11674,19 @@ "src": "9906:56:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5876, - "id": 5887, + "functionReturnParameters": 6009, + "id": 6020, "nodeType": "Return", "src": "9899:63:17" } ] }, "documentation": null, - "id": 5889, + "id": 6022, "implemented": true, "kind": "function", "modifiers": [], @@ -11694,33 +11694,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5873, + "id": 6006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5870, + "id": 6003, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9826:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5869, + "id": 6002, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9826:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -11729,28 +11729,28 @@ }, { "constant": false, - "id": 5872, + "id": 6005, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9840:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5871, + "id": 6004, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9840:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -11761,33 +11761,33 @@ "src": "9825:28:17" }, "returnParameters": { - "id": 5876, + "id": 6009, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5875, + "id": 6008, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9877:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5874, + "id": 6007, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9877:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -11797,7 +11797,7 @@ ], "src": "9876:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9812:157:17", "stateMutability": "pure", "virtual": false, @@ -11805,7 +11805,7 @@ }, { "body": { - "id": 5906, + "id": 6039, "nodeType": "Block", "src": "10046:60:17", "statements": [ @@ -11820,25 +11820,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5900, + "id": 6033, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5891, + "referencedDeclaration": 6024, "src": "10083:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5901, + "id": 6034, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "10083:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11847,11 +11847,11 @@ }, { "argumentTypes": null, - "id": 5902, + "id": 6035, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5893, + "referencedDeclaration": 6026, "src": "10095:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11870,27 +11870,27 @@ "typeString": "uint256" } ], - "id": 5899, + "id": 6032, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10078:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5903, + "id": 6036, "isConstant": false, "isLValue": false, "isPure": false, @@ -11913,18 +11913,18 @@ "typeString": "uint256" } ], - "id": 5898, + "id": 6031, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10063:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5904, + "id": 6037, "isConstant": false, "isLValue": false, "isPure": false, @@ -11937,19 +11937,19 @@ "src": "10063:36:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5897, - "id": 5905, + "functionReturnParameters": 6030, + "id": 6038, "nodeType": "Return", "src": "10056:43:17" } ] }, "documentation": null, - "id": 5907, + "id": 6040, "implemented": true, "kind": "function", "modifiers": [], @@ -11957,33 +11957,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5894, + "id": 6027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5891, + "id": 6024, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "9989:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5890, + "id": 6023, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9989:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -11992,12 +11992,12 @@ }, { "constant": false, - "id": 5893, + "id": 6026, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "10003:6:17", "stateVariable": false, "storageLocation": "default", @@ -12006,7 +12006,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5892, + "id": 6025, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10003:4:17", @@ -12022,33 +12022,33 @@ "src": "9988:22:17" }, "returnParameters": { - "id": 5897, + "id": 6030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5896, + "id": 6029, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "10034:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5895, + "id": 6028, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10034:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -12058,7 +12058,7 @@ ], "src": "10033:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9975:131:17", "stateMutability": "pure", "virtual": false, @@ -12066,7 +12066,7 @@ }, { "body": { - "id": 5924, + "id": 6057, "nodeType": "Block", "src": "10177:54:17", "statements": [ @@ -12077,7 +12077,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5922, + "id": 6055, "isConstant": false, "isLValue": false, "isPure": false, @@ -12087,11 +12087,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5917, + "id": 6050, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5909, + "referencedDeclaration": 6042, "src": "10199:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12102,25 +12102,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5918, + "id": 6051, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5911, + "referencedDeclaration": 6044, "src": "10202:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5919, + "id": 6052, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "10202:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12139,27 +12139,27 @@ "typeString": "uint256" } ], - "id": 5916, + "id": 6049, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10194:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5920, + "id": 6053, "isConstant": false, "isLValue": false, "isPure": false, @@ -12178,11 +12178,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5921, + "id": 6054, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "10216:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12195,15 +12195,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5915, - "id": 5923, + "functionReturnParameters": 6048, + "id": 6056, "nodeType": "Return", "src": "10187:37:17" } ] }, "documentation": null, - "id": 5925, + "id": 6058, "implemented": true, "kind": "function", "modifiers": [], @@ -12211,17 +12211,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5912, + "id": 6045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5909, + "id": 6042, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10126:6:17", "stateVariable": false, "storageLocation": "default", @@ -12230,7 +12230,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5908, + "id": 6041, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10126:4:17", @@ -12244,28 +12244,28 @@ }, { "constant": false, - "id": 5911, + "id": 6044, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10134:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5910, + "id": 6043, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10134:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -12276,17 +12276,17 @@ "src": "10125:22:17" }, "returnParameters": { - "id": 5915, + "id": 6048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5914, + "id": 6047, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10171:4:17", "stateVariable": false, "storageLocation": "default", @@ -12295,7 +12295,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5913, + "id": 6046, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10171:4:17", @@ -12310,7 +12310,7 @@ ], "src": "10170:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10112:119:17", "stateMutability": "pure", "virtual": false, @@ -12318,7 +12318,7 @@ }, { "body": { - "id": 5945, + "id": 6078, "nodeType": "Block", "src": "10323:86:17", "statements": [ @@ -12332,7 +12332,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5942, + "id": 6075, "isConstant": false, "isLValue": false, "isPure": false, @@ -12344,25 +12344,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5936, + "id": 6069, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5927, + "referencedDeclaration": 6060, "src": "10363:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5937, + "id": 6070, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10363:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12373,25 +12373,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5938, + "id": 6071, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5929, + "referencedDeclaration": 6062, "src": "10375:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5939, + "id": 6072, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10375:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12410,27 +12410,27 @@ "typeString": "uint256" } ], - "id": 5935, + "id": 6068, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10358:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5940, + "id": 6073, "isConstant": false, "isLValue": false, "isPure": false, @@ -12449,11 +12449,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5941, + "id": 6074, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "10389:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12474,18 +12474,18 @@ "typeString": "uint256" } ], - "id": 5934, + "id": 6067, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10340:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5943, + "id": 6076, "isConstant": false, "isLValue": false, "isPure": false, @@ -12498,19 +12498,19 @@ "src": "10340:62:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5933, - "id": 5944, + "functionReturnParameters": 6066, + "id": 6077, "nodeType": "Return", "src": "10333:69:17" } ] }, "documentation": null, - "id": 5946, + "id": 6079, "implemented": true, "kind": "function", "modifiers": [], @@ -12518,33 +12518,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5930, + "id": 6063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5927, + "id": 6060, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10251:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5926, + "id": 6059, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10251:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -12553,28 +12553,28 @@ }, { "constant": false, - "id": 5929, + "id": 6062, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10268:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5928, + "id": 6061, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10268:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -12585,33 +12585,33 @@ "src": "10250:34:17" }, "returnParameters": { - "id": 5933, + "id": 6066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5932, + "id": 6065, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10308:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5931, + "id": 6064, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10308:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -12621,7 +12621,7 @@ ], "src": "10307:15:17" }, - "scope": 6216, + "scope": 6349, "src": "10237:172:17", "stateMutability": "pure", "virtual": false, @@ -12629,7 +12629,7 @@ }, { "body": { - "id": 5963, + "id": 6096, "nodeType": "Block", "src": "10492:63:17", "statements": [ @@ -12644,25 +12644,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5957, + "id": 6090, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5948, + "referencedDeclaration": 6081, "src": "10532:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5958, + "id": 6091, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10532:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12671,11 +12671,11 @@ }, { "argumentTypes": null, - "id": 5959, + "id": 6092, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5950, + "referencedDeclaration": 6083, "src": "10544:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12694,27 +12694,27 @@ "typeString": "uint256" } ], - "id": 5956, + "id": 6089, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10527:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5960, + "id": 6093, "isConstant": false, "isLValue": false, "isPure": false, @@ -12737,18 +12737,18 @@ "typeString": "uint256" } ], - "id": 5955, + "id": 6088, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10509:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5961, + "id": 6094, "isConstant": false, "isLValue": false, "isPure": false, @@ -12761,19 +12761,19 @@ "src": "10509:39:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5954, - "id": 5962, + "functionReturnParameters": 6087, + "id": 6095, "nodeType": "Return", "src": "10502:46:17" } ] }, "documentation": null, - "id": 5964, + "id": 6097, "implemented": true, "kind": "function", "modifiers": [], @@ -12781,33 +12781,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5951, + "id": 6084, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5948, + "id": 6081, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10429:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5947, + "id": 6080, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10429:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -12816,12 +12816,12 @@ }, { "constant": false, - "id": 5950, + "id": 6083, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10446:6:17", "stateVariable": false, "storageLocation": "default", @@ -12830,7 +12830,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5949, + "id": 6082, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10446:4:17", @@ -12846,33 +12846,33 @@ "src": "10428:25:17" }, "returnParameters": { - "id": 5954, + "id": 6087, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5953, + "id": 6086, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10477:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5952, + "id": 6085, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10477:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -12882,7 +12882,7 @@ ], "src": "10476:15:17" }, - "scope": 6216, + "scope": 6349, "src": "10415:140:17", "stateMutability": "pure", "virtual": false, @@ -12890,7 +12890,7 @@ }, { "body": { - "id": 5981, + "id": 6114, "nodeType": "Block", "src": "10629:57:17", "statements": [ @@ -12901,7 +12901,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5979, + "id": 6112, "isConstant": false, "isLValue": false, "isPure": false, @@ -12911,11 +12911,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5974, + "id": 6107, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5966, + "referencedDeclaration": 6099, "src": "10651:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12926,25 +12926,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5975, + "id": 6108, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5968, + "referencedDeclaration": 6101, "src": "10654:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5976, + "id": 6109, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10654:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12963,27 +12963,27 @@ "typeString": "uint256" } ], - "id": 5973, + "id": 6106, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10646:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5977, + "id": 6110, "isConstant": false, "isLValue": false, "isPure": false, @@ -13002,11 +13002,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5978, + "id": 6111, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "10668:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13019,15 +13019,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5972, - "id": 5980, + "functionReturnParameters": 6105, + "id": 6113, "nodeType": "Return", "src": "10639:40:17" } ] }, "documentation": null, - "id": 5982, + "id": 6115, "implemented": true, "kind": "function", "modifiers": [], @@ -13035,17 +13035,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5969, + "id": 6102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5966, + "id": 6099, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10575:6:17", "stateVariable": false, "storageLocation": "default", @@ -13054,7 +13054,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5965, + "id": 6098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10575:4:17", @@ -13068,28 +13068,28 @@ }, { "constant": false, - "id": 5968, + "id": 6101, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10583:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5967, + "id": 6100, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10583:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -13100,17 +13100,17 @@ "src": "10574:25:17" }, "returnParameters": { - "id": 5972, + "id": 6105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5971, + "id": 6104, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10623:4:17", "stateVariable": false, "storageLocation": "default", @@ -13119,7 +13119,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5970, + "id": 6103, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10623:4:17", @@ -13134,7 +13134,7 @@ ], "src": "10622:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10561:125:17", "stateMutability": "pure", "virtual": false, @@ -13142,7 +13142,7 @@ }, { "body": { - "id": 5997, + "id": 6130, "nodeType": "Block", "src": "10751:61:17", "statements": [ @@ -13152,11 +13152,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5992, + "id": 6125, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5984, + "referencedDeclaration": 6117, "src": "10773:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13165,11 +13165,11 @@ }, { "argumentTypes": null, - "id": 5993, + "id": 6126, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5986, + "referencedDeclaration": 6119, "src": "10776:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13179,7 +13179,7 @@ { "argumentTypes": null, "hexValue": "6d756c7469706c69636174696f6e206f766572666c6f77", - "id": 5994, + "id": 6127, "isConstant": false, "isLValue": false, "isPure": true, @@ -13210,27 +13210,27 @@ "typeString": "literal_string \"multiplication overflow\"" } ], - "id": 5991, + "id": 6124, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 6038, + "referencedDeclaration": 6171, "src": "10768:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5995, + "id": 6128, "isConstant": false, "isLValue": false, "isPure": false, @@ -13245,15 +13245,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5990, - "id": 5996, + "functionReturnParameters": 6123, + "id": 6129, "nodeType": "Return", "src": "10761:44:17" } ] }, "documentation": null, - "id": 5998, + "id": 6131, "implemented": true, "kind": "function", "modifiers": [], @@ -13261,17 +13261,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5987, + "id": 6120, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5984, + "id": 6117, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10706:6:17", "stateVariable": false, "storageLocation": "default", @@ -13280,7 +13280,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5983, + "id": 6116, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10706:4:17", @@ -13294,12 +13294,12 @@ }, { "constant": false, - "id": 5986, + "id": 6119, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10714:6:17", "stateVariable": false, "storageLocation": "default", @@ -13308,7 +13308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5985, + "id": 6118, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10714:4:17", @@ -13324,17 +13324,17 @@ "src": "10705:16:17" }, "returnParameters": { - "id": 5990, + "id": 6123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5989, + "id": 6122, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10745:4:17", "stateVariable": false, "storageLocation": "default", @@ -13343,7 +13343,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5988, + "id": 6121, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10745:4:17", @@ -13358,7 +13358,7 @@ ], "src": "10744:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10692:120:17", "stateMutability": "pure", "virtual": false, @@ -13366,7 +13366,7 @@ }, { "body": { - "id": 6037, + "id": 6170, "nodeType": "Block", "src": "10905:156:17", "statements": [ @@ -13377,7 +13377,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6015, + "id": 6148, "isConstant": false, "isLValue": false, "isPure": false, @@ -13388,18 +13388,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6011, + "id": 6144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6009, + "id": 6142, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "10919:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13411,7 +13411,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6010, + "id": 6143, "isConstant": false, "isLValue": false, "isPure": true, @@ -13440,18 +13440,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6014, + "id": 6147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6012, + "id": 6145, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "10929:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13463,7 +13463,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6013, + "id": 6146, "isConstant": false, "isLValue": false, "isPure": true, @@ -13491,11 +13491,11 @@ } }, "falseBody": null, - "id": 6019, + "id": 6152, "nodeType": "IfStatement", "src": "10915:55:17", "trueBody": { - "id": 6018, + "id": 6151, "nodeType": "Block", "src": "10937:33:17", "statements": [ @@ -13503,7 +13503,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6016, + "id": 6149, "isConstant": false, "isLValue": false, "isPure": true, @@ -13518,8 +13518,8 @@ }, "value": "0" }, - "functionReturnParameters": 6008, - "id": 6017, + "functionReturnParameters": 6141, + "id": 6150, "nodeType": "Return", "src": "10951:8:17" } @@ -13528,17 +13528,17 @@ }, { "assignments": [ - 6021 + 6154 ], "declarations": [ { "constant": false, - "id": 6021, + "id": 6154, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6037, + "scope": 6170, "src": "10979:6:17", "stateVariable": false, "storageLocation": "default", @@ -13547,7 +13547,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6020, + "id": 6153, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10979:4:17", @@ -13560,25 +13560,25 @@ "visibility": "internal" } ], - "id": 6025, + "id": 6158, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6024, + "id": 6157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6022, + "id": 6155, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "10988:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13589,11 +13589,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 6023, + "id": 6156, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "10992:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13619,7 +13619,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6031, + "id": 6164, "isConstant": false, "isLValue": false, "isPure": false, @@ -13630,18 +13630,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6029, + "id": 6162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6027, + "id": 6160, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6021, + "referencedDeclaration": 6154, "src": "11011:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13652,11 +13652,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6028, + "id": 6161, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "11015:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13673,11 +13673,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 6030, + "id": 6163, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "11020:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13692,11 +13692,11 @@ }, { "argumentTypes": null, - "id": 6032, + "id": 6165, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6004, + "referencedDeclaration": 6137, "src": "11023:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -13715,7 +13715,7 @@ "typeString": "string memory" } ], - "id": 6026, + "id": 6159, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -13729,7 +13729,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6033, + "id": 6166, "isConstant": false, "isLValue": false, "isPure": false, @@ -13744,33 +13744,33 @@ "typeString": "tuple()" } }, - "id": 6034, + "id": 6167, "nodeType": "ExpressionStatement", "src": "11003:33:17" }, { "expression": { "argumentTypes": null, - "id": 6035, + "id": 6168, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6021, + "referencedDeclaration": 6154, "src": "11053:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6008, - "id": 6036, + "functionReturnParameters": 6141, + "id": 6169, "nodeType": "Return", "src": "11046:8:17" } ] }, "documentation": null, - "id": 6038, + "id": 6171, "implemented": true, "kind": "function", "modifiers": [], @@ -13778,17 +13778,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6005, + "id": 6138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6000, + "id": 6133, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10832:6:17", "stateVariable": false, "storageLocation": "default", @@ -13797,7 +13797,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5999, + "id": 6132, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10832:4:17", @@ -13811,12 +13811,12 @@ }, { "constant": false, - "id": 6002, + "id": 6135, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10840:6:17", "stateVariable": false, "storageLocation": "default", @@ -13825,7 +13825,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6001, + "id": 6134, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10840:4:17", @@ -13839,12 +13839,12 @@ }, { "constant": false, - "id": 6004, + "id": 6137, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10848:26:17", "stateVariable": false, "storageLocation": "memory", @@ -13853,7 +13853,7 @@ "typeString": "string" }, "typeName": { - "id": 6003, + "id": 6136, "name": "string", "nodeType": "ElementaryTypeName", "src": "10848:6:17", @@ -13869,17 +13869,17 @@ "src": "10831:44:17" }, "returnParameters": { - "id": 6008, + "id": 6141, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6007, + "id": 6140, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10899:4:17", "stateVariable": false, "storageLocation": "default", @@ -13888,7 +13888,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6006, + "id": 6139, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10899:4:17", @@ -13903,7 +13903,7 @@ ], "src": "10898:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10818:243:17", "stateMutability": "pure", "virtual": false, @@ -13911,7 +13911,7 @@ }, { "body": { - "id": 6059, + "id": 6192, "nodeType": "Block", "src": "11144:85:17", "statements": [ @@ -13929,25 +13929,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6050, + "id": 6183, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6040, + "referencedDeclaration": 6173, "src": "11186:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6051, + "id": 6184, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11186:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13956,11 +13956,11 @@ }, { "argumentTypes": null, - "id": 6052, + "id": 6185, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "11198:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13979,27 +13979,27 @@ "typeString": "uint256" } ], - "id": 6049, + "id": 6182, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11181:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6053, + "id": 6186, "isConstant": false, "isLValue": false, "isPure": false, @@ -14018,25 +14018,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6054, + "id": 6187, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6042, + "referencedDeclaration": 6175, "src": "11209:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6055, + "id": 6188, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11209:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14055,27 +14055,27 @@ "typeString": "uint256" } ], - "id": 6048, + "id": 6181, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11176:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6056, + "id": 6189, "isConstant": false, "isLValue": false, "isPure": false, @@ -14098,18 +14098,18 @@ "typeString": "uint256" } ], - "id": 6047, + "id": 6180, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11161:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 6057, + "id": 6190, "isConstant": false, "isLValue": false, "isPure": false, @@ -14122,19 +14122,19 @@ "src": "11161:61:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 6046, - "id": 6058, + "functionReturnParameters": 6179, + "id": 6191, "nodeType": "Return", "src": "11154:68:17" } ] }, "documentation": null, - "id": 6060, + "id": 6193, "implemented": true, "kind": "function", "modifiers": [], @@ -14142,33 +14142,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6043, + "id": 6176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6040, + "id": 6173, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11081:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6039, + "id": 6172, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11081:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14177,28 +14177,28 @@ }, { "constant": false, - "id": 6042, + "id": 6175, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11095:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6041, + "id": 6174, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11095:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14209,33 +14209,33 @@ "src": "11080:28:17" }, "returnParameters": { - "id": 6046, + "id": 6179, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6045, + "id": 6178, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11132:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6044, + "id": 6177, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11132:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14245,7 +14245,7 @@ ], "src": "11131:12:17" }, - "scope": 6216, + "scope": 6349, "src": "11067:162:17", "stateMutability": "pure", "virtual": false, @@ -14253,7 +14253,7 @@ }, { "body": { - "id": 6077, + "id": 6210, "nodeType": "Block", "src": "11306:60:17", "statements": [ @@ -14268,25 +14268,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6071, + "id": 6204, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6062, + "referencedDeclaration": 6195, "src": "11343:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6072, + "id": 6205, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11343:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14295,11 +14295,11 @@ }, { "argumentTypes": null, - "id": 6073, + "id": 6206, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6064, + "referencedDeclaration": 6197, "src": "11355:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14318,27 +14318,27 @@ "typeString": "uint256" } ], - "id": 6070, + "id": 6203, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11338:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6074, + "id": 6207, "isConstant": false, "isLValue": false, "isPure": false, @@ -14361,18 +14361,18 @@ "typeString": "uint256" } ], - "id": 6069, + "id": 6202, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11323:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 6075, + "id": 6208, "isConstant": false, "isLValue": false, "isPure": false, @@ -14385,19 +14385,19 @@ "src": "11323:36:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 6068, - "id": 6076, + "functionReturnParameters": 6201, + "id": 6209, "nodeType": "Return", "src": "11316:43:17" } ] }, "documentation": null, - "id": 6078, + "id": 6211, "implemented": true, "kind": "function", "modifiers": [], @@ -14405,33 +14405,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6065, + "id": 6198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6062, + "id": 6195, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11249:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6061, + "id": 6194, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11249:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14440,12 +14440,12 @@ }, { "constant": false, - "id": 6064, + "id": 6197, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11263:6:17", "stateVariable": false, "storageLocation": "default", @@ -14454,7 +14454,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6063, + "id": 6196, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11263:4:17", @@ -14470,33 +14470,33 @@ "src": "11248:22:17" }, "returnParameters": { - "id": 6068, + "id": 6201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6067, + "id": 6200, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11294:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6066, + "id": 6199, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11294:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14506,7 +14506,7 @@ ], "src": "11293:12:17" }, - "scope": 6216, + "scope": 6349, "src": "11235:131:17", "stateMutability": "pure", "virtual": false, @@ -14514,7 +14514,7 @@ }, { "body": { - "id": 6096, + "id": 6229, "nodeType": "Block", "src": "11437:59:17", "statements": [ @@ -14527,11 +14527,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6089, + "id": 6222, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6080, + "referencedDeclaration": 6213, "src": "11464:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14540,11 +14540,11 @@ }, { "argumentTypes": null, - "id": 6090, + "id": 6223, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "11467:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14563,27 +14563,27 @@ "typeString": "uint256" } ], - "id": 6088, + "id": 6221, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11459:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6091, + "id": 6224, "isConstant": false, "isLValue": false, "isPure": false, @@ -14602,25 +14602,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6092, + "id": 6225, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6082, + "referencedDeclaration": 6215, "src": "11478:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6093, + "id": 6226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11478:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14639,27 +14639,27 @@ "typeString": "uint256" } ], - "id": 6087, + "id": 6220, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11454:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6094, + "id": 6227, "isConstant": false, "isLValue": false, "isPure": false, @@ -14674,15 +14674,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6086, - "id": 6095, + "functionReturnParameters": 6219, + "id": 6228, "nodeType": "Return", "src": "11447:42:17" } ] }, "documentation": null, - "id": 6097, + "id": 6230, "implemented": true, "kind": "function", "modifiers": [], @@ -14690,17 +14690,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6083, + "id": 6216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6080, + "id": 6213, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11386:6:17", "stateVariable": false, "storageLocation": "default", @@ -14709,7 +14709,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6079, + "id": 6212, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11386:4:17", @@ -14723,28 +14723,28 @@ }, { "constant": false, - "id": 6082, + "id": 6215, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11394:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6081, + "id": 6214, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11394:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -14755,17 +14755,17 @@ "src": "11385:22:17" }, "returnParameters": { - "id": 6086, + "id": 6219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6085, + "id": 6218, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11431:4:17", "stateVariable": false, "storageLocation": "default", @@ -14774,7 +14774,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6084, + "id": 6217, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11431:4:17", @@ -14789,7 +14789,7 @@ ], "src": "11430:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11372:124:17", "stateMutability": "pure", "virtual": false, @@ -14797,7 +14797,7 @@ }, { "body": { - "id": 6118, + "id": 6251, "nodeType": "Block", "src": "11588:91:17", "statements": [ @@ -14815,25 +14815,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6109, + "id": 6242, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6099, + "referencedDeclaration": 6232, "src": "11633:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6110, + "id": 6243, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11633:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14842,11 +14842,11 @@ }, { "argumentTypes": null, - "id": 6111, + "id": 6244, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "11645:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14865,27 +14865,27 @@ "typeString": "uint256" } ], - "id": 6108, + "id": 6241, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11628:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6112, + "id": 6245, "isConstant": false, "isLValue": false, "isPure": false, @@ -14904,25 +14904,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6113, + "id": 6246, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6101, + "referencedDeclaration": 6234, "src": "11659:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6114, + "id": 6247, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11659:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14941,27 +14941,27 @@ "typeString": "uint256" } ], - "id": 6107, + "id": 6240, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11623:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6115, + "id": 6248, "isConstant": false, "isLValue": false, "isPure": false, @@ -14984,18 +14984,18 @@ "typeString": "uint256" } ], - "id": 6106, + "id": 6239, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11605:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6116, + "id": 6249, "isConstant": false, "isLValue": false, "isPure": false, @@ -15008,19 +15008,19 @@ "src": "11605:67:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6105, - "id": 6117, + "functionReturnParameters": 6238, + "id": 6250, "nodeType": "Return", "src": "11598:74:17" } ] }, "documentation": null, - "id": 6119, + "id": 6252, "implemented": true, "kind": "function", "modifiers": [], @@ -15028,33 +15028,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6102, + "id": 6235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6099, + "id": 6232, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11516:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6098, + "id": 6231, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11516:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15063,28 +15063,28 @@ }, { "constant": false, - "id": 6101, + "id": 6234, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11533:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6100, + "id": 6233, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11533:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15095,33 +15095,33 @@ "src": "11515:34:17" }, "returnParameters": { - "id": 6105, + "id": 6238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6104, + "id": 6237, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11573:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6103, + "id": 6236, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11573:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15131,7 +15131,7 @@ ], "src": "11572:15:17" }, - "scope": 6216, + "scope": 6349, "src": "11502:177:17", "stateMutability": "pure", "virtual": false, @@ -15139,7 +15139,7 @@ }, { "body": { - "id": 6136, + "id": 6269, "nodeType": "Block", "src": "11762:63:17", "statements": [ @@ -15154,25 +15154,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6130, + "id": 6263, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6121, + "referencedDeclaration": 6254, "src": "11802:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6131, + "id": 6264, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11802:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15181,11 +15181,11 @@ }, { "argumentTypes": null, - "id": 6132, + "id": 6265, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6123, + "referencedDeclaration": 6256, "src": "11814:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15204,27 +15204,27 @@ "typeString": "uint256" } ], - "id": 6129, + "id": 6262, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11797:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6133, + "id": 6266, "isConstant": false, "isLValue": false, "isPure": false, @@ -15247,18 +15247,18 @@ "typeString": "uint256" } ], - "id": 6128, + "id": 6261, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11779:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6134, + "id": 6267, "isConstant": false, "isLValue": false, "isPure": false, @@ -15271,19 +15271,19 @@ "src": "11779:39:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6127, - "id": 6135, + "functionReturnParameters": 6260, + "id": 6268, "nodeType": "Return", "src": "11772:46:17" } ] }, "documentation": null, - "id": 6137, + "id": 6270, "implemented": true, "kind": "function", "modifiers": [], @@ -15291,33 +15291,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6124, + "id": 6257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6121, + "id": 6254, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11699:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6120, + "id": 6253, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11699:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15326,12 +15326,12 @@ }, { "constant": false, - "id": 6123, + "id": 6256, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11716:6:17", "stateVariable": false, "storageLocation": "default", @@ -15340,7 +15340,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6122, + "id": 6255, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11716:4:17", @@ -15356,33 +15356,33 @@ "src": "11698:25:17" }, "returnParameters": { - "id": 6127, + "id": 6260, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6126, + "id": 6259, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11747:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6125, + "id": 6258, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11747:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15392,7 +15392,7 @@ ], "src": "11746:15:17" }, - "scope": 6216, + "scope": 6349, "src": "11685:140:17", "stateMutability": "pure", "virtual": false, @@ -15400,7 +15400,7 @@ }, { "body": { - "id": 6155, + "id": 6288, "nodeType": "Block", "src": "11899:62:17", "statements": [ @@ -15413,11 +15413,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6148, + "id": 6281, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6139, + "referencedDeclaration": 6272, "src": "11926:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15426,11 +15426,11 @@ }, { "argumentTypes": null, - "id": 6149, + "id": 6282, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "11929:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15449,27 +15449,27 @@ "typeString": "uint256" } ], - "id": 6147, + "id": 6280, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11921:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6150, + "id": 6283, "isConstant": false, "isLValue": false, "isPure": false, @@ -15488,25 +15488,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6151, + "id": 6284, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, + "referencedDeclaration": 6274, "src": "11943:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6152, + "id": 6285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11943:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15525,27 +15525,27 @@ "typeString": "uint256" } ], - "id": 6146, + "id": 6279, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11916:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6153, + "id": 6286, "isConstant": false, "isLValue": false, "isPure": false, @@ -15560,15 +15560,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6145, - "id": 6154, + "functionReturnParameters": 6278, + "id": 6287, "nodeType": "Return", "src": "11909:45:17" } ] }, "documentation": null, - "id": 6156, + "id": 6289, "implemented": true, "kind": "function", "modifiers": [], @@ -15576,17 +15576,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6142, + "id": 6275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6139, + "id": 6272, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11845:6:17", "stateVariable": false, "storageLocation": "default", @@ -15595,7 +15595,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6138, + "id": 6271, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11845:4:17", @@ -15609,28 +15609,28 @@ }, { "constant": false, - "id": 6141, + "id": 6274, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11853:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6140, + "id": 6273, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11853:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -15641,17 +15641,17 @@ "src": "11844:25:17" }, "returnParameters": { - "id": 6145, + "id": 6278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6144, + "id": 6277, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11893:4:17", "stateVariable": false, "storageLocation": "default", @@ -15660,7 +15660,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6143, + "id": 6276, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11893:4:17", @@ -15675,7 +15675,7 @@ ], "src": "11892:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11831:130:17", "stateMutability": "pure", "virtual": false, @@ -15683,7 +15683,7 @@ }, { "body": { - "id": 6171, + "id": 6304, "nodeType": "Block", "src": "12026:52:17", "statements": [ @@ -15693,11 +15693,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6166, + "id": 6299, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6158, + "referencedDeclaration": 6291, "src": "12048:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15706,11 +15706,11 @@ }, { "argumentTypes": null, - "id": 6167, + "id": 6300, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6160, + "referencedDeclaration": 6293, "src": "12051:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15720,7 +15720,7 @@ { "argumentTypes": null, "hexValue": "646976696465206279207a65726f", - "id": 6168, + "id": 6301, "isConstant": false, "isLValue": false, "isPure": true, @@ -15751,27 +15751,27 @@ "typeString": "literal_string \"divide by zero\"" } ], - "id": 6165, + "id": 6298, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6195, + "referencedDeclaration": 6328, "src": "12043:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 6169, + "id": 6302, "isConstant": false, "isLValue": false, "isPure": false, @@ -15786,15 +15786,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6164, - "id": 6170, + "functionReturnParameters": 6297, + "id": 6303, "nodeType": "Return", "src": "12036:35:17" } ] }, "documentation": null, - "id": 6172, + "id": 6305, "implemented": true, "kind": "function", "modifiers": [], @@ -15802,17 +15802,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6161, + "id": 6294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6158, + "id": 6291, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "11981:6:17", "stateVariable": false, "storageLocation": "default", @@ -15821,7 +15821,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6157, + "id": 6290, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11981:4:17", @@ -15835,12 +15835,12 @@ }, { "constant": false, - "id": 6160, + "id": 6293, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "11989:6:17", "stateVariable": false, "storageLocation": "default", @@ -15849,7 +15849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6159, + "id": 6292, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11989:4:17", @@ -15865,17 +15865,17 @@ "src": "11980:16:17" }, "returnParameters": { - "id": 6164, + "id": 6297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6163, + "id": 6296, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "12020:4:17", "stateVariable": false, "storageLocation": "default", @@ -15884,7 +15884,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6162, + "id": 6295, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12020:4:17", @@ -15899,7 +15899,7 @@ ], "src": "12019:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11967:111:17", "stateMutability": "pure", "virtual": false, @@ -15907,7 +15907,7 @@ }, { "body": { - "id": 6194, + "id": 6327, "nodeType": "Block", "src": "12171:67:17", "statements": [ @@ -15921,18 +15921,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6186, + "id": 6319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6184, + "id": 6317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6176, + "referencedDeclaration": 6309, "src": "12189:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15944,7 +15944,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6185, + "id": 6318, "isConstant": false, "isLValue": false, "isPure": true, @@ -15967,11 +15967,11 @@ }, { "argumentTypes": null, - "id": 6187, + "id": 6320, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6178, + "referencedDeclaration": 6311, "src": "12196:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -15990,7 +15990,7 @@ "typeString": "string memory" } ], - "id": 6183, + "id": 6316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -16004,7 +16004,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6188, + "id": 6321, "isConstant": false, "isLValue": false, "isPure": false, @@ -16019,7 +16019,7 @@ "typeString": "tuple()" } }, - "id": 6189, + "id": 6322, "nodeType": "ExpressionStatement", "src": "12181:28:17" }, @@ -16030,18 +16030,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6192, + "id": 6325, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6190, + "id": 6323, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, + "referencedDeclaration": 6307, "src": "12226:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16052,11 +16052,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6191, + "id": 6324, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6176, + "referencedDeclaration": 6309, "src": "12230:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16069,15 +16069,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6182, - "id": 6193, + "functionReturnParameters": 6315, + "id": 6326, "nodeType": "Return", "src": "12219:12:17" } ] }, "documentation": null, - "id": 6195, + "id": 6328, "implemented": true, "kind": "function", "modifiers": [], @@ -16085,17 +16085,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6179, + "id": 6312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6174, + "id": 6307, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12098:6:17", "stateVariable": false, "storageLocation": "default", @@ -16104,7 +16104,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6173, + "id": 6306, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12098:4:17", @@ -16118,12 +16118,12 @@ }, { "constant": false, - "id": 6176, + "id": 6309, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12106:6:17", "stateVariable": false, "storageLocation": "default", @@ -16132,7 +16132,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6175, + "id": 6308, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12106:4:17", @@ -16146,12 +16146,12 @@ }, { "constant": false, - "id": 6178, + "id": 6311, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12114:26:17", "stateVariable": false, "storageLocation": "memory", @@ -16160,7 +16160,7 @@ "typeString": "string" }, "typeName": { - "id": 6177, + "id": 6310, "name": "string", "nodeType": "ElementaryTypeName", "src": "12114:6:17", @@ -16176,17 +16176,17 @@ "src": "12097:44:17" }, "returnParameters": { - "id": 6182, + "id": 6315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6181, + "id": 6314, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12165:4:17", "stateVariable": false, "storageLocation": "default", @@ -16195,7 +16195,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6180, + "id": 6313, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12165:4:17", @@ -16210,7 +16210,7 @@ ], "src": "12164:6:17" }, - "scope": 6216, + "scope": 6349, "src": "12084:154:17", "stateMutability": "pure", "virtual": false, @@ -16218,7 +16218,7 @@ }, { "body": { - "id": 6214, + "id": 6347, "nodeType": "Block", "src": "12316:73:17", "statements": [ @@ -16234,11 +16234,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6207, + "id": 6340, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6197, + "referencedDeclaration": 6330, "src": "12361:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16247,11 +16247,11 @@ }, { "argumentTypes": null, - "id": 6208, + "id": 6341, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "12364:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16270,27 +16270,27 @@ "typeString": "uint256" } ], - "id": 6206, + "id": 6339, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "12356:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6209, + "id": 6342, "isConstant": false, "isLValue": false, "isPure": false, @@ -16307,11 +16307,11 @@ }, { "argumentTypes": null, - "id": 6210, + "id": 6343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6199, + "referencedDeclaration": 6332, "src": "12378:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16330,27 +16330,27 @@ "typeString": "uint256" } ], - "id": 6205, + "id": 6338, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "12351:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6211, + "id": 6344, "isConstant": false, "isLValue": false, "isPure": false, @@ -16373,18 +16373,18 @@ "typeString": "uint256" } ], - "id": 6204, + "id": 6337, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "12333:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6212, + "id": 6345, "isConstant": false, "isLValue": false, "isPure": false, @@ -16397,19 +16397,19 @@ "src": "12333:49:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6203, - "id": 6213, + "functionReturnParameters": 6336, + "id": 6346, "nodeType": "Return", "src": "12326:56:17" } ] }, "documentation": null, - "id": 6215, + "id": 6348, "implemented": true, "kind": "function", "modifiers": [], @@ -16417,17 +16417,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6200, + "id": 6333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6197, + "id": 6330, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12262:6:17", "stateVariable": false, "storageLocation": "default", @@ -16436,7 +16436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6196, + "id": 6329, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12262:4:17", @@ -16450,12 +16450,12 @@ }, { "constant": false, - "id": 6199, + "id": 6332, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12270:6:17", "stateVariable": false, "storageLocation": "default", @@ -16464,7 +16464,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6198, + "id": 6331, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12270:4:17", @@ -16480,33 +16480,33 @@ "src": "12261:16:17" }, "returnParameters": { - "id": 6203, + "id": 6336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6202, + "id": 6335, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12301:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6201, + "id": 6334, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "12301:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -16516,31 +16516,31 @@ ], "src": "12300:15:17" }, - "scope": 6216, + "scope": 6349, "src": "12244:145:17", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6217, + "scope": 6350, "src": "379:12012:17" } ], "src": "0:12392:17" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "exportedSymbols": { "Exponential": [ - 6216 + 6349 ] }, - "id": 6217, + "id": 6350, "nodeType": "SourceUnit", "nodes": [ { - "id": 5033, + "id": 5166, "literals": [ "solidity", "^", @@ -16551,12 +16551,12 @@ "src": "0:23:17" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol", "file": "./CarefulMath.sol", - "id": 5034, + "id": 5167, "nodeType": "ImportDirective", - "scope": 6217, - "sourceUnit": 5032, + "scope": 6350, + "sourceUnit": 5165, "src": "25:27:17", "symbolAliases": [], "unitAlias": "" @@ -16568,48 +16568,48 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 5036, + "id": 5169, "name": "CarefulMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5031, + "referencedDeclaration": 5164, "src": "403:11:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_CarefulMath_$5031", + "typeIdentifier": "t_contract$_CarefulMath_$5164", "typeString": "contract CarefulMath" } }, - "id": 5037, + "id": 5170, "nodeType": "InheritanceSpecifier", "src": "403:11:17" } ], "contractDependencies": [ - 5031 + 5164 ], "contractKind": "contract", "documentation": { - "id": 5035, + "id": 5168, "nodeType": "StructuredDocumentation", "src": "54:324:17", "text": "@title Exponential module for storing fixed-precision decimals\n@author Compound\n@notice Exp is a struct which stores decimals with a fixed precision of 18 decimal places.\n Thus, if we wanted to store the 5.1, mantissa would store 5.1e18. That is:\n `Exp({mantissa: 5100000000000000000})`." }, "fullyImplemented": true, - "id": 6216, + "id": 6349, "linearizedBaseContracts": [ - 6216, - 5031 + 6349, + 5164 ], "name": "Exponential", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 5040, + "id": 5173, "mutability": "constant", "name": "expScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "421:29:17", "stateVariable": true, "storageLocation": "default", @@ -16618,7 +16618,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5038, + "id": 5171, "name": "uint", "nodeType": "ElementaryTypeName", "src": "421:4:17", @@ -16630,7 +16630,7 @@ "value": { "argumentTypes": null, "hexValue": "31653138", - "id": 5039, + "id": 5172, "isConstant": false, "isLValue": false, "isPure": true, @@ -16649,12 +16649,12 @@ }, { "constant": true, - "id": 5043, + "id": 5176, "mutability": "constant", "name": "doubleScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "456:32:17", "stateVariable": true, "storageLocation": "default", @@ -16663,7 +16663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5041, + "id": 5174, "name": "uint", "nodeType": "ElementaryTypeName", "src": "456:4:17", @@ -16675,7 +16675,7 @@ "value": { "argumentTypes": null, "hexValue": "31653336", - "id": 5042, + "id": 5175, "isConstant": false, "isLValue": false, "isPure": true, @@ -16694,12 +16694,12 @@ }, { "constant": true, - "id": 5048, + "id": 5181, "mutability": "constant", "name": "halfExpScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "494:39:17", "stateVariable": true, "storageLocation": "default", @@ -16708,7 +16708,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5044, + "id": 5177, "name": "uint", "nodeType": "ElementaryTypeName", "src": "494:4:17", @@ -16723,18 +16723,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5047, + "id": 5180, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5045, + "id": 5178, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "523:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16746,7 +16746,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5046, + "id": 5179, "isConstant": false, "isLValue": false, "isPure": true, @@ -16771,12 +16771,12 @@ }, { "constant": true, - "id": 5051, + "id": 5184, "mutability": "constant", "name": "mantissaOne", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6216, + "scope": 6349, "src": "539:36:17", "stateVariable": true, "storageLocation": "default", @@ -16785,7 +16785,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5049, + "id": 5182, "name": "uint", "nodeType": "ElementaryTypeName", "src": "539:4:17", @@ -16796,11 +16796,11 @@ }, "value": { "argumentTypes": null, - "id": 5050, + "id": 5183, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "567:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16811,16 +16811,16 @@ }, { "canonicalName": "Exponential.Exp", - "id": 5054, + "id": 5187, "members": [ { "constant": false, - "id": 5053, + "id": 5186, "mutability": "mutable", "name": "mantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5054, + "scope": 5187, "src": "603:13:17", "stateVariable": false, "storageLocation": "default", @@ -16829,7 +16829,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5052, + "id": 5185, "name": "uint", "nodeType": "ElementaryTypeName", "src": "603:4:17", @@ -16844,22 +16844,22 @@ ], "name": "Exp", "nodeType": "StructDefinition", - "scope": 6216, + "scope": 6349, "src": "582:41:17", "visibility": "public" }, { "canonicalName": "Exponential.Double", - "id": 5057, + "id": 5190, "members": [ { "constant": false, - "id": 5056, + "id": 5189, "mutability": "mutable", "name": "mantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5057, + "scope": 5190, "src": "653:13:17", "stateVariable": false, "storageLocation": "default", @@ -16868,7 +16868,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5055, + "id": 5188, "name": "uint", "nodeType": "ElementaryTypeName", "src": "653:4:17", @@ -16883,46 +16883,46 @@ ], "name": "Double", "nodeType": "StructDefinition", - "scope": 6216, + "scope": 6349, "src": "629:44:17", "visibility": "public" }, { "body": { - "id": 5118, + "id": 5251, "nodeType": "Block", "src": "959:419:17", "statements": [ { "assignments": [ - 5070, - 5072 + 5203, + 5205 ], "declarations": [ { "constant": false, - "id": 5070, + "id": 5203, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "970:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5069, + "id": 5202, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "970:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -16931,12 +16931,12 @@ }, { "constant": false, - "id": 5072, + "id": 5205, "mutability": "mutable", "name": "scaledNumerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "986:20:17", "stateVariable": false, "storageLocation": "default", @@ -16945,7 +16945,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5071, + "id": 5204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "986:4:17", @@ -16958,17 +16958,17 @@ "visibility": "internal" } ], - "id": 5077, + "id": 5210, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5074, + "id": 5207, "name": "num", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5060, + "referencedDeclaration": 5193, "src": "1018:3:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16977,11 +16977,11 @@ }, { "argumentTypes": null, - "id": 5075, + "id": 5208, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "1023:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17000,18 +17000,18 @@ "typeString": "uint256" } ], - "id": 5073, + "id": 5206, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "1010:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5076, + "id": 5209, "isConstant": false, "isLValue": false, "isPure": false, @@ -17022,7 +17022,7 @@ "src": "1010:22:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -17033,24 +17033,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5081, + "id": 5214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5078, + "id": 5211, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5070, + "referencedDeclaration": 5203, "src": "1046:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17060,18 +17060,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5079, + "id": 5212, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1054:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5080, + "id": 5213, "isConstant": false, "isLValue": false, "isPure": true, @@ -17081,7 +17081,7 @@ "referencedDeclaration": null, "src": "1054:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17092,11 +17092,11 @@ } }, "falseBody": null, - "id": 5089, + "id": 5222, "nodeType": "IfStatement", "src": "1042:90:17", "trueBody": { - "id": 5088, + "id": 5221, "nodeType": "Block", "src": "1074:58:17", "statements": [ @@ -17106,14 +17106,14 @@ "components": [ { "argumentTypes": null, - "id": 5082, + "id": 5215, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5070, + "referencedDeclaration": 5203, "src": "1096:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17123,7 +17123,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5084, + "id": 5217, "isConstant": false, "isLValue": false, "isPure": true, @@ -17146,18 +17146,18 @@ "typeString": "int_const 0" } ], - "id": 5083, + "id": 5216, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1102:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5085, + "id": 5218, "isConstant": false, "isLValue": false, "isPure": true, @@ -17170,12 +17170,12 @@ "src": "1102:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5086, + "id": 5219, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -17184,12 +17184,12 @@ "nodeType": "TupleExpression", "src": "1095:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5087, + "functionReturnParameters": 5201, + "id": 5220, "nodeType": "Return", "src": "1088:33:17" } @@ -17198,34 +17198,34 @@ }, { "assignments": [ - 5091, - 5093 + 5224, + 5226 ], "declarations": [ { "constant": false, - "id": 5091, + "id": 5224, "mutability": "mutable", "name": "err1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "1143:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5090, + "id": 5223, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1143:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17234,12 +17234,12 @@ }, { "constant": false, - "id": 5093, + "id": 5226, "mutability": "mutable", "name": "rational", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5118, + "scope": 5251, "src": "1159:13:17", "stateVariable": false, "storageLocation": "default", @@ -17248,7 +17248,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5092, + "id": 5225, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1159:4:17", @@ -17261,17 +17261,17 @@ "visibility": "internal" } ], - "id": 5098, + "id": 5231, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5095, + "id": 5228, "name": "scaledNumerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5072, + "referencedDeclaration": 5205, "src": "1184:15:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17280,11 +17280,11 @@ }, { "argumentTypes": null, - "id": 5096, + "id": 5229, "name": "denom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5062, + "referencedDeclaration": 5195, "src": "1201:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17303,18 +17303,18 @@ "typeString": "uint256" } ], - "id": 5094, + "id": 5227, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "1176:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5097, + "id": 5230, "isConstant": false, "isLValue": false, "isPure": false, @@ -17325,7 +17325,7 @@ "src": "1176:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -17336,24 +17336,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5102, + "id": 5235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5099, + "id": 5232, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5091, + "referencedDeclaration": 5224, "src": "1221:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17363,18 +17363,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5100, + "id": 5233, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1229:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5101, + "id": 5234, "isConstant": false, "isLValue": false, "isPure": true, @@ -17384,7 +17384,7 @@ "referencedDeclaration": null, "src": "1229:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17395,11 +17395,11 @@ } }, "falseBody": null, - "id": 5110, + "id": 5243, "nodeType": "IfStatement", "src": "1217:90:17", "trueBody": { - "id": 5109, + "id": 5242, "nodeType": "Block", "src": "1249:58:17", "statements": [ @@ -17409,14 +17409,14 @@ "components": [ { "argumentTypes": null, - "id": 5103, + "id": 5236, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5091, + "referencedDeclaration": 5224, "src": "1271:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17426,7 +17426,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5105, + "id": 5238, "isConstant": false, "isLValue": false, "isPure": true, @@ -17449,18 +17449,18 @@ "typeString": "int_const 0" } ], - "id": 5104, + "id": 5237, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1277:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5106, + "id": 5239, "isConstant": false, "isLValue": false, "isPure": true, @@ -17473,12 +17473,12 @@ "src": "1277:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5107, + "id": 5240, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -17487,12 +17487,12 @@ "nodeType": "TupleExpression", "src": "1270:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5108, + "functionReturnParameters": 5201, + "id": 5241, "nodeType": "Return", "src": "1263:33:17" } @@ -17507,18 +17507,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5111, + "id": 5244, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1325:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5112, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": true, @@ -17528,7 +17528,7 @@ "referencedDeclaration": null, "src": "1325:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17537,11 +17537,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5114, + "id": 5247, "name": "rational", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, + "referencedDeclaration": 5226, "src": "1360:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17556,18 +17556,18 @@ "typeString": "uint256" } ], - "id": 5113, + "id": 5246, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1345:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5115, + "id": 5248, "isConstant": false, "isLValue": false, "isPure": false, @@ -17580,12 +17580,12 @@ "src": "1345:25:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5116, + "id": 5249, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -17594,24 +17594,24 @@ "nodeType": "TupleExpression", "src": "1324:47:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5068, - "id": 5117, + "functionReturnParameters": 5201, + "id": 5250, "nodeType": "Return", "src": "1317:54:17" } ] }, "documentation": { - "id": 5058, + "id": 5191, "nodeType": "StructuredDocumentation", "src": "679:191:17", "text": "@dev Creates an exponential from numerator and denominator values.\n Note: Returns an error if (`num` * 10e18) > MAX_INT,\n or if `denom` is zero." }, - "id": 5119, + "id": 5252, "implemented": true, "kind": "function", "modifiers": [], @@ -17619,17 +17619,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5063, + "id": 5196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5060, + "id": 5193, "mutability": "mutable", "name": "num", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "891:8:17", "stateVariable": false, "storageLocation": "default", @@ -17638,7 +17638,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5059, + "id": 5192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "891:4:17", @@ -17652,12 +17652,12 @@ }, { "constant": false, - "id": 5062, + "id": 5195, "mutability": "mutable", "name": "denom", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "901:10:17", "stateVariable": false, "storageLocation": "default", @@ -17666,7 +17666,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5061, + "id": 5194, "name": "uint", "nodeType": "ElementaryTypeName", "src": "901:4:17", @@ -17682,33 +17682,33 @@ "src": "890:22:17" }, "returnParameters": { - "id": 5068, + "id": 5201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5065, + "id": 5198, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "936:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5064, + "id": 5197, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "936:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17717,28 +17717,28 @@ }, { "constant": false, - "id": 5067, + "id": 5200, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5119, + "scope": 5252, "src": "947:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5066, + "id": 5199, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "947:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -17748,7 +17748,7 @@ ], "src": "935:23:17" }, - "scope": 6216, + "scope": 6349, "src": "875:503:17", "stateMutability": "pure", "virtual": false, @@ -17756,40 +17756,40 @@ }, { "body": { - "id": 5148, + "id": 5281, "nodeType": "Block", "src": "1554:131:17", "statements": [ { "assignments": [ - 5132, - 5134 + 5265, + 5267 ], "declarations": [ { "constant": false, - "id": 5132, + "id": 5265, "mutability": "mutable", "name": "error", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5148, + "scope": 5281, "src": "1565:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5131, + "id": 5264, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1565:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17798,12 +17798,12 @@ }, { "constant": false, - "id": 5134, + "id": 5267, "mutability": "mutable", "name": "result", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5148, + "scope": 5281, "src": "1582:11:17", "stateVariable": false, "storageLocation": "default", @@ -17812,7 +17812,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5133, + "id": 5266, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1582:4:17", @@ -17825,7 +17825,7 @@ "visibility": "internal" } ], - "id": 5141, + "id": 5274, "initialValue": { "argumentTypes": null, "arguments": [ @@ -17833,25 +17833,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5136, + "id": 5269, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5122, + "referencedDeclaration": 5255, "src": "1605:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5137, + "id": 5270, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1605:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17862,25 +17862,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5138, + "id": 5271, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5124, + "referencedDeclaration": 5257, "src": "1617:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5139, + "id": 5272, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1617:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17899,18 +17899,18 @@ "typeString": "uint256" } ], - "id": 5135, + "id": 5268, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "1597:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5140, + "id": 5273, "isConstant": false, "isLValue": false, "isPure": false, @@ -17921,7 +17921,7 @@ "src": "1597:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -17934,14 +17934,14 @@ "components": [ { "argumentTypes": null, - "id": 5142, + "id": 5275, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5132, + "referencedDeclaration": 5265, "src": "1647:5:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -17950,11 +17950,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5144, + "id": 5277, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5134, + "referencedDeclaration": 5267, "src": "1669:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17969,18 +17969,18 @@ "typeString": "uint256" } ], - "id": 5143, + "id": 5276, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1654:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5145, + "id": 5278, "isConstant": false, "isLValue": false, "isPure": false, @@ -17993,12 +17993,12 @@ "src": "1654:23:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5146, + "id": 5279, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -18007,24 +18007,24 @@ "nodeType": "TupleExpression", "src": "1646:32:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5130, - "id": 5147, + "functionReturnParameters": 5263, + "id": 5280, "nodeType": "Return", "src": "1639:39:17" } ] }, "documentation": { - "id": 5120, + "id": 5253, "nodeType": "StructuredDocumentation", "src": "1384:75:17", "text": "@dev Adds two exponentials, returning a new exponential." }, - "id": 5149, + "id": 5282, "implemented": true, "kind": "function", "modifiers": [], @@ -18032,33 +18032,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5125, + "id": 5258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5122, + "id": 5255, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1480:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5121, + "id": 5254, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1480:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18067,28 +18067,28 @@ }, { "constant": false, - "id": 5124, + "id": 5257, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1494:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5123, + "id": 5256, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1494:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18099,33 +18099,33 @@ "src": "1479:28:17" }, "returnParameters": { - "id": 5130, + "id": 5263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5127, + "id": 5260, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1531:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5126, + "id": 5259, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1531:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18134,28 +18134,28 @@ }, { "constant": false, - "id": 5129, + "id": 5262, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5149, + "scope": 5282, "src": "1542:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5128, + "id": 5261, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1542:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18165,7 +18165,7 @@ ], "src": "1530:23:17" }, - "scope": 6216, + "scope": 6349, "src": "1464:221:17", "stateMutability": "pure", "virtual": false, @@ -18173,40 +18173,40 @@ }, { "body": { - "id": 5178, + "id": 5311, "nodeType": "Block", "src": "1866:131:17", "statements": [ { "assignments": [ - 5162, - 5164 + 5295, + 5297 ], "declarations": [ { "constant": false, - "id": 5162, + "id": 5295, "mutability": "mutable", "name": "error", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5178, + "scope": 5311, "src": "1877:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5161, + "id": 5294, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1877:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18215,12 +18215,12 @@ }, { "constant": false, - "id": 5164, + "id": 5297, "mutability": "mutable", "name": "result", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5178, + "scope": 5311, "src": "1894:11:17", "stateVariable": false, "storageLocation": "default", @@ -18229,7 +18229,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5163, + "id": 5296, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1894:4:17", @@ -18242,7 +18242,7 @@ "visibility": "internal" } ], - "id": 5171, + "id": 5304, "initialValue": { "argumentTypes": null, "arguments": [ @@ -18250,25 +18250,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5166, + "id": 5299, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5152, + "referencedDeclaration": 5285, "src": "1917:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5167, + "id": 5300, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1917:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18279,25 +18279,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5168, + "id": 5301, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5154, + "referencedDeclaration": 5287, "src": "1929:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5169, + "id": 5302, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "1929:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18316,18 +18316,18 @@ "typeString": "uint256" } ], - "id": 5165, + "id": 5298, "name": "subUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4956, + "referencedDeclaration": 5089, "src": "1909:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5170, + "id": 5303, "isConstant": false, "isLValue": false, "isPure": false, @@ -18338,7 +18338,7 @@ "src": "1909:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18351,14 +18351,14 @@ "components": [ { "argumentTypes": null, - "id": 5172, + "id": 5305, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5162, + "referencedDeclaration": 5295, "src": "1959:5:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18367,11 +18367,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5174, + "id": 5307, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5164, + "referencedDeclaration": 5297, "src": "1981:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18386,18 +18386,18 @@ "typeString": "uint256" } ], - "id": 5173, + "id": 5306, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1966:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5175, + "id": 5308, "isConstant": false, "isLValue": false, "isPure": false, @@ -18410,12 +18410,12 @@ "src": "1966:23:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5176, + "id": 5309, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -18424,24 +18424,24 @@ "nodeType": "TupleExpression", "src": "1958:32:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5160, - "id": 5177, + "functionReturnParameters": 5293, + "id": 5310, "nodeType": "Return", "src": "1951:39:17" } ] }, "documentation": { - "id": 5150, + "id": 5283, "nodeType": "StructuredDocumentation", "src": "1691:80:17", "text": "@dev Subtracts two exponentials, returning a new exponential." }, - "id": 5179, + "id": 5312, "implemented": true, "kind": "function", "modifiers": [], @@ -18449,33 +18449,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5155, + "id": 5288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5152, + "id": 5285, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1792:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5151, + "id": 5284, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1792:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18484,28 +18484,28 @@ }, { "constant": false, - "id": 5154, + "id": 5287, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1806:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5153, + "id": 5286, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1806:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18516,33 +18516,33 @@ "src": "1791:28:17" }, "returnParameters": { - "id": 5160, + "id": 5293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5157, + "id": 5290, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1843:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5156, + "id": 5289, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "1843:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18551,28 +18551,28 @@ }, { "constant": false, - "id": 5159, + "id": 5292, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5179, + "scope": 5312, "src": "1854:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5158, + "id": 5291, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "1854:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -18582,7 +18582,7 @@ ], "src": "1842:23:17" }, - "scope": 6216, + "scope": 6349, "src": "1776:221:17", "stateMutability": "pure", "virtual": false, @@ -18590,40 +18590,40 @@ }, { "body": { - "id": 5220, + "id": 5353, "nodeType": "Block", "src": "2173:254:17", "statements": [ { "assignments": [ - 5192, - 5194 + 5325, + 5327 ], "declarations": [ { "constant": false, - "id": 5192, + "id": 5325, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5220, + "scope": 5353, "src": "2184:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5191, + "id": 5324, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2184:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18632,12 +18632,12 @@ }, { "constant": false, - "id": 5194, + "id": 5327, "mutability": "mutable", "name": "scaledMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5220, + "scope": 5353, "src": "2200:19:17", "stateVariable": false, "storageLocation": "default", @@ -18646,7 +18646,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5193, + "id": 5326, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2200:4:17", @@ -18659,7 +18659,7 @@ "visibility": "internal" } ], - "id": 5200, + "id": 5333, "initialValue": { "argumentTypes": null, "arguments": [ @@ -18667,25 +18667,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5196, + "id": 5329, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5182, + "referencedDeclaration": 5315, "src": "2231:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5197, + "id": 5330, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "2231:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18694,11 +18694,11 @@ }, { "argumentTypes": null, - "id": 5198, + "id": 5331, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5184, + "referencedDeclaration": 5317, "src": "2243:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18717,18 +18717,18 @@ "typeString": "uint256" } ], - "id": 5195, + "id": 5328, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "2223:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5199, + "id": 5332, "isConstant": false, "isLValue": false, "isPure": false, @@ -18739,7 +18739,7 @@ "src": "2223:27:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -18750,24 +18750,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5204, + "id": 5337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5201, + "id": 5334, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5325, "src": "2264:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18777,18 +18777,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5202, + "id": 5335, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2272:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5203, + "id": 5336, "isConstant": false, "isLValue": false, "isPure": true, @@ -18798,7 +18798,7 @@ "referencedDeclaration": null, "src": "2272:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18809,11 +18809,11 @@ } }, "falseBody": null, - "id": 5212, + "id": 5345, "nodeType": "IfStatement", "src": "2260:90:17", "trueBody": { - "id": 5211, + "id": 5344, "nodeType": "Block", "src": "2292:58:17", "statements": [ @@ -18823,14 +18823,14 @@ "components": [ { "argumentTypes": null, - "id": 5205, + "id": 5338, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5192, + "referencedDeclaration": 5325, "src": "2314:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18840,7 +18840,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5207, + "id": 5340, "isConstant": false, "isLValue": false, "isPure": true, @@ -18863,18 +18863,18 @@ "typeString": "int_const 0" } ], - "id": 5206, + "id": 5339, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2320:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5208, + "id": 5341, "isConstant": false, "isLValue": false, "isPure": true, @@ -18887,12 +18887,12 @@ "src": "2320:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5209, + "id": 5342, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -18901,12 +18901,12 @@ "nodeType": "TupleExpression", "src": "2313:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5190, - "id": 5210, + "functionReturnParameters": 5323, + "id": 5343, "nodeType": "Return", "src": "2306:33:17" } @@ -18921,18 +18921,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5213, + "id": 5346, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2368:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5214, + "id": 5347, "isConstant": false, "isLValue": false, "isPure": true, @@ -18942,7 +18942,7 @@ "referencedDeclaration": null, "src": "2368:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -18951,11 +18951,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5216, + "id": 5349, "name": "scaledMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5194, + "referencedDeclaration": 5327, "src": "2403:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18970,18 +18970,18 @@ "typeString": "uint256" } ], - "id": 5215, + "id": 5348, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2388:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5217, + "id": 5350, "isConstant": false, "isLValue": false, "isPure": false, @@ -18994,12 +18994,12 @@ "src": "2388:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5218, + "id": 5351, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19008,24 +19008,24 @@ "nodeType": "TupleExpression", "src": "2367:53:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5190, - "id": 5219, + "functionReturnParameters": 5323, + "id": 5352, "nodeType": "Return", "src": "2360:60:17" } ] }, "documentation": { - "id": 5180, + "id": 5313, "nodeType": "StructuredDocumentation", "src": "2003:73:17", "text": "@dev Multiply an Exp by a scalar, returning a new Exp." }, - "id": 5221, + "id": 5354, "implemented": true, "kind": "function", "modifiers": [], @@ -19033,33 +19033,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5185, + "id": 5318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5182, + "id": 5315, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2100:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5181, + "id": 5314, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2100:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -19068,12 +19068,12 @@ }, { "constant": false, - "id": 5184, + "id": 5317, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2114:11:17", "stateVariable": false, "storageLocation": "default", @@ -19082,7 +19082,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5183, + "id": 5316, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2114:4:17", @@ -19098,33 +19098,33 @@ "src": "2099:27:17" }, "returnParameters": { - "id": 5190, + "id": 5323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5187, + "id": 5320, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2150:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5186, + "id": 5319, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2150:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19133,28 +19133,28 @@ }, { "constant": false, - "id": 5189, + "id": 5322, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5221, + "scope": 5354, "src": "2161:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5188, + "id": 5321, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2161:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -19164,7 +19164,7 @@ ], "src": "2149:23:17" }, - "scope": 6216, + "scope": 6349, "src": "2081:346:17", "stateMutability": "pure", "virtual": false, @@ -19172,40 +19172,40 @@ }, { "body": { - "id": 5259, + "id": 5392, "nodeType": "Block", "src": "2629:212:17", "statements": [ { "assignments": [ - 5234, - 5236 + 5367, + 5369 ], "declarations": [ { "constant": false, - "id": 5234, + "id": 5367, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5259, + "scope": 5392, "src": "2640:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5233, + "id": 5366, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2640:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19214,28 +19214,28 @@ }, { "constant": false, - "id": 5236, + "id": 5369, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5259, + "scope": 5392, "src": "2655:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5235, + "id": 5368, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2655:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -19243,30 +19243,30 @@ "visibility": "internal" } ], - "id": 5241, + "id": 5374, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5238, + "id": 5371, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5224, + "referencedDeclaration": 5357, "src": "2687:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5239, + "id": 5372, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5226, + "referencedDeclaration": 5359, "src": "2690:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19277,7 +19277,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -19285,18 +19285,18 @@ "typeString": "uint256" } ], - "id": 5237, + "id": 5370, "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, + "referencedDeclaration": 5354, "src": "2677:9:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5240, + "id": 5373, "isConstant": false, "isLValue": false, "isPure": false, @@ -19307,7 +19307,7 @@ "src": "2677:20:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -19318,24 +19318,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5245, + "id": 5378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5242, + "id": 5375, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5234, + "referencedDeclaration": 5367, "src": "2711:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19345,18 +19345,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5243, + "id": 5376, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2718:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5244, + "id": 5377, "isConstant": false, "isLValue": false, "isPure": true, @@ -19366,7 +19366,7 @@ "referencedDeclaration": null, "src": "2718:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19377,11 +19377,11 @@ } }, "falseBody": null, - "id": 5251, + "id": 5384, "nodeType": "IfStatement", "src": "2707:71:17", "trueBody": { - "id": 5250, + "id": 5383, "nodeType": "Block", "src": "2738:40:17", "statements": [ @@ -19391,21 +19391,21 @@ "components": [ { "argumentTypes": null, - "id": 5246, + "id": 5379, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5234, + "referencedDeclaration": 5367, "src": "2760:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5247, + "id": 5380, "isConstant": false, "isLValue": false, "isPure": true, @@ -19421,7 +19421,7 @@ "value": "0" } ], - "id": 5248, + "id": 5381, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19430,12 +19430,12 @@ "nodeType": "TupleExpression", "src": "2759:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5232, - "id": 5249, + "functionReturnParameters": 5365, + "id": 5382, "nodeType": "Return", "src": "2752:15:17" } @@ -19450,18 +19450,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5252, + "id": 5385, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2796:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5253, + "id": 5386, "isConstant": false, "isLValue": false, "isPure": true, @@ -19471,7 +19471,7 @@ "referencedDeclaration": null, "src": "2796:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19480,14 +19480,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5255, + "id": 5388, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5236, + "referencedDeclaration": 5369, "src": "2825:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -19495,22 +19495,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5254, + "id": 5387, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "2816:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5256, + "id": 5389, "isConstant": false, "isLValue": false, "isPure": false, @@ -19526,7 +19526,7 @@ } } ], - "id": 5257, + "id": 5390, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19535,24 +19535,24 @@ "nodeType": "TupleExpression", "src": "2795:39:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5232, - "id": 5258, + "functionReturnParameters": 5365, + "id": 5391, "nodeType": "Return", "src": "2788:46:17" } ] }, "documentation": { - "id": 5222, + "id": 5355, "nodeType": "StructuredDocumentation", "src": "2433:97:17", "text": "@dev Multiply an Exp by a scalar, then truncate to return an unsigned integer." }, - "id": 5260, + "id": 5393, "implemented": true, "kind": "function", "modifiers": [], @@ -19560,33 +19560,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5227, + "id": 5360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5224, + "id": 5357, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2562:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5223, + "id": 5356, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "2562:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -19595,12 +19595,12 @@ }, { "constant": false, - "id": 5226, + "id": 5359, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2576:11:17", "stateVariable": false, "storageLocation": "default", @@ -19609,7 +19609,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5225, + "id": 5358, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2576:4:17", @@ -19625,33 +19625,33 @@ "src": "2561:27:17" }, "returnParameters": { - "id": 5232, + "id": 5365, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5229, + "id": 5362, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2612:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5228, + "id": 5361, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "2612:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19660,12 +19660,12 @@ }, { "constant": false, - "id": 5231, + "id": 5364, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5260, + "scope": 5393, "src": "2623:4:17", "stateVariable": false, "storageLocation": "default", @@ -19674,7 +19674,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5230, + "id": 5363, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2623:4:17", @@ -19689,7 +19689,7 @@ ], "src": "2611:17:17" }, - "scope": 6216, + "scope": 6349, "src": "2535:306:17", "stateMutability": "pure", "virtual": false, @@ -19697,40 +19697,40 @@ }, { "body": { - "id": 5300, + "id": 5433, "nodeType": "Block", "src": "3095:207:17", "statements": [ { "assignments": [ - 5275, - 5277 + 5408, + 5410 ], "declarations": [ { "constant": false, - "id": 5275, + "id": 5408, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5300, + "scope": 5433, "src": "3106:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5274, + "id": 5407, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3106:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19739,28 +19739,28 @@ }, { "constant": false, - "id": 5277, + "id": 5410, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5300, + "scope": 5433, "src": "3121:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5276, + "id": 5409, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3121:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -19768,30 +19768,30 @@ "visibility": "internal" } ], - "id": 5282, + "id": 5415, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5279, + "id": 5412, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5263, + "referencedDeclaration": 5396, "src": "3153:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5280, + "id": 5413, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5265, + "referencedDeclaration": 5398, "src": "3156:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19802,7 +19802,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { @@ -19810,18 +19810,18 @@ "typeString": "uint256" } ], - "id": 5278, + "id": 5411, "name": "mulScalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, + "referencedDeclaration": 5354, "src": "3143:9:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5281, + "id": 5414, "isConstant": false, "isLValue": false, "isPure": false, @@ -19832,7 +19832,7 @@ "src": "3143:20:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -19843,24 +19843,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5286, + "id": 5419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5283, + "id": 5416, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5275, + "referencedDeclaration": 5408, "src": "3177:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19870,18 +19870,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5284, + "id": 5417, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3184:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5285, + "id": 5418, "isConstant": false, "isLValue": false, "isPure": true, @@ -19891,7 +19891,7 @@ "referencedDeclaration": null, "src": "3184:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -19902,11 +19902,11 @@ } }, "falseBody": null, - "id": 5292, + "id": 5425, "nodeType": "IfStatement", "src": "3173:71:17", "trueBody": { - "id": 5291, + "id": 5424, "nodeType": "Block", "src": "3204:40:17", "statements": [ @@ -19916,21 +19916,21 @@ "components": [ { "argumentTypes": null, - "id": 5287, + "id": 5420, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5275, + "referencedDeclaration": 5408, "src": "3226:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5288, + "id": 5421, "isConstant": false, "isLValue": false, "isPure": true, @@ -19946,7 +19946,7 @@ "value": "0" } ], - "id": 5289, + "id": 5422, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19955,12 +19955,12 @@ "nodeType": "TupleExpression", "src": "3225:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5273, - "id": 5290, + "functionReturnParameters": 5406, + "id": 5423, "nodeType": "Return", "src": "3218:15:17" } @@ -19976,14 +19976,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5295, + "id": 5428, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, + "referencedDeclaration": 5410, "src": "3278:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -19991,22 +19991,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5294, + "id": 5427, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "3269:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5296, + "id": 5429, "isConstant": false, "isLValue": false, "isPure": false, @@ -20023,11 +20023,11 @@ }, { "argumentTypes": null, - "id": 5297, + "id": 5430, "name": "addend", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5267, + "referencedDeclaration": 5400, "src": "3288:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20046,18 +20046,18 @@ "typeString": "uint256" } ], - "id": 5293, + "id": 5426, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "3261:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5298, + "id": 5431, "isConstant": false, "isLValue": false, "isPure": false, @@ -20068,24 +20068,24 @@ "src": "3261:34:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5273, - "id": 5299, + "functionReturnParameters": 5406, + "id": 5432, "nodeType": "Return", "src": "3254:41:17" } ] }, "documentation": { - "id": 5261, + "id": 5394, "nodeType": "StructuredDocumentation", "src": "2847:129:17", "text": "@dev Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer." }, - "id": 5301, + "id": 5434, "implemented": true, "kind": "function", "modifiers": [], @@ -20093,33 +20093,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5268, + "id": 5401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5263, + "id": 5396, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3015:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5262, + "id": 5395, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3015:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -20128,12 +20128,12 @@ }, { "constant": false, - "id": 5265, + "id": 5398, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3029:11:17", "stateVariable": false, "storageLocation": "default", @@ -20142,7 +20142,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5264, + "id": 5397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3029:4:17", @@ -20156,12 +20156,12 @@ }, { "constant": false, - "id": 5267, + "id": 5400, "mutability": "mutable", "name": "addend", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3042:11:17", "stateVariable": false, "storageLocation": "default", @@ -20170,7 +20170,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5266, + "id": 5399, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3042:4:17", @@ -20186,33 +20186,33 @@ "src": "3014:40:17" }, "returnParameters": { - "id": 5273, + "id": 5406, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5270, + "id": 5403, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3078:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5269, + "id": 5402, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3078:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20221,12 +20221,12 @@ }, { "constant": false, - "id": 5272, + "id": 5405, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5301, + "scope": 5434, "src": "3089:4:17", "stateVariable": false, "storageLocation": "default", @@ -20235,7 +20235,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5271, + "id": 5404, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3089:4:17", @@ -20250,7 +20250,7 @@ ], "src": "3077:17:17" }, - "scope": 6216, + "scope": 6349, "src": "2981:321:17", "stateMutability": "pure", "virtual": false, @@ -20258,40 +20258,40 @@ }, { "body": { - "id": 5342, + "id": 5475, "nodeType": "Block", "src": "3476:258:17", "statements": [ { "assignments": [ - 5314, - 5316 + 5447, + 5449 ], "declarations": [ { "constant": false, - "id": 5314, + "id": 5447, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5342, + "scope": 5475, "src": "3487:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5313, + "id": 5446, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3487:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20300,12 +20300,12 @@ }, { "constant": false, - "id": 5316, + "id": 5449, "mutability": "mutable", "name": "descaledMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5342, + "scope": 5475, "src": "3503:21:17", "stateVariable": false, "storageLocation": "default", @@ -20314,7 +20314,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5315, + "id": 5448, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3503:4:17", @@ -20327,7 +20327,7 @@ "visibility": "internal" } ], - "id": 5322, + "id": 5455, "initialValue": { "argumentTypes": null, "arguments": [ @@ -20335,25 +20335,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5318, + "id": 5451, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5304, + "referencedDeclaration": 5437, "src": "3536:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5319, + "id": 5452, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "3536:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20362,11 +20362,11 @@ }, { "argumentTypes": null, - "id": 5320, + "id": 5453, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5306, + "referencedDeclaration": 5439, "src": "3548:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20385,18 +20385,18 @@ "typeString": "uint256" } ], - "id": 5317, + "id": 5450, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "3528:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5321, + "id": 5454, "isConstant": false, "isLValue": false, "isPure": false, @@ -20407,7 +20407,7 @@ "src": "3528:27:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -20418,24 +20418,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5326, + "id": 5459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5323, + "id": 5456, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, + "referencedDeclaration": 5447, "src": "3569:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20445,18 +20445,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5324, + "id": 5457, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3577:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5325, + "id": 5458, "isConstant": false, "isLValue": false, "isPure": true, @@ -20466,7 +20466,7 @@ "referencedDeclaration": null, "src": "3577:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20477,11 +20477,11 @@ } }, "falseBody": null, - "id": 5334, + "id": 5467, "nodeType": "IfStatement", "src": "3565:90:17", "trueBody": { - "id": 5333, + "id": 5466, "nodeType": "Block", "src": "3597:58:17", "statements": [ @@ -20491,14 +20491,14 @@ "components": [ { "argumentTypes": null, - "id": 5327, + "id": 5460, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, + "referencedDeclaration": 5447, "src": "3619:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20508,7 +20508,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5329, + "id": 5462, "isConstant": false, "isLValue": false, "isPure": true, @@ -20531,18 +20531,18 @@ "typeString": "int_const 0" } ], - "id": 5328, + "id": 5461, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3625:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5330, + "id": 5463, "isConstant": false, "isLValue": false, "isPure": true, @@ -20555,12 +20555,12 @@ "src": "3625:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5331, + "id": 5464, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -20569,12 +20569,12 @@ "nodeType": "TupleExpression", "src": "3618:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5312, - "id": 5332, + "functionReturnParameters": 5445, + "id": 5465, "nodeType": "Return", "src": "3611:33:17" } @@ -20589,18 +20589,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5335, + "id": 5468, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3673:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5336, + "id": 5469, "isConstant": false, "isLValue": false, "isPure": true, @@ -20610,7 +20610,7 @@ "referencedDeclaration": null, "src": "3673:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20619,11 +20619,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5338, + "id": 5471, "name": "descaledMantissa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5316, + "referencedDeclaration": 5449, "src": "3708:16:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20638,18 +20638,18 @@ "typeString": "uint256" } ], - "id": 5337, + "id": 5470, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3693:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5339, + "id": 5472, "isConstant": false, "isLValue": false, "isPure": false, @@ -20662,12 +20662,12 @@ "src": "3693:33:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5340, + "id": 5473, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -20676,24 +20676,24 @@ "nodeType": "TupleExpression", "src": "3672:55:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5312, - "id": 5341, + "functionReturnParameters": 5445, + "id": 5474, "nodeType": "Return", "src": "3665:62:17" } ] }, "documentation": { - "id": 5302, + "id": 5435, "nodeType": "StructuredDocumentation", "src": "3308:71:17", "text": "@dev Divide an Exp by a scalar, returning a new Exp." }, - "id": 5343, + "id": 5476, "implemented": true, "kind": "function", "modifiers": [], @@ -20701,33 +20701,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5307, + "id": 5440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5304, + "id": 5437, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3403:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5303, + "id": 5436, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3403:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -20736,12 +20736,12 @@ }, { "constant": false, - "id": 5306, + "id": 5439, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3417:11:17", "stateVariable": false, "storageLocation": "default", @@ -20750,7 +20750,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5305, + "id": 5438, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3417:4:17", @@ -20766,33 +20766,33 @@ "src": "3402:27:17" }, "returnParameters": { - "id": 5312, + "id": 5445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5309, + "id": 5442, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3453:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5308, + "id": 5441, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3453:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20801,28 +20801,28 @@ }, { "constant": false, - "id": 5311, + "id": 5444, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5343, + "scope": 5476, "src": "3464:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5310, + "id": 5443, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3464:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -20832,7 +20832,7 @@ ], "src": "3452:23:17" }, - "scope": 6216, + "scope": 6349, "src": "3384:350:17", "stateMutability": "pure", "virtual": false, @@ -20840,40 +20840,40 @@ }, { "body": { - "id": 5382, + "id": 5515, "nodeType": "Block", "src": "3919:502:17", "statements": [ { "assignments": [ - 5356, - 5358 + 5489, + 5491 ], "declarations": [ { "constant": false, - "id": 5356, + "id": 5489, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5382, + "scope": 5515, "src": "4204:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5355, + "id": 5488, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4204:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -20882,12 +20882,12 @@ }, { "constant": false, - "id": 5358, + "id": 5491, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5382, + "scope": 5515, "src": "4220:14:17", "stateVariable": false, "storageLocation": "default", @@ -20896,7 +20896,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5357, + "id": 5490, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4220:4:17", @@ -20909,17 +20909,17 @@ "visibility": "internal" } ], - "id": 5363, + "id": 5496, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5360, + "id": 5493, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "4246:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20928,11 +20928,11 @@ }, { "argumentTypes": null, - "id": 5361, + "id": 5494, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5346, + "referencedDeclaration": 5479, "src": "4256:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20951,18 +20951,18 @@ "typeString": "uint256" } ], - "id": 5359, + "id": 5492, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "4238:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5362, + "id": 5495, "isConstant": false, "isLValue": false, "isPure": false, @@ -20973,7 +20973,7 @@ "src": "4238:25:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -20984,24 +20984,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5367, + "id": 5500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5364, + "id": 5497, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, + "referencedDeclaration": 5489, "src": "4277:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21011,18 +21011,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5365, + "id": 5498, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4285:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5366, + "id": 5499, "isConstant": false, "isLValue": false, "isPure": true, @@ -21032,7 +21032,7 @@ "referencedDeclaration": null, "src": "4285:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21043,11 +21043,11 @@ } }, "falseBody": null, - "id": 5375, + "id": 5508, "nodeType": "IfStatement", "src": "4273:90:17", "trueBody": { - "id": 5374, + "id": 5507, "nodeType": "Block", "src": "4305:58:17", "statements": [ @@ -21057,14 +21057,14 @@ "components": [ { "argumentTypes": null, - "id": 5368, + "id": 5501, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, + "referencedDeclaration": 5489, "src": "4327:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21074,7 +21074,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5370, + "id": 5503, "isConstant": false, "isLValue": false, "isPure": true, @@ -21097,18 +21097,18 @@ "typeString": "int_const 0" } ], - "id": 5369, + "id": 5502, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4333:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5371, + "id": 5504, "isConstant": false, "isLValue": false, "isPure": true, @@ -21121,12 +21121,12 @@ "src": "4333:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5372, + "id": 5505, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -21135,12 +21135,12 @@ "nodeType": "TupleExpression", "src": "4326:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5354, - "id": 5373, + "functionReturnParameters": 5487, + "id": 5506, "nodeType": "Return", "src": "4319:33:17" } @@ -21153,11 +21153,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5377, + "id": 5510, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5358, + "referencedDeclaration": 5491, "src": "4386:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21168,25 +21168,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5378, + "id": 5511, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5348, + "referencedDeclaration": 5481, "src": "4397:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5379, + "id": 5512, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "4397:16:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21205,18 +21205,18 @@ "typeString": "uint256" } ], - "id": 5376, + "id": 5509, "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5119, + "referencedDeclaration": 5252, "src": "4379:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5380, + "id": 5513, "isConstant": false, "isLValue": false, "isPure": false, @@ -21227,24 +21227,24 @@ "src": "4379:35:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5354, - "id": 5381, + "functionReturnParameters": 5487, + "id": 5514, "nodeType": "Return", "src": "4372:42:17" } ] }, "documentation": { - "id": 5344, + "id": 5477, "nodeType": "StructuredDocumentation", "src": "3740:71:17", "text": "@dev Divide a scalar by an Exp, returning a new Exp." }, - "id": 5383, + "id": 5516, "implemented": true, "kind": "function", "modifiers": [], @@ -21252,17 +21252,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5349, + "id": 5482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5346, + "id": 5479, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3840:11:17", "stateVariable": false, "storageLocation": "default", @@ -21271,7 +21271,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5345, + "id": 5478, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3840:4:17", @@ -21285,28 +21285,28 @@ }, { "constant": false, - "id": 5348, + "id": 5481, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3853:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5347, + "id": 5480, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3853:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -21317,33 +21317,33 @@ "src": "3839:33:17" }, "returnParameters": { - "id": 5354, + "id": 5487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5351, + "id": 5484, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3896:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5350, + "id": 5483, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "3896:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21352,28 +21352,28 @@ }, { "constant": false, - "id": 5353, + "id": 5486, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5383, + "scope": 5516, "src": "3907:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5352, + "id": 5485, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "3907:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -21383,7 +21383,7 @@ ], "src": "3895:23:17" }, - "scope": 6216, + "scope": 6349, "src": "3816:605:17", "stateMutability": "pure", "virtual": false, @@ -21391,40 +21391,40 @@ }, { "body": { - "id": 5421, + "id": 5554, "nodeType": "Block", "src": "4632:225:17", "statements": [ { "assignments": [ - 5396, - 5398 + 5529, + 5531 ], "declarations": [ { "constant": false, - "id": 5396, + "id": 5529, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5421, + "scope": 5554, "src": "4643:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5395, + "id": 5528, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4643:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21433,28 +21433,28 @@ }, { "constant": false, - "id": 5398, + "id": 5531, "mutability": "mutable", "name": "fraction", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5421, + "scope": 5554, "src": "4658:19:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5397, + "id": 5530, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4658:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -21462,17 +21462,17 @@ "visibility": "internal" } ], - "id": 5403, + "id": 5536, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5400, + "id": 5533, "name": "scalar", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5386, + "referencedDeclaration": 5519, "src": "4696:6:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21481,14 +21481,14 @@ }, { "argumentTypes": null, - "id": 5401, + "id": 5534, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5388, + "referencedDeclaration": 5521, "src": "4704:7:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -21500,22 +21500,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5399, + "id": 5532, "name": "divScalarByExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, + "referencedDeclaration": 5516, "src": "4681:14:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5402, + "id": 5535, "isConstant": false, "isLValue": false, "isPure": false, @@ -21526,7 +21526,7 @@ "src": "4681:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -21537,24 +21537,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5407, + "id": 5540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5404, + "id": 5537, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5396, + "referencedDeclaration": 5529, "src": "4726:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21564,18 +21564,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5405, + "id": 5538, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4733:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5406, + "id": 5539, "isConstant": false, "isLValue": false, "isPure": true, @@ -21585,7 +21585,7 @@ "referencedDeclaration": null, "src": "4733:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21596,11 +21596,11 @@ } }, "falseBody": null, - "id": 5413, + "id": 5546, "nodeType": "IfStatement", "src": "4722:71:17", "trueBody": { - "id": 5412, + "id": 5545, "nodeType": "Block", "src": "4753:40:17", "statements": [ @@ -21610,21 +21610,21 @@ "components": [ { "argumentTypes": null, - "id": 5408, + "id": 5541, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5396, + "referencedDeclaration": 5529, "src": "4775:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, "hexValue": "30", - "id": 5409, + "id": 5542, "isConstant": false, "isLValue": false, "isPure": true, @@ -21640,7 +21640,7 @@ "value": "0" } ], - "id": 5410, + "id": 5543, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -21649,12 +21649,12 @@ "nodeType": "TupleExpression", "src": "4774:8:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_rational_0_by_1_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_rational_0_by_1_$", "typeString": "tuple(enum CarefulMath.MathError,int_const 0)" } }, - "functionReturnParameters": 5394, - "id": 5411, + "functionReturnParameters": 5527, + "id": 5544, "nodeType": "Return", "src": "4767:15:17" } @@ -21669,18 +21669,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5414, + "id": 5547, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4811:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5415, + "id": 5548, "isConstant": false, "isLValue": false, "isPure": true, @@ -21690,7 +21690,7 @@ "referencedDeclaration": null, "src": "4811:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21699,14 +21699,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5417, + "id": 5550, "name": "fraction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5398, + "referencedDeclaration": 5531, "src": "4840:8:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -21714,22 +21714,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5416, + "id": 5549, "name": "truncate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5597, + "referencedDeclaration": 5730, "src": "4831:8:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_uint256_$", "typeString": "function (struct Exponential.Exp memory) pure returns (uint256)" } }, - "id": 5418, + "id": 5551, "isConstant": false, "isLValue": false, "isPure": false, @@ -21745,7 +21745,7 @@ } } ], - "id": 5419, + "id": 5552, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -21754,24 +21754,24 @@ "nodeType": "TupleExpression", "src": "4810:40:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, - "functionReturnParameters": 5394, - "id": 5420, + "functionReturnParameters": 5527, + "id": 5553, "nodeType": "Return", "src": "4803:47:17" } ] }, "documentation": { - "id": 5384, + "id": 5517, "nodeType": "StructuredDocumentation", "src": "4427:95:17", "text": "@dev Divide a scalar by an Exp, then truncate to return an unsigned integer." }, - "id": 5422, + "id": 5555, "implemented": true, "kind": "function", "modifiers": [], @@ -21779,17 +21779,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5389, + "id": 5522, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5386, + "id": 5519, "mutability": "mutable", "name": "scalar", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4559:11:17", "stateVariable": false, "storageLocation": "default", @@ -21798,7 +21798,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5385, + "id": 5518, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4559:4:17", @@ -21812,28 +21812,28 @@ }, { "constant": false, - "id": 5388, + "id": 5521, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4572:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5387, + "id": 5520, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4572:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -21844,33 +21844,33 @@ "src": "4558:33:17" }, "returnParameters": { - "id": 5394, + "id": 5527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5391, + "id": 5524, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4615:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5390, + "id": 5523, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "4615:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21879,12 +21879,12 @@ }, { "constant": false, - "id": 5393, + "id": 5526, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5422, + "scope": 5555, "src": "4626:4:17", "stateVariable": false, "storageLocation": "default", @@ -21893,7 +21893,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5392, + "id": 5525, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4626:4:17", @@ -21908,7 +21908,7 @@ ], "src": "4614:17:17" }, - "scope": 6216, + "scope": 6349, "src": "4527:330:17", "stateMutability": "pure", "virtual": false, @@ -21916,40 +21916,40 @@ }, { "body": { - "id": 5501, + "id": 5634, "nodeType": "Block", "src": "5039:1026:17", "statements": [ { "assignments": [ - 5435, - 5437 + 5568, + 5570 ], "declarations": [ { "constant": false, - "id": 5435, + "id": 5568, "mutability": "mutable", "name": "err0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5051:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5434, + "id": 5567, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5051:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -21958,12 +21958,12 @@ }, { "constant": false, - "id": 5437, + "id": 5570, "mutability": "mutable", "name": "doubleScaledProduct", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5067:24:17", "stateVariable": false, "storageLocation": "default", @@ -21972,7 +21972,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5436, + "id": 5569, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5067:4:17", @@ -21985,7 +21985,7 @@ "visibility": "internal" } ], - "id": 5444, + "id": 5577, "initialValue": { "argumentTypes": null, "arguments": [ @@ -21993,25 +21993,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5439, + "id": 5572, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5425, + "referencedDeclaration": 5558, "src": "5103:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5440, + "id": 5573, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "5103:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22022,25 +22022,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5441, + "id": 5574, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5427, + "referencedDeclaration": 5560, "src": "5115:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5442, + "id": 5575, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "5115:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22059,18 +22059,18 @@ "typeString": "uint256" } ], - "id": 5438, + "id": 5571, "name": "mulUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4895, + "referencedDeclaration": 5028, "src": "5095:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5443, + "id": 5576, "isConstant": false, "isLValue": false, "isPure": false, @@ -22081,7 +22081,7 @@ "src": "5095:31:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -22092,24 +22092,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5448, + "id": 5581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5445, + "id": 5578, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5435, + "referencedDeclaration": 5568, "src": "5140:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22119,18 +22119,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5446, + "id": 5579, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5148:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5447, + "id": 5580, "isConstant": false, "isLValue": false, "isPure": true, @@ -22140,7 +22140,7 @@ "referencedDeclaration": null, "src": "5148:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22151,11 +22151,11 @@ } }, "falseBody": null, - "id": 5456, + "id": 5589, "nodeType": "IfStatement", "src": "5136:90:17", "trueBody": { - "id": 5455, + "id": 5588, "nodeType": "Block", "src": "5168:58:17", "statements": [ @@ -22165,14 +22165,14 @@ "components": [ { "argumentTypes": null, - "id": 5449, + "id": 5582, "name": "err0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5435, + "referencedDeclaration": 5568, "src": "5190:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22182,7 +22182,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5451, + "id": 5584, "isConstant": false, "isLValue": false, "isPure": true, @@ -22205,18 +22205,18 @@ "typeString": "int_const 0" } ], - "id": 5450, + "id": 5583, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5196:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5452, + "id": 5585, "isConstant": false, "isLValue": false, "isPure": true, @@ -22229,12 +22229,12 @@ "src": "5196:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5453, + "id": 5586, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -22243,12 +22243,12 @@ "nodeType": "TupleExpression", "src": "5189:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5454, + "functionReturnParameters": 5566, + "id": 5587, "nodeType": "Return", "src": "5182:33:17" } @@ -22257,34 +22257,34 @@ }, { "assignments": [ - 5458, - 5460 + 5591, + 5593 ], "declarations": [ { "constant": false, - "id": 5458, + "id": 5591, "mutability": "mutable", "name": "err1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5538:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5457, + "id": 5590, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5538:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22293,12 +22293,12 @@ }, { "constant": false, - "id": 5460, + "id": 5593, "mutability": "mutable", "name": "doubleScaledProductWithHalfScale", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5554:37:17", "stateVariable": false, "storageLocation": "default", @@ -22307,7 +22307,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5459, + "id": 5592, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5554:4:17", @@ -22320,17 +22320,17 @@ "visibility": "internal" } ], - "id": 5465, + "id": 5598, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5462, + "id": 5595, "name": "halfExpScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5048, + "referencedDeclaration": 5181, "src": "5603:12:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22339,11 +22339,11 @@ }, { "argumentTypes": null, - "id": 5463, + "id": 5596, "name": "doubleScaledProduct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5437, + "referencedDeclaration": 5570, "src": "5617:19:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22362,18 +22362,18 @@ "typeString": "uint256" } ], - "id": 5461, + "id": 5594, "name": "addUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4991, + "referencedDeclaration": 5124, "src": "5595:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5464, + "id": 5597, "isConstant": false, "isLValue": false, "isPure": false, @@ -22384,7 +22384,7 @@ "src": "5595:42:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -22395,24 +22395,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5469, + "id": 5602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5466, + "id": 5599, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5458, + "referencedDeclaration": 5591, "src": "5651:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22422,18 +22422,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5467, + "id": 5600, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5659:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5468, + "id": 5601, "isConstant": false, "isLValue": false, "isPure": true, @@ -22443,7 +22443,7 @@ "referencedDeclaration": null, "src": "5659:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22454,11 +22454,11 @@ } }, "falseBody": null, - "id": 5477, + "id": 5610, "nodeType": "IfStatement", "src": "5647:90:17", "trueBody": { - "id": 5476, + "id": 5609, "nodeType": "Block", "src": "5679:58:17", "statements": [ @@ -22468,14 +22468,14 @@ "components": [ { "argumentTypes": null, - "id": 5470, + "id": 5603, "name": "err1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5458, + "referencedDeclaration": 5591, "src": "5701:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22485,7 +22485,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5472, + "id": 5605, "isConstant": false, "isLValue": false, "isPure": true, @@ -22508,18 +22508,18 @@ "typeString": "int_const 0" } ], - "id": 5471, + "id": 5604, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5707:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5473, + "id": 5606, "isConstant": false, "isLValue": false, "isPure": true, @@ -22532,12 +22532,12 @@ "src": "5707:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5474, + "id": 5607, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -22546,12 +22546,12 @@ "nodeType": "TupleExpression", "src": "5700:26:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5475, + "functionReturnParameters": 5566, + "id": 5608, "nodeType": "Return", "src": "5693:33:17" } @@ -22560,34 +22560,34 @@ }, { "assignments": [ - 5479, - 5481 + 5612, + 5614 ], "declarations": [ { "constant": false, - "id": 5479, + "id": 5612, "mutability": "mutable", "name": "err2", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5748:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5478, + "id": 5611, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5748:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22596,12 +22596,12 @@ }, { "constant": false, - "id": 5481, + "id": 5614, "mutability": "mutable", "name": "product", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5501, + "scope": 5634, "src": "5764:12:17", "stateVariable": false, "storageLocation": "default", @@ -22610,7 +22610,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5480, + "id": 5613, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5764:4:17", @@ -22623,17 +22623,17 @@ "visibility": "internal" } ], - "id": 5486, + "id": 5619, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5483, + "id": 5616, "name": "doubleScaledProductWithHalfScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5460, + "referencedDeclaration": 5593, "src": "5788:32:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22642,11 +22642,11 @@ }, { "argumentTypes": null, - "id": 5484, + "id": 5617, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "5822:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22665,18 +22665,18 @@ "typeString": "uint256" } ], - "id": 5482, + "id": 5615, "name": "divUInt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4925, + "referencedDeclaration": 5058, "src": "5780:7:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,uint256)" } }, - "id": 5485, + "id": 5618, "isConstant": false, "isLValue": false, "isPure": false, @@ -22687,7 +22687,7 @@ "src": "5780:51:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_uint256_$", "typeString": "tuple(enum CarefulMath.MathError,uint256)" } }, @@ -22701,24 +22701,24 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5491, + "id": 5624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5488, + "id": 5621, "name": "err2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5479, + "referencedDeclaration": 5612, "src": "5967:4:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22728,18 +22728,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5489, + "id": 5622, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5975:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5490, + "id": 5623, "isConstant": false, "isLValue": false, "isPure": true, @@ -22749,7 +22749,7 @@ "referencedDeclaration": null, "src": "5975:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22767,7 +22767,7 @@ "typeString": "bool" } ], - "id": 5487, + "id": 5620, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22778,7 +22778,7 @@ "typeString": "function (bool) pure" } }, - "id": 5492, + "id": 5625, "isConstant": false, "isLValue": false, "isPure": false, @@ -22793,7 +22793,7 @@ "typeString": "tuple()" } }, - "id": 5493, + "id": 5626, "nodeType": "ExpressionStatement", "src": "5960:34:17" }, @@ -22805,18 +22805,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5494, + "id": 5627, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6013:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5495, + "id": 5628, "isConstant": false, "isLValue": false, "isPure": true, @@ -22826,7 +22826,7 @@ "referencedDeclaration": null, "src": "6013:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -22835,11 +22835,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5497, + "id": 5630, "name": "product", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5481, + "referencedDeclaration": 5614, "src": "6048:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22854,18 +22854,18 @@ "typeString": "uint256" } ], - "id": 5496, + "id": 5629, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6033:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5498, + "id": 5631, "isConstant": false, "isLValue": false, "isPure": false, @@ -22878,12 +22878,12 @@ "src": "6033:24:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5499, + "id": 5632, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -22892,24 +22892,24 @@ "nodeType": "TupleExpression", "src": "6012:46:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5433, - "id": 5500, + "functionReturnParameters": 5566, + "id": 5633, "nodeType": "Return", "src": "6005:53:17" } ] }, "documentation": { - "id": 5423, + "id": 5556, "nodeType": "StructuredDocumentation", "src": "4863:81:17", "text": "@dev Multiplies two exponentials, returning a new exponential." }, - "id": 5502, + "id": 5635, "implemented": true, "kind": "function", "modifiers": [], @@ -22917,33 +22917,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5428, + "id": 5561, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5425, + "id": 5558, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "4965:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5424, + "id": 5557, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4965:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -22952,28 +22952,28 @@ }, { "constant": false, - "id": 5427, + "id": 5560, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "4979:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5426, + "id": 5559, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "4979:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -22984,33 +22984,33 @@ "src": "4964:28:17" }, "returnParameters": { - "id": 5433, + "id": 5566, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5430, + "id": 5563, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "5016:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5429, + "id": 5562, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "5016:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23019,28 +23019,28 @@ }, { "constant": false, - "id": 5432, + "id": 5565, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5502, + "scope": 5635, "src": "5027:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5431, + "id": 5564, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "5027:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23050,7 +23050,7 @@ ], "src": "5015:23:17" }, - "scope": 6216, + "scope": 6349, "src": "4949:1116:17", "stateMutability": "pure", "virtual": false, @@ -23058,7 +23058,7 @@ }, { "body": { - "id": 5523, + "id": 5656, "nodeType": "Block", "src": "6257:70:17", "statements": [ @@ -23071,11 +23071,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5516, + "id": 5649, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5505, + "referencedDeclaration": 5638, "src": "6296:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23090,18 +23090,18 @@ "typeString": "uint256" } ], - "id": 5515, + "id": 5648, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6281:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5517, + "id": 5650, "isConstant": false, "isLValue": false, "isPure": false, @@ -23114,7 +23114,7 @@ "src": "6281:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, @@ -23123,11 +23123,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5519, + "id": 5652, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5507, + "referencedDeclaration": 5640, "src": "6316:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23142,18 +23142,18 @@ "typeString": "uint256" } ], - "id": 5518, + "id": 5651, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6301:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5520, + "id": 5653, "isConstant": false, "isLValue": false, "isPure": false, @@ -23166,7 +23166,7 @@ "src": "6301:18:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -23174,29 +23174,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5514, + "id": 5647, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6274:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5521, + "id": 5654, "isConstant": false, "isLValue": false, "isPure": false, @@ -23207,24 +23207,24 @@ "src": "6274:46:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5513, - "id": 5522, + "functionReturnParameters": 5646, + "id": 5655, "nodeType": "Return", "src": "6267:53:17" } ] }, "documentation": { - "id": 5503, + "id": 5636, "nodeType": "StructuredDocumentation", "src": "6071:103:17", "text": "@dev Multiplies two exponentials given their mantissas, returning a new exponential." }, - "id": 5524, + "id": 5657, "implemented": true, "kind": "function", "modifiers": [], @@ -23232,17 +23232,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5508, + "id": 5641, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5505, + "id": 5638, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6195:6:17", "stateVariable": false, "storageLocation": "default", @@ -23251,7 +23251,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5504, + "id": 5637, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6195:4:17", @@ -23265,12 +23265,12 @@ }, { "constant": false, - "id": 5507, + "id": 5640, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6203:6:17", "stateVariable": false, "storageLocation": "default", @@ -23279,7 +23279,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5506, + "id": 5639, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6203:4:17", @@ -23295,33 +23295,33 @@ "src": "6194:16:17" }, "returnParameters": { - "id": 5513, + "id": 5646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5510, + "id": 5643, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6234:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5509, + "id": 5642, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6234:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23330,28 +23330,28 @@ }, { "constant": false, - "id": 5512, + "id": 5645, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5524, + "scope": 5657, "src": "6245:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5511, + "id": 5644, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6245:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23361,7 +23361,7 @@ ], "src": "6233:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6179:148:17", "stateMutability": "pure", "virtual": false, @@ -23369,40 +23369,40 @@ }, { "body": { - "id": 5562, + "id": 5695, "nodeType": "Block", "src": "6526:173:17", "statements": [ { "assignments": [ - 5539, - 5541 + 5672, + 5674 ], "declarations": [ { "constant": false, - "id": 5539, + "id": 5672, "mutability": "mutable", "name": "err", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5562, + "scope": 5695, "src": "6537:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5538, + "id": 5671, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6537:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23411,28 +23411,28 @@ }, { "constant": false, - "id": 5541, + "id": 5674, "mutability": "mutable", "name": "ab", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5562, + "scope": 5695, "src": "6552:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5540, + "id": 5673, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6552:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23440,33 +23440,33 @@ "visibility": "internal" } ], - "id": 5546, + "id": 5679, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5543, + "id": 5676, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5527, + "referencedDeclaration": 5660, "src": "6576:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5544, + "id": 5677, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5529, + "referencedDeclaration": 5662, "src": "6579:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -23474,29 +23474,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5542, + "id": 5675, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6569:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5545, + "id": 5678, "isConstant": false, "isLValue": false, "isPure": false, @@ -23507,7 +23507,7 @@ "src": "6569:12:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, @@ -23518,24 +23518,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, - "id": 5550, + "id": 5683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5547, + "id": 5680, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5539, + "referencedDeclaration": 5672, "src": "6595:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23545,18 +23545,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5548, + "id": 5681, "name": "MathError", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6602:9:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MathError_$4848_$", + "typeIdentifier": "t_type$_t_enum$_MathError_$4981_$", "typeString": "type(enum CarefulMath.MathError)" } }, - "id": 5549, + "id": 5682, "isConstant": false, "isLValue": false, "isPure": true, @@ -23566,7 +23566,7 @@ "referencedDeclaration": null, "src": "6602:18:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23577,11 +23577,11 @@ } }, "falseBody": null, - "id": 5556, + "id": 5689, "nodeType": "IfStatement", "src": "6591:72:17", "trueBody": { - "id": 5555, + "id": 5688, "nodeType": "Block", "src": "6622:41:17", "statements": [ @@ -23591,32 +23591,32 @@ "components": [ { "argumentTypes": null, - "id": 5551, + "id": 5684, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5539, + "referencedDeclaration": 5672, "src": "6644:3:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, { "argumentTypes": null, - "id": 5552, + "id": 5685, "name": "ab", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, + "referencedDeclaration": 5674, "src": "6649:2:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } ], - "id": 5553, + "id": 5686, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23625,12 +23625,12 @@ "nodeType": "TupleExpression", "src": "6643:9:17", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5537, - "id": 5554, + "functionReturnParameters": 5670, + "id": 5687, "nodeType": "Return", "src": "6636:16:17" } @@ -23643,27 +23643,27 @@ "arguments": [ { "argumentTypes": null, - "id": 5558, + "id": 5691, "name": "ab", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, + "referencedDeclaration": 5674, "src": "6686:2:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, { "argumentTypes": null, - "id": 5559, + "id": 5692, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5531, + "referencedDeclaration": 5664, "src": "6690:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } } @@ -23671,29 +23671,29 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" }, { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } ], - "id": 5557, + "id": 5690, "name": "mulExp", "nodeType": "Identifier", "overloadedDeclarations": [ - 5502, - 5524 + 5635, + 5657 ], - "referencedDeclaration": 5502, + "referencedDeclaration": 5635, "src": "6679:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5054_memory_ptr_$_t_struct$_Exp_$5054_memory_ptr_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_Exp_$5187_memory_ptr_$_t_struct$_Exp_$5187_memory_ptr_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (struct Exponential.Exp memory,struct Exponential.Exp memory) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5560, + "id": 5693, "isConstant": false, "isLValue": false, "isPure": false, @@ -23704,24 +23704,24 @@ "src": "6679:13:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5537, - "id": 5561, + "functionReturnParameters": 5670, + "id": 5694, "nodeType": "Return", "src": "6672:20:17" } ] }, "documentation": { - "id": 5525, + "id": 5658, "nodeType": "StructuredDocumentation", "src": "6333:83:17", "text": "@dev Multiplies three exponentials, returning a new exponential." }, - "id": 5563, + "id": 5696, "implemented": true, "kind": "function", "modifiers": [], @@ -23729,33 +23729,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5532, + "id": 5665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5527, + "id": 5660, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6438:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5526, + "id": 5659, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6438:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23764,28 +23764,28 @@ }, { "constant": false, - "id": 5529, + "id": 5662, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6452:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5528, + "id": 5661, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6452:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23794,28 +23794,28 @@ }, { "constant": false, - "id": 5531, + "id": 5664, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6466:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5530, + "id": 5663, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6466:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23826,33 +23826,33 @@ "src": "6437:42:17" }, "returnParameters": { - "id": 5537, + "id": 5670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5534, + "id": 5667, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6503:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5533, + "id": 5666, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6503:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -23861,28 +23861,28 @@ }, { "constant": false, - "id": 5536, + "id": 5669, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5563, + "scope": 5696, "src": "6514:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5535, + "id": 5668, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6514:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -23892,7 +23892,7 @@ ], "src": "6502:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6421:278:17", "stateMutability": "pure", "virtual": false, @@ -23900,7 +23900,7 @@ }, { "body": { - "id": 5582, + "id": 5715, "nodeType": "Block", "src": "7021:54:17", "statements": [ @@ -23912,25 +23912,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5576, + "id": 5709, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5566, + "referencedDeclaration": 5699, "src": "7045:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5577, + "id": 5710, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7045:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23941,25 +23941,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5578, + "id": 5711, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5568, + "referencedDeclaration": 5701, "src": "7057:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5579, + "id": 5712, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7057:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23978,18 +23978,18 @@ "typeString": "uint256" } ], - "id": 5575, + "id": 5708, "name": "getExp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5119, + "referencedDeclaration": 5252, "src": "7038:6:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "id": 5580, + "id": 5713, "isConstant": false, "isLValue": false, "isPure": false, @@ -24000,24 +24000,24 @@ "src": "7038:30:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_MathError_$4848_$_t_struct$_Exp_$5054_memory_ptr_$", + "typeIdentifier": "t_tuple$_t_enum$_MathError_$4981_$_t_struct$_Exp_$5187_memory_ptr_$", "typeString": "tuple(enum CarefulMath.MathError,struct Exponential.Exp memory)" } }, - "functionReturnParameters": 5574, - "id": 5581, + "functionReturnParameters": 5707, + "id": 5714, "nodeType": "Return", "src": "7031:37:17" } ] }, "documentation": { - "id": 5564, + "id": 5697, "nodeType": "StructuredDocumentation", "src": "6705:221:17", "text": "@dev Divides two exponentials, returning a new exponential.\n (a/scale) / (b/scale) = (a/scale) * (scale/b) = a/b,\n which we can scale as an Exp by calling getExp(a.mantissa, b.mantissa)" }, - "id": 5583, + "id": 5716, "implemented": true, "kind": "function", "modifiers": [], @@ -24025,33 +24025,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5569, + "id": 5702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5566, + "id": 5699, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6947:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5565, + "id": 5698, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6947:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24060,28 +24060,28 @@ }, { "constant": false, - "id": 5568, + "id": 5701, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6961:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5567, + "id": 5700, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "6961:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24092,33 +24092,33 @@ "src": "6946:28:17" }, "returnParameters": { - "id": 5574, + "id": 5707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5571, + "id": 5704, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "6998:9:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" }, "typeName": { "contractScope": null, - "id": 5570, + "id": 5703, "name": "MathError", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4848, + "referencedDeclaration": 4981, "src": "6998:9:17", "typeDescriptions": { - "typeIdentifier": "t_enum$_MathError_$4848", + "typeIdentifier": "t_enum$_MathError_$4981", "typeString": "enum CarefulMath.MathError" } }, @@ -24127,28 +24127,28 @@ }, { "constant": false, - "id": 5573, + "id": 5706, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5583, + "scope": 5716, "src": "7009:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5572, + "id": 5705, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7009:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24158,7 +24158,7 @@ ], "src": "6997:23:17" }, - "scope": 6216, + "scope": 6349, "src": "6931:144:17", "stateMutability": "pure", "virtual": false, @@ -24166,7 +24166,7 @@ }, { "body": { - "id": 5596, + "id": 5729, "nodeType": "Block", "src": "7290:147:17", "statements": [ @@ -24177,7 +24177,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5594, + "id": 5727, "isConstant": false, "isLValue": false, "isPure": false, @@ -24186,25 +24186,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5591, + "id": 5724, "name": "exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5586, + "referencedDeclaration": 5719, "src": "7407:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5592, + "id": 5725, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7407:12:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24215,11 +24215,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5593, + "id": 5726, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "7422:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24232,20 +24232,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5590, - "id": 5595, + "functionReturnParameters": 5723, + "id": 5728, "nodeType": "Return", "src": "7400:30:17" } ] }, "documentation": { - "id": 5584, + "id": 5717, "nodeType": "StructuredDocumentation", "src": "7081:141:17", "text": "@dev Truncates the given exp to a whole number value.\n For example, truncate(Exp{mantissa: 15 * expScale}) = 15" }, - "id": 5597, + "id": 5730, "implemented": true, "kind": "function", "modifiers": [], @@ -24253,33 +24253,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5587, + "id": 5720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5586, + "id": 5719, "mutability": "mutable", "name": "exp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5597, + "scope": 5730, "src": "7245:14:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5585, + "id": 5718, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7245:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24290,17 +24290,17 @@ "src": "7244:16:17" }, "returnParameters": { - "id": 5590, + "id": 5723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5589, + "id": 5722, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5597, + "scope": 5730, "src": "7284:4:17", "stateVariable": false, "storageLocation": "default", @@ -24309,7 +24309,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5588, + "id": 5721, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7284:4:17", @@ -24324,7 +24324,7 @@ ], "src": "7283:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7227:210:17", "stateMutability": "pure", "virtual": false, @@ -24332,7 +24332,7 @@ }, { "body": { - "id": 5613, + "id": 5746, "nodeType": "Block", "src": "7601:54:17", "statements": [ @@ -24343,7 +24343,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5611, + "id": 5744, "isConstant": false, "isLValue": false, "isPure": false, @@ -24352,25 +24352,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5607, + "id": 5740, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5600, + "referencedDeclaration": 5733, "src": "7618:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5608, + "id": 5741, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7618:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24383,25 +24383,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5609, + "id": 5742, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5602, + "referencedDeclaration": 5735, "src": "7634:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5610, + "id": 5743, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7634:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24414,20 +24414,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5606, - "id": 5612, + "functionReturnParameters": 5739, + "id": 5745, "nodeType": "Return", "src": "7611:37:17" } ] }, "documentation": { - "id": 5598, + "id": 5731, "nodeType": "StructuredDocumentation", "src": "7443:68:17", "text": "@dev Checks if first Exp is less than second Exp." }, - "id": 5614, + "id": 5747, "implemented": true, "kind": "function", "modifiers": [], @@ -24435,33 +24435,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5603, + "id": 5736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5600, + "id": 5733, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7537:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5599, + "id": 5732, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7537:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24470,28 +24470,28 @@ }, { "constant": false, - "id": 5602, + "id": 5735, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7554:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5601, + "id": 5734, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7554:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24502,17 +24502,17 @@ "src": "7536:35:17" }, "returnParameters": { - "id": 5606, + "id": 5739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5605, + "id": 5738, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5614, + "scope": 5747, "src": "7595:4:17", "stateVariable": false, "storageLocation": "default", @@ -24521,7 +24521,7 @@ "typeString": "bool" }, "typeName": { - "id": 5604, + "id": 5737, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7595:4:17", @@ -24536,7 +24536,7 @@ ], "src": "7594:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7516:139:17", "stateMutability": "pure", "virtual": false, @@ -24544,7 +24544,7 @@ }, { "body": { - "id": 5630, + "id": 5763, "nodeType": "Block", "src": "7814:55:17", "statements": [ @@ -24555,7 +24555,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5628, + "id": 5761, "isConstant": false, "isLValue": false, "isPure": false, @@ -24564,25 +24564,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5624, + "id": 5757, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5617, + "referencedDeclaration": 5750, "src": "7831:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5625, + "id": 5758, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7831:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24595,25 +24595,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5626, + "id": 5759, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5619, + "referencedDeclaration": 5752, "src": "7848:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5627, + "id": 5760, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "7848:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24626,20 +24626,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5623, - "id": 5629, + "functionReturnParameters": 5756, + "id": 5762, "nodeType": "Return", "src": "7824:38:17" } ] }, "documentation": { - "id": 5615, + "id": 5748, "nodeType": "StructuredDocumentation", "src": "7661:56:17", "text": "@dev Checks if left Exp <= right Exp." }, - "id": 5631, + "id": 5764, "implemented": true, "kind": "function", "modifiers": [], @@ -24647,33 +24647,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5620, + "id": 5753, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5617, + "id": 5750, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7750:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5616, + "id": 5749, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7750:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24682,28 +24682,28 @@ }, { "constant": false, - "id": 5619, + "id": 5752, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7767:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5618, + "id": 5751, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7767:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24714,17 +24714,17 @@ "src": "7749:35:17" }, "returnParameters": { - "id": 5623, + "id": 5756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5622, + "id": 5755, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5631, + "scope": 5764, "src": "7808:4:17", "stateVariable": false, "storageLocation": "default", @@ -24733,7 +24733,7 @@ "typeString": "bool" }, "typeName": { - "id": 5621, + "id": 5754, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7808:4:17", @@ -24748,7 +24748,7 @@ ], "src": "7807:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7722:147:17", "stateMutability": "pure", "virtual": false, @@ -24756,7 +24756,7 @@ }, { "body": { - "id": 5647, + "id": 5780, "nodeType": "Block", "src": "8023:54:17", "statements": [ @@ -24767,7 +24767,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5645, + "id": 5778, "isConstant": false, "isLValue": false, "isPure": false, @@ -24776,25 +24776,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5641, + "id": 5774, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5634, + "referencedDeclaration": 5767, "src": "8040:4:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5642, + "id": 5775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8040:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24807,25 +24807,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5643, + "id": 5776, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5636, + "referencedDeclaration": 5769, "src": "8056:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5644, + "id": 5777, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8056:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24838,20 +24838,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5640, - "id": 5646, + "functionReturnParameters": 5773, + "id": 5779, "nodeType": "Return", "src": "8033:37:17" } ] }, "documentation": { - "id": 5632, + "id": 5765, "nodeType": "StructuredDocumentation", "src": "7875:55:17", "text": "@dev Checks if left Exp > right Exp." }, - "id": 5648, + "id": 5781, "implemented": true, "kind": "function", "modifiers": [], @@ -24859,33 +24859,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5637, + "id": 5770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5634, + "id": 5767, "mutability": "mutable", "name": "left", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "7959:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5633, + "id": 5766, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7959:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24894,28 +24894,28 @@ }, { "constant": false, - "id": 5636, + "id": 5769, "mutability": "mutable", "name": "right", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "7976:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5635, + "id": 5768, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "7976:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -24926,17 +24926,17 @@ "src": "7958:35:17" }, "returnParameters": { - "id": 5640, + "id": 5773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5639, + "id": 5772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5648, + "scope": 5781, "src": "8017:4:17", "stateVariable": false, "storageLocation": "default", @@ -24945,7 +24945,7 @@ "typeString": "bool" }, "typeName": { - "id": 5638, + "id": 5771, "name": "bool", "nodeType": "ElementaryTypeName", "src": "8017:4:17", @@ -24960,7 +24960,7 @@ ], "src": "8016:6:17" }, - "scope": 6216, + "scope": 6349, "src": "7935:142:17", "stateMutability": "pure", "virtual": false, @@ -24968,7 +24968,7 @@ }, { "body": { - "id": 5661, + "id": 5794, "nodeType": "Block", "src": "8213:43:17", "statements": [ @@ -24979,7 +24979,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5659, + "id": 5792, "isConstant": false, "isLValue": false, "isPure": false, @@ -24988,25 +24988,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5656, + "id": 5789, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5651, + "referencedDeclaration": 5784, "src": "8230:5:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5657, + "id": 5790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8230:14:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25018,7 +25018,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5658, + "id": 5791, "isConstant": false, "isLValue": false, "isPure": true, @@ -25039,20 +25039,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5655, - "id": 5660, + "functionReturnParameters": 5788, + "id": 5793, "nodeType": "Return", "src": "8223:26:17" } ] }, "documentation": { - "id": 5649, + "id": 5782, "nodeType": "StructuredDocumentation", "src": "8083:59:17", "text": "@dev returns true if Exp is exactly zero" }, - "id": 5662, + "id": 5795, "implemented": true, "kind": "function", "modifiers": [], @@ -25060,33 +25060,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5652, + "id": 5785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5651, + "id": 5784, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5662, + "scope": 5795, "src": "8166:16:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5650, + "id": 5783, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8166:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -25097,17 +25097,17 @@ "src": "8165:18:17" }, "returnParameters": { - "id": 5655, + "id": 5788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5654, + "id": 5787, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5662, + "scope": 5795, "src": "8207:4:17", "stateVariable": false, "storageLocation": "default", @@ -25116,7 +25116,7 @@ "typeString": "bool" }, "typeName": { - "id": 5653, + "id": 5786, "name": "bool", "nodeType": "ElementaryTypeName", "src": "8207:4:17", @@ -25131,7 +25131,7 @@ ], "src": "8206:6:17" }, - "scope": 6216, + "scope": 6349, "src": "8147:109:17", "stateMutability": "pure", "virtual": false, @@ -25139,7 +25139,7 @@ }, { "body": { - "id": 5685, + "id": 5818, "nodeType": "Block", "src": "8347:77:17", "statements": [ @@ -25153,18 +25153,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5676, + "id": 5809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5672, + "id": 5805, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5664, + "referencedDeclaration": 5797, "src": "8365:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25179,7 +25179,7 @@ "typeIdentifier": "t_rational_26959946667150639794667015087019630673637144422540572481103610249216_by_1", "typeString": "int_const 2695...(60 digits omitted)...9216" }, - "id": 5675, + "id": 5808, "isConstant": false, "isLValue": false, "isPure": true, @@ -25187,7 +25187,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5673, + "id": 5806, "isConstant": false, "isLValue": false, "isPure": true, @@ -25207,7 +25207,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "323234", - "id": 5674, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": true, @@ -25236,11 +25236,11 @@ }, { "argumentTypes": null, - "id": 5677, + "id": 5810, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5666, + "referencedDeclaration": 5799, "src": "8377:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -25259,7 +25259,7 @@ "typeString": "string memory" } ], - "id": 5671, + "id": 5804, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -25273,7 +25273,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5678, + "id": 5811, "isConstant": false, "isLValue": false, "isPure": false, @@ -25288,7 +25288,7 @@ "typeString": "tuple()" } }, - "id": 5679, + "id": 5812, "nodeType": "ExpressionStatement", "src": "8357:33:17" }, @@ -25298,11 +25298,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5682, + "id": 5815, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5664, + "referencedDeclaration": 5797, "src": "8415:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25317,7 +25317,7 @@ "typeString": "uint256" } ], - "id": 5681, + "id": 5814, "isConstant": false, "isLValue": false, "isPure": true, @@ -25329,7 +25329,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 5680, + "id": 5813, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "8407:7:17", @@ -25339,7 +25339,7 @@ } } }, - "id": 5683, + "id": 5816, "isConstant": false, "isLValue": false, "isPure": false, @@ -25354,15 +25354,15 @@ "typeString": "uint224" } }, - "functionReturnParameters": 5670, - "id": 5684, + "functionReturnParameters": 5803, + "id": 5817, "nodeType": "Return", "src": "8400:17:17" } ] }, "documentation": null, - "id": 5686, + "id": 5819, "implemented": true, "kind": "function", "modifiers": [], @@ -25370,17 +25370,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5667, + "id": 5800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5664, + "id": 5797, "mutability": "mutable", "name": "n", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8279:6:17", "stateVariable": false, "storageLocation": "default", @@ -25389,7 +25389,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5663, + "id": 5796, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8279:4:17", @@ -25403,12 +25403,12 @@ }, { "constant": false, - "id": 5666, + "id": 5799, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8287:26:17", "stateVariable": false, "storageLocation": "memory", @@ -25417,7 +25417,7 @@ "typeString": "string" }, "typeName": { - "id": 5665, + "id": 5798, "name": "string", "nodeType": "ElementaryTypeName", "src": "8287:6:17", @@ -25433,17 +25433,17 @@ "src": "8278:36:17" }, "returnParameters": { - "id": 5670, + "id": 5803, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5669, + "id": 5802, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5686, + "scope": 5819, "src": "8338:7:17", "stateVariable": false, "storageLocation": "default", @@ -25452,7 +25452,7 @@ "typeString": "uint224" }, "typeName": { - "id": 5668, + "id": 5801, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "8338:7:17", @@ -25467,7 +25467,7 @@ ], "src": "8337:9:17" }, - "scope": 6216, + "scope": 6349, "src": "8262:162:17", "stateMutability": "pure", "virtual": false, @@ -25475,7 +25475,7 @@ }, { "body": { - "id": 5709, + "id": 5842, "nodeType": "Block", "src": "8513:75:17", "statements": [ @@ -25489,18 +25489,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5700, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5696, + "id": 5829, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5688, + "referencedDeclaration": 5821, "src": "8531:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25515,7 +25515,7 @@ "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" }, - "id": 5699, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": true, @@ -25523,7 +25523,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 5697, + "id": 5830, "isConstant": false, "isLValue": false, "isPure": true, @@ -25543,7 +25543,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 5698, + "id": 5831, "isConstant": false, "isLValue": false, "isPure": true, @@ -25572,11 +25572,11 @@ }, { "argumentTypes": null, - "id": 5701, + "id": 5834, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5690, + "referencedDeclaration": 5823, "src": "8542:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -25595,7 +25595,7 @@ "typeString": "string memory" } ], - "id": 5695, + "id": 5828, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -25609,7 +25609,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5702, + "id": 5835, "isConstant": false, "isLValue": false, "isPure": false, @@ -25624,7 +25624,7 @@ "typeString": "tuple()" } }, - "id": 5703, + "id": 5836, "nodeType": "ExpressionStatement", "src": "8523:32:17" }, @@ -25634,11 +25634,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5706, + "id": 5839, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5688, + "referencedDeclaration": 5821, "src": "8579:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25653,7 +25653,7 @@ "typeString": "uint256" } ], - "id": 5705, + "id": 5838, "isConstant": false, "isLValue": false, "isPure": true, @@ -25665,7 +25665,7 @@ "typeString": "type(uint32)" }, "typeName": { - "id": 5704, + "id": 5837, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "8572:6:17", @@ -25675,7 +25675,7 @@ } } }, - "id": 5707, + "id": 5840, "isConstant": false, "isLValue": false, "isPure": false, @@ -25690,15 +25690,15 @@ "typeString": "uint32" } }, - "functionReturnParameters": 5694, - "id": 5708, + "functionReturnParameters": 5827, + "id": 5841, "nodeType": "Return", "src": "8565:16:17" } ] }, "documentation": null, - "id": 5710, + "id": 5843, "implemented": true, "kind": "function", "modifiers": [], @@ -25706,17 +25706,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5691, + "id": 5824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5688, + "id": 5821, "mutability": "mutable", "name": "n", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8446:6:17", "stateVariable": false, "storageLocation": "default", @@ -25725,7 +25725,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5687, + "id": 5820, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8446:4:17", @@ -25739,12 +25739,12 @@ }, { "constant": false, - "id": 5690, + "id": 5823, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8454:26:17", "stateVariable": false, "storageLocation": "memory", @@ -25753,7 +25753,7 @@ "typeString": "string" }, "typeName": { - "id": 5689, + "id": 5822, "name": "string", "nodeType": "ElementaryTypeName", "src": "8454:6:17", @@ -25769,17 +25769,17 @@ "src": "8445:36:17" }, "returnParameters": { - "id": 5694, + "id": 5827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5693, + "id": 5826, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5710, + "scope": 5843, "src": "8505:6:17", "stateVariable": false, "storageLocation": "default", @@ -25788,7 +25788,7 @@ "typeString": "uint32" }, "typeName": { - "id": 5692, + "id": 5825, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "8505:6:17", @@ -25803,7 +25803,7 @@ ], "src": "8504:8:17" }, - "scope": 6216, + "scope": 6349, "src": "8430:158:17", "stateMutability": "pure", "virtual": false, @@ -25811,7 +25811,7 @@ }, { "body": { - "id": 5728, + "id": 5861, "nodeType": "Block", "src": "8671:69:17", "statements": [ @@ -25826,25 +25826,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5721, + "id": 5854, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5712, + "referencedDeclaration": 5845, "src": "8708:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5722, + "id": 5855, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8708:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25855,25 +25855,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5723, + "id": 5856, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, + "referencedDeclaration": 5847, "src": "8720:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5724, + "id": 5857, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "8720:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25892,23 +25892,23 @@ "typeString": "uint256" } ], - "id": 5720, + "id": 5853, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5764, + "referencedDeclaration": 5897, "src": "8703:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5725, + "id": 5858, "isConstant": false, "isLValue": false, "isPure": false, @@ -25931,18 +25931,18 @@ "typeString": "uint256" } ], - "id": 5719, + "id": 5852, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8688:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5726, + "id": 5859, "isConstant": false, "isLValue": false, "isPure": false, @@ -25955,19 +25955,19 @@ "src": "8688:45:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5718, - "id": 5727, + "functionReturnParameters": 5851, + "id": 5860, "nodeType": "Return", "src": "8681:52:17" } ] }, "documentation": null, - "id": 5729, + "id": 5862, "implemented": true, "kind": "function", "modifiers": [], @@ -25975,33 +25975,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5715, + "id": 5848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5712, + "id": 5845, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8608:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5711, + "id": 5844, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8608:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -26010,28 +26010,28 @@ }, { "constant": false, - "id": 5714, + "id": 5847, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8622:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5713, + "id": 5846, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8622:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -26042,33 +26042,33 @@ "src": "8607:28:17" }, "returnParameters": { - "id": 5718, + "id": 5851, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5717, + "id": 5850, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5729, + "scope": 5862, "src": "8659:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5716, + "id": 5849, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "8659:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -26078,7 +26078,7 @@ ], "src": "8658:12:17" }, - "scope": 6216, + "scope": 6349, "src": "8594:146:17", "stateMutability": "pure", "virtual": false, @@ -26086,7 +26086,7 @@ }, { "body": { - "id": 5747, + "id": 5880, "nodeType": "Block", "src": "8832:72:17", "statements": [ @@ -26101,25 +26101,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5740, + "id": 5873, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5731, + "referencedDeclaration": 5864, "src": "8872:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5741, + "id": 5874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "8872:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26130,25 +26130,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5742, + "id": 5875, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, + "referencedDeclaration": 5866, "src": "8884:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5743, + "id": 5876, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "8884:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26167,23 +26167,23 @@ "typeString": "uint256" } ], - "id": 5739, + "id": 5872, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5764, + "referencedDeclaration": 5897, "src": "8867:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5744, + "id": 5877, "isConstant": false, "isLValue": false, "isPure": false, @@ -26206,18 +26206,18 @@ "typeString": "uint256" } ], - "id": 5738, + "id": 5871, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8849:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5745, + "id": 5878, "isConstant": false, "isLValue": false, "isPure": false, @@ -26230,19 +26230,19 @@ "src": "8849:48:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5737, - "id": 5746, + "functionReturnParameters": 5870, + "id": 5879, "nodeType": "Return", "src": "8842:55:17" } ] }, "documentation": null, - "id": 5748, + "id": 5881, "implemented": true, "kind": "function", "modifiers": [], @@ -26250,33 +26250,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5734, + "id": 5867, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5731, + "id": 5864, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8760:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5730, + "id": 5863, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8760:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -26285,28 +26285,28 @@ }, { "constant": false, - "id": 5733, + "id": 5866, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8777:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5732, + "id": 5865, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8777:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -26317,33 +26317,33 @@ "src": "8759:34:17" }, "returnParameters": { - "id": 5737, + "id": 5870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5736, + "id": 5869, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5748, + "scope": 5881, "src": "8817:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5735, + "id": 5868, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "8817:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -26353,7 +26353,7 @@ ], "src": "8816:15:17" }, - "scope": 6216, + "scope": 6349, "src": "8746:158:17", "stateMutability": "pure", "virtual": false, @@ -26361,7 +26361,7 @@ }, { "body": { - "id": 5763, + "id": 5896, "nodeType": "Block", "src": "8969:55:17", "statements": [ @@ -26371,11 +26371,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5758, + "id": 5891, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5750, + "referencedDeclaration": 5883, "src": "8991:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26384,11 +26384,11 @@ }, { "argumentTypes": null, - "id": 5759, + "id": 5892, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5752, + "referencedDeclaration": 5885, "src": "8994:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26398,7 +26398,7 @@ { "argumentTypes": null, "hexValue": "6164646974696f6e206f766572666c6f77", - "id": 5760, + "id": 5893, "isConstant": false, "isLValue": false, "isPure": true, @@ -26429,23 +26429,23 @@ "typeString": "literal_string \"addition overflow\"" } ], - "id": 5757, + "id": 5890, "name": "add_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5729, - 5748, - 5764, - 5791 + 5862, + 5881, + 5897, + 5924 ], - "referencedDeclaration": 5791, + "referencedDeclaration": 5924, "src": "8986:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5761, + "id": 5894, "isConstant": false, "isLValue": false, "isPure": false, @@ -26460,15 +26460,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5756, - "id": 5762, + "functionReturnParameters": 5889, + "id": 5895, "nodeType": "Return", "src": "8979:38:17" } ] }, "documentation": null, - "id": 5764, + "id": 5897, "implemented": true, "kind": "function", "modifiers": [], @@ -26476,17 +26476,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5753, + "id": 5886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5750, + "id": 5883, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8924:6:17", "stateVariable": false, "storageLocation": "default", @@ -26495,7 +26495,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5749, + "id": 5882, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8924:4:17", @@ -26509,12 +26509,12 @@ }, { "constant": false, - "id": 5752, + "id": 5885, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8932:6:17", "stateVariable": false, "storageLocation": "default", @@ -26523,7 +26523,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5751, + "id": 5884, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8932:4:17", @@ -26539,17 +26539,17 @@ "src": "8923:16:17" }, "returnParameters": { - "id": 5756, + "id": 5889, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5755, + "id": 5888, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5764, + "scope": 5897, "src": "8963:4:17", "stateVariable": false, "storageLocation": "default", @@ -26558,7 +26558,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5754, + "id": 5887, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8963:4:17", @@ -26573,7 +26573,7 @@ ], "src": "8962:6:17" }, - "scope": 6216, + "scope": 6349, "src": "8910:114:17", "stateMutability": "pure", "virtual": false, @@ -26581,23 +26581,23 @@ }, { "body": { - "id": 5790, + "id": 5923, "nodeType": "Block", "src": "9117:88:17", "statements": [ { "assignments": [ - 5776 + 5909 ], "declarations": [ { "constant": false, - "id": 5776, + "id": 5909, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5790, + "scope": 5923, "src": "9127:6:17", "stateVariable": false, "storageLocation": "default", @@ -26606,7 +26606,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5775, + "id": 5908, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9127:4:17", @@ -26619,25 +26619,25 @@ "visibility": "internal" } ], - "id": 5780, + "id": 5913, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5779, + "id": 5912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5777, + "id": 5910, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5766, + "referencedDeclaration": 5899, "src": "9136:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26648,11 +26648,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 5778, + "id": 5911, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5768, + "referencedDeclaration": 5901, "src": "9140:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26678,18 +26678,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5784, + "id": 5917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5782, + "id": 5915, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5776, + "referencedDeclaration": 5909, "src": "9159:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26700,11 +26700,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5783, + "id": 5916, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5766, + "referencedDeclaration": 5899, "src": "9164:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26719,11 +26719,11 @@ }, { "argumentTypes": null, - "id": 5785, + "id": 5918, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, + "referencedDeclaration": 5903, "src": "9167:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -26742,7 +26742,7 @@ "typeString": "string memory" } ], - "id": 5781, + "id": 5914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -26756,7 +26756,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5786, + "id": 5919, "isConstant": false, "isLValue": false, "isPure": false, @@ -26771,33 +26771,33 @@ "typeString": "tuple()" } }, - "id": 5787, + "id": 5920, "nodeType": "ExpressionStatement", "src": "9151:29:17" }, { "expression": { "argumentTypes": null, - "id": 5788, + "id": 5921, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5776, + "referencedDeclaration": 5909, "src": "9197:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5774, - "id": 5789, + "functionReturnParameters": 5907, + "id": 5922, "nodeType": "Return", "src": "9190:8:17" } ] }, "documentation": null, - "id": 5791, + "id": 5924, "implemented": true, "kind": "function", "modifiers": [], @@ -26805,17 +26805,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5771, + "id": 5904, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5766, + "id": 5899, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9044:6:17", "stateVariable": false, "storageLocation": "default", @@ -26824,7 +26824,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5765, + "id": 5898, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9044:4:17", @@ -26838,12 +26838,12 @@ }, { "constant": false, - "id": 5768, + "id": 5901, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9052:6:17", "stateVariable": false, "storageLocation": "default", @@ -26852,7 +26852,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5767, + "id": 5900, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9052:4:17", @@ -26866,12 +26866,12 @@ }, { "constant": false, - "id": 5770, + "id": 5903, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9060:26:17", "stateVariable": false, "storageLocation": "memory", @@ -26880,7 +26880,7 @@ "typeString": "string" }, "typeName": { - "id": 5769, + "id": 5902, "name": "string", "nodeType": "ElementaryTypeName", "src": "9060:6:17", @@ -26896,17 +26896,17 @@ "src": "9043:44:17" }, "returnParameters": { - "id": 5774, + "id": 5907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5773, + "id": 5906, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5791, + "scope": 5924, "src": "9111:4:17", "stateVariable": false, "storageLocation": "default", @@ -26915,7 +26915,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5772, + "id": 5905, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9111:4:17", @@ -26930,7 +26930,7 @@ ], "src": "9110:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9030:175:17", "stateMutability": "pure", "virtual": false, @@ -26938,7 +26938,7 @@ }, { "body": { - "id": 5809, + "id": 5942, "nodeType": "Block", "src": "9288:69:17", "statements": [ @@ -26953,25 +26953,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5802, + "id": 5935, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5793, + "referencedDeclaration": 5926, "src": "9325:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5803, + "id": 5936, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9325:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26982,25 +26982,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5804, + "id": 5937, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5795, + "referencedDeclaration": 5928, "src": "9337:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5805, + "id": 5938, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9337:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27019,23 +27019,23 @@ "typeString": "uint256" } ], - "id": 5801, + "id": 5934, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5845, + "referencedDeclaration": 5978, "src": "9320:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5806, + "id": 5939, "isConstant": false, "isLValue": false, "isPure": false, @@ -27058,18 +27058,18 @@ "typeString": "uint256" } ], - "id": 5800, + "id": 5933, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9305:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5807, + "id": 5940, "isConstant": false, "isLValue": false, "isPure": false, @@ -27082,19 +27082,19 @@ "src": "9305:45:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5799, - "id": 5808, + "functionReturnParameters": 5932, + "id": 5941, "nodeType": "Return", "src": "9298:52:17" } ] }, "documentation": null, - "id": 5810, + "id": 5943, "implemented": true, "kind": "function", "modifiers": [], @@ -27102,33 +27102,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5796, + "id": 5929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5793, + "id": 5926, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9225:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5792, + "id": 5925, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9225:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -27137,28 +27137,28 @@ }, { "constant": false, - "id": 5795, + "id": 5928, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9239:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5794, + "id": 5927, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9239:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -27169,33 +27169,33 @@ "src": "9224:28:17" }, "returnParameters": { - "id": 5799, + "id": 5932, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5798, + "id": 5931, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5810, + "scope": 5943, "src": "9276:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5797, + "id": 5930, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9276:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -27205,7 +27205,7 @@ ], "src": "9275:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9211:146:17", "stateMutability": "pure", "virtual": false, @@ -27213,7 +27213,7 @@ }, { "body": { - "id": 5828, + "id": 5961, "nodeType": "Block", "src": "9449:72:17", "statements": [ @@ -27228,25 +27228,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5821, + "id": 5954, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5812, + "referencedDeclaration": 5945, "src": "9489:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5822, + "id": 5955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "9489:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27257,25 +27257,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5823, + "id": 5956, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5814, + "referencedDeclaration": 5947, "src": "9501:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5824, + "id": 5957, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "9501:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27294,23 +27294,23 @@ "typeString": "uint256" } ], - "id": 5820, + "id": 5953, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5845, + "referencedDeclaration": 5978, "src": "9484:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5825, + "id": 5958, "isConstant": false, "isLValue": false, "isPure": false, @@ -27333,18 +27333,18 @@ "typeString": "uint256" } ], - "id": 5819, + "id": 5952, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9466:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5826, + "id": 5959, "isConstant": false, "isLValue": false, "isPure": false, @@ -27357,19 +27357,19 @@ "src": "9466:48:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5818, - "id": 5827, + "functionReturnParameters": 5951, + "id": 5960, "nodeType": "Return", "src": "9459:55:17" } ] }, "documentation": null, - "id": 5829, + "id": 5962, "implemented": true, "kind": "function", "modifiers": [], @@ -27377,33 +27377,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5815, + "id": 5948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5812, + "id": 5945, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9377:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5811, + "id": 5944, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9377:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -27412,28 +27412,28 @@ }, { "constant": false, - "id": 5814, + "id": 5947, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9394:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5813, + "id": 5946, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9394:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -27444,33 +27444,33 @@ "src": "9376:34:17" }, "returnParameters": { - "id": 5818, + "id": 5951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5817, + "id": 5950, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5829, + "scope": 5962, "src": "9434:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5816, + "id": 5949, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "9434:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -27480,7 +27480,7 @@ ], "src": "9433:15:17" }, - "scope": 6216, + "scope": 6349, "src": "9363:158:17", "stateMutability": "pure", "virtual": false, @@ -27488,7 +27488,7 @@ }, { "body": { - "id": 5844, + "id": 5977, "nodeType": "Block", "src": "9586:59:17", "statements": [ @@ -27498,11 +27498,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5839, + "id": 5972, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5831, + "referencedDeclaration": 5964, "src": "9608:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27511,11 +27511,11 @@ }, { "argumentTypes": null, - "id": 5840, + "id": 5973, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5833, + "referencedDeclaration": 5966, "src": "9611:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27525,7 +27525,7 @@ { "argumentTypes": null, "hexValue": "7375627472616374696f6e20756e646572666c6f77", - "id": 5841, + "id": 5974, "isConstant": false, "isLValue": false, "isPure": true, @@ -27556,23 +27556,23 @@ "typeString": "literal_string \"subtraction underflow\"" } ], - "id": 5838, + "id": 5971, "name": "sub_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5810, - 5829, - 5845, - 5868 + 5943, + 5962, + 5978, + 6001 ], - "referencedDeclaration": 5868, + "referencedDeclaration": 6001, "src": "9603:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5842, + "id": 5975, "isConstant": false, "isLValue": false, "isPure": false, @@ -27587,15 +27587,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5837, - "id": 5843, + "functionReturnParameters": 5970, + "id": 5976, "nodeType": "Return", "src": "9596:42:17" } ] }, "documentation": null, - "id": 5845, + "id": 5978, "implemented": true, "kind": "function", "modifiers": [], @@ -27603,17 +27603,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5834, + "id": 5967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5831, + "id": 5964, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9541:6:17", "stateVariable": false, "storageLocation": "default", @@ -27622,7 +27622,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5830, + "id": 5963, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9541:4:17", @@ -27636,12 +27636,12 @@ }, { "constant": false, - "id": 5833, + "id": 5966, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9549:6:17", "stateVariable": false, "storageLocation": "default", @@ -27650,7 +27650,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5832, + "id": 5965, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9549:4:17", @@ -27666,17 +27666,17 @@ "src": "9540:16:17" }, "returnParameters": { - "id": 5837, + "id": 5970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5836, + "id": 5969, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5845, + "scope": 5978, "src": "9580:4:17", "stateVariable": false, "storageLocation": "default", @@ -27685,7 +27685,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5835, + "id": 5968, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9580:4:17", @@ -27700,7 +27700,7 @@ ], "src": "9579:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9527:118:17", "stateMutability": "pure", "virtual": false, @@ -27708,7 +27708,7 @@ }, { "body": { - "id": 5867, + "id": 6000, "nodeType": "Block", "src": "9738:68:17", "statements": [ @@ -27722,18 +27722,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5859, + "id": 5992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5857, + "id": 5990, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5849, + "referencedDeclaration": 5982, "src": "9756:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27744,11 +27744,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 5858, + "id": 5991, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, + "referencedDeclaration": 5980, "src": "9761:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27763,11 +27763,11 @@ }, { "argumentTypes": null, - "id": 5860, + "id": 5993, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5851, + "referencedDeclaration": 5984, "src": "9764:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -27786,7 +27786,7 @@ "typeString": "string memory" } ], - "id": 5856, + "id": 5989, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27800,7 +27800,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5861, + "id": 5994, "isConstant": false, "isLValue": false, "isPure": false, @@ -27815,7 +27815,7 @@ "typeString": "tuple()" } }, - "id": 5862, + "id": 5995, "nodeType": "ExpressionStatement", "src": "9748:29:17" }, @@ -27826,18 +27826,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5865, + "id": 5998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5863, + "id": 5996, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5847, + "referencedDeclaration": 5980, "src": "9794:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27848,11 +27848,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 5864, + "id": 5997, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5849, + "referencedDeclaration": 5982, "src": "9798:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27865,15 +27865,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5855, - "id": 5866, + "functionReturnParameters": 5988, + "id": 5999, "nodeType": "Return", "src": "9787:12:17" } ] }, "documentation": null, - "id": 5868, + "id": 6001, "implemented": true, "kind": "function", "modifiers": [], @@ -27881,17 +27881,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5852, + "id": 5985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5847, + "id": 5980, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9665:6:17", "stateVariable": false, "storageLocation": "default", @@ -27900,7 +27900,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5846, + "id": 5979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9665:4:17", @@ -27914,12 +27914,12 @@ }, { "constant": false, - "id": 5849, + "id": 5982, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9673:6:17", "stateVariable": false, "storageLocation": "default", @@ -27928,7 +27928,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5848, + "id": 5981, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9673:4:17", @@ -27942,12 +27942,12 @@ }, { "constant": false, - "id": 5851, + "id": 5984, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9681:26:17", "stateVariable": false, "storageLocation": "memory", @@ -27956,7 +27956,7 @@ "typeString": "string" }, "typeName": { - "id": 5850, + "id": 5983, "name": "string", "nodeType": "ElementaryTypeName", "src": "9681:6:17", @@ -27972,17 +27972,17 @@ "src": "9664:44:17" }, "returnParameters": { - "id": 5855, + "id": 5988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5854, + "id": 5987, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5868, + "scope": 6001, "src": "9732:4:17", "stateVariable": false, "storageLocation": "default", @@ -27991,7 +27991,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5853, + "id": 5986, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9732:4:17", @@ -28006,7 +28006,7 @@ ], "src": "9731:6:17" }, - "scope": 6216, + "scope": 6349, "src": "9651:155:17", "stateMutability": "pure", "virtual": false, @@ -28014,7 +28014,7 @@ }, { "body": { - "id": 5888, + "id": 6021, "nodeType": "Block", "src": "9889:80:17", "statements": [ @@ -28028,7 +28028,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5885, + "id": 6018, "isConstant": false, "isLValue": false, "isPure": false, @@ -28040,25 +28040,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5879, + "id": 6012, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5870, + "referencedDeclaration": 6003, "src": "9926:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5880, + "id": 6013, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9926:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28069,25 +28069,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5881, + "id": 6014, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5872, + "referencedDeclaration": 6005, "src": "9938:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5882, + "id": 6015, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "9938:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28106,27 +28106,27 @@ "typeString": "uint256" } ], - "id": 5878, + "id": 6011, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "9921:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5883, + "id": 6016, "isConstant": false, "isLValue": false, "isPure": false, @@ -28145,11 +28145,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5884, + "id": 6017, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "9952:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28170,18 +28170,18 @@ "typeString": "uint256" } ], - "id": 5877, + "id": 6010, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9906:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5886, + "id": 6019, "isConstant": false, "isLValue": false, "isPure": false, @@ -28194,19 +28194,19 @@ "src": "9906:56:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5876, - "id": 5887, + "functionReturnParameters": 6009, + "id": 6020, "nodeType": "Return", "src": "9899:63:17" } ] }, "documentation": null, - "id": 5889, + "id": 6022, "implemented": true, "kind": "function", "modifiers": [], @@ -28214,33 +28214,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5873, + "id": 6006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5870, + "id": 6003, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9826:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5869, + "id": 6002, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9826:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28249,28 +28249,28 @@ }, { "constant": false, - "id": 5872, + "id": 6005, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9840:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5871, + "id": 6004, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9840:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28281,33 +28281,33 @@ "src": "9825:28:17" }, "returnParameters": { - "id": 5876, + "id": 6009, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5875, + "id": 6008, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5889, + "scope": 6022, "src": "9877:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5874, + "id": 6007, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9877:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28317,7 +28317,7 @@ ], "src": "9876:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9812:157:17", "stateMutability": "pure", "virtual": false, @@ -28325,7 +28325,7 @@ }, { "body": { - "id": 5906, + "id": 6039, "nodeType": "Block", "src": "10046:60:17", "statements": [ @@ -28340,25 +28340,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5900, + "id": 6033, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5891, + "referencedDeclaration": 6024, "src": "10083:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5901, + "id": 6034, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "10083:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28367,11 +28367,11 @@ }, { "argumentTypes": null, - "id": 5902, + "id": 6035, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5893, + "referencedDeclaration": 6026, "src": "10095:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28390,27 +28390,27 @@ "typeString": "uint256" } ], - "id": 5899, + "id": 6032, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10078:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5903, + "id": 6036, "isConstant": false, "isLValue": false, "isPure": false, @@ -28433,18 +28433,18 @@ "typeString": "uint256" } ], - "id": 5898, + "id": 6031, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10063:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 5904, + "id": 6037, "isConstant": false, "isLValue": false, "isPure": false, @@ -28457,19 +28457,19 @@ "src": "10063:36:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 5897, - "id": 5905, + "functionReturnParameters": 6030, + "id": 6038, "nodeType": "Return", "src": "10056:43:17" } ] }, "documentation": null, - "id": 5907, + "id": 6040, "implemented": true, "kind": "function", "modifiers": [], @@ -28477,33 +28477,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5894, + "id": 6027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5891, + "id": 6024, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "9989:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5890, + "id": 6023, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "9989:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28512,12 +28512,12 @@ }, { "constant": false, - "id": 5893, + "id": 6026, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "10003:6:17", "stateVariable": false, "storageLocation": "default", @@ -28526,7 +28526,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5892, + "id": 6025, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10003:4:17", @@ -28542,33 +28542,33 @@ "src": "9988:22:17" }, "returnParameters": { - "id": 5897, + "id": 6030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5896, + "id": 6029, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5907, + "scope": 6040, "src": "10034:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5895, + "id": 6028, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10034:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28578,7 +28578,7 @@ ], "src": "10033:12:17" }, - "scope": 6216, + "scope": 6349, "src": "9975:131:17", "stateMutability": "pure", "virtual": false, @@ -28586,7 +28586,7 @@ }, { "body": { - "id": 5924, + "id": 6057, "nodeType": "Block", "src": "10177:54:17", "statements": [ @@ -28597,7 +28597,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5922, + "id": 6055, "isConstant": false, "isLValue": false, "isPure": false, @@ -28607,11 +28607,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5917, + "id": 6050, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5909, + "referencedDeclaration": 6042, "src": "10199:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28622,25 +28622,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5918, + "id": 6051, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5911, + "referencedDeclaration": 6044, "src": "10202:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 5919, + "id": 6052, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "10202:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28659,27 +28659,27 @@ "typeString": "uint256" } ], - "id": 5916, + "id": 6049, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10194:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5920, + "id": 6053, "isConstant": false, "isLValue": false, "isPure": false, @@ -28698,11 +28698,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5921, + "id": 6054, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "10216:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28715,15 +28715,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5915, - "id": 5923, + "functionReturnParameters": 6048, + "id": 6056, "nodeType": "Return", "src": "10187:37:17" } ] }, "documentation": null, - "id": 5925, + "id": 6058, "implemented": true, "kind": "function", "modifiers": [], @@ -28731,17 +28731,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5912, + "id": 6045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5909, + "id": 6042, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10126:6:17", "stateVariable": false, "storageLocation": "default", @@ -28750,7 +28750,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5908, + "id": 6041, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10126:4:17", @@ -28764,28 +28764,28 @@ }, { "constant": false, - "id": 5911, + "id": 6044, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10134:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 5910, + "id": 6043, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "10134:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -28796,17 +28796,17 @@ "src": "10125:22:17" }, "returnParameters": { - "id": 5915, + "id": 6048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5914, + "id": 6047, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5925, + "scope": 6058, "src": "10171:4:17", "stateVariable": false, "storageLocation": "default", @@ -28815,7 +28815,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5913, + "id": 6046, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10171:4:17", @@ -28830,7 +28830,7 @@ ], "src": "10170:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10112:119:17", "stateMutability": "pure", "virtual": false, @@ -28838,7 +28838,7 @@ }, { "body": { - "id": 5945, + "id": 6078, "nodeType": "Block", "src": "10323:86:17", "statements": [ @@ -28852,7 +28852,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5942, + "id": 6075, "isConstant": false, "isLValue": false, "isPure": false, @@ -28864,25 +28864,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5936, + "id": 6069, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5927, + "referencedDeclaration": 6060, "src": "10363:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5937, + "id": 6070, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10363:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28893,25 +28893,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5938, + "id": 6071, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5929, + "referencedDeclaration": 6062, "src": "10375:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5939, + "id": 6072, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10375:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28930,27 +28930,27 @@ "typeString": "uint256" } ], - "id": 5935, + "id": 6068, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10358:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5940, + "id": 6073, "isConstant": false, "isLValue": false, "isPure": false, @@ -28969,11 +28969,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5941, + "id": 6074, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "10389:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28994,18 +28994,18 @@ "typeString": "uint256" } ], - "id": 5934, + "id": 6067, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10340:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5943, + "id": 6076, "isConstant": false, "isLValue": false, "isPure": false, @@ -29018,19 +29018,19 @@ "src": "10340:62:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5933, - "id": 5944, + "functionReturnParameters": 6066, + "id": 6077, "nodeType": "Return", "src": "10333:69:17" } ] }, "documentation": null, - "id": 5946, + "id": 6079, "implemented": true, "kind": "function", "modifiers": [], @@ -29038,33 +29038,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5930, + "id": 6063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5927, + "id": 6060, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10251:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5926, + "id": 6059, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10251:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29073,28 +29073,28 @@ }, { "constant": false, - "id": 5929, + "id": 6062, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10268:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5928, + "id": 6061, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10268:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29105,33 +29105,33 @@ "src": "10250:34:17" }, "returnParameters": { - "id": 5933, + "id": 6066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5932, + "id": 6065, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5946, + "scope": 6079, "src": "10308:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5931, + "id": 6064, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10308:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29141,7 +29141,7 @@ ], "src": "10307:15:17" }, - "scope": 6216, + "scope": 6349, "src": "10237:172:17", "stateMutability": "pure", "virtual": false, @@ -29149,7 +29149,7 @@ }, { "body": { - "id": 5963, + "id": 6096, "nodeType": "Block", "src": "10492:63:17", "statements": [ @@ -29164,25 +29164,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5957, + "id": 6090, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5948, + "referencedDeclaration": 6081, "src": "10532:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5958, + "id": 6091, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10532:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29191,11 +29191,11 @@ }, { "argumentTypes": null, - "id": 5959, + "id": 6092, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5950, + "referencedDeclaration": 6083, "src": "10544:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29214,27 +29214,27 @@ "typeString": "uint256" } ], - "id": 5956, + "id": 6089, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10527:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5960, + "id": 6093, "isConstant": false, "isLValue": false, "isPure": false, @@ -29257,18 +29257,18 @@ "typeString": "uint256" } ], - "id": 5955, + "id": 6088, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10509:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 5961, + "id": 6094, "isConstant": false, "isLValue": false, "isPure": false, @@ -29281,19 +29281,19 @@ "src": "10509:39:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 5954, - "id": 5962, + "functionReturnParameters": 6087, + "id": 6095, "nodeType": "Return", "src": "10502:46:17" } ] }, "documentation": null, - "id": 5964, + "id": 6097, "implemented": true, "kind": "function", "modifiers": [], @@ -29301,33 +29301,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5951, + "id": 6084, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5948, + "id": 6081, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10429:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5947, + "id": 6080, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10429:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29336,12 +29336,12 @@ }, { "constant": false, - "id": 5950, + "id": 6083, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10446:6:17", "stateVariable": false, "storageLocation": "default", @@ -29350,7 +29350,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5949, + "id": 6082, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10446:4:17", @@ -29366,33 +29366,33 @@ "src": "10428:25:17" }, "returnParameters": { - "id": 5954, + "id": 6087, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5953, + "id": 6086, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5964, + "scope": 6097, "src": "10477:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5952, + "id": 6085, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10477:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29402,7 +29402,7 @@ ], "src": "10476:15:17" }, - "scope": 6216, + "scope": 6349, "src": "10415:140:17", "stateMutability": "pure", "virtual": false, @@ -29410,7 +29410,7 @@ }, { "body": { - "id": 5981, + "id": 6114, "nodeType": "Block", "src": "10629:57:17", "statements": [ @@ -29421,7 +29421,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5979, + "id": 6112, "isConstant": false, "isLValue": false, "isPure": false, @@ -29431,11 +29431,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5974, + "id": 6107, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5966, + "referencedDeclaration": 6099, "src": "10651:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29446,25 +29446,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5975, + "id": 6108, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5968, + "referencedDeclaration": 6101, "src": "10654:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 5976, + "id": 6109, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "10654:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29483,27 +29483,27 @@ "typeString": "uint256" } ], - "id": 5973, + "id": 6106, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "10646:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5977, + "id": 6110, "isConstant": false, "isLValue": false, "isPure": false, @@ -29522,11 +29522,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 5978, + "id": 6111, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "10668:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29539,15 +29539,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5972, - "id": 5980, + "functionReturnParameters": 6105, + "id": 6113, "nodeType": "Return", "src": "10639:40:17" } ] }, "documentation": null, - "id": 5982, + "id": 6115, "implemented": true, "kind": "function", "modifiers": [], @@ -29555,17 +29555,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5969, + "id": 6102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5966, + "id": 6099, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10575:6:17", "stateVariable": false, "storageLocation": "default", @@ -29574,7 +29574,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5965, + "id": 6098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10575:4:17", @@ -29588,28 +29588,28 @@ }, { "constant": false, - "id": 5968, + "id": 6101, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10583:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 5967, + "id": 6100, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "10583:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -29620,17 +29620,17 @@ "src": "10574:25:17" }, "returnParameters": { - "id": 5972, + "id": 6105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5971, + "id": 6104, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5982, + "scope": 6115, "src": "10623:4:17", "stateVariable": false, "storageLocation": "default", @@ -29639,7 +29639,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5970, + "id": 6103, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10623:4:17", @@ -29654,7 +29654,7 @@ ], "src": "10622:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10561:125:17", "stateMutability": "pure", "virtual": false, @@ -29662,7 +29662,7 @@ }, { "body": { - "id": 5997, + "id": 6130, "nodeType": "Block", "src": "10751:61:17", "statements": [ @@ -29672,11 +29672,11 @@ "arguments": [ { "argumentTypes": null, - "id": 5992, + "id": 6125, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5984, + "referencedDeclaration": 6117, "src": "10773:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29685,11 +29685,11 @@ }, { "argumentTypes": null, - "id": 5993, + "id": 6126, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5986, + "referencedDeclaration": 6119, "src": "10776:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29699,7 +29699,7 @@ { "argumentTypes": null, "hexValue": "6d756c7469706c69636174696f6e206f766572666c6f77", - "id": 5994, + "id": 6127, "isConstant": false, "isLValue": false, "isPure": true, @@ -29730,27 +29730,27 @@ "typeString": "literal_string \"multiplication overflow\"" } ], - "id": 5991, + "id": 6124, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 6038, + "referencedDeclaration": 6171, "src": "10768:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 5995, + "id": 6128, "isConstant": false, "isLValue": false, "isPure": false, @@ -29765,15 +29765,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5990, - "id": 5996, + "functionReturnParameters": 6123, + "id": 6129, "nodeType": "Return", "src": "10761:44:17" } ] }, "documentation": null, - "id": 5998, + "id": 6131, "implemented": true, "kind": "function", "modifiers": [], @@ -29781,17 +29781,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 5987, + "id": 6120, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5984, + "id": 6117, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10706:6:17", "stateVariable": false, "storageLocation": "default", @@ -29800,7 +29800,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5983, + "id": 6116, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10706:4:17", @@ -29814,12 +29814,12 @@ }, { "constant": false, - "id": 5986, + "id": 6119, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10714:6:17", "stateVariable": false, "storageLocation": "default", @@ -29828,7 +29828,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5985, + "id": 6118, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10714:4:17", @@ -29844,17 +29844,17 @@ "src": "10705:16:17" }, "returnParameters": { - "id": 5990, + "id": 6123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5989, + "id": 6122, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 5998, + "scope": 6131, "src": "10745:4:17", "stateVariable": false, "storageLocation": "default", @@ -29863,7 +29863,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5988, + "id": 6121, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10745:4:17", @@ -29878,7 +29878,7 @@ ], "src": "10744:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10692:120:17", "stateMutability": "pure", "virtual": false, @@ -29886,7 +29886,7 @@ }, { "body": { - "id": 6037, + "id": 6170, "nodeType": "Block", "src": "10905:156:17", "statements": [ @@ -29897,7 +29897,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6015, + "id": 6148, "isConstant": false, "isLValue": false, "isPure": false, @@ -29908,18 +29908,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6011, + "id": 6144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6009, + "id": 6142, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "10919:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29931,7 +29931,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6010, + "id": 6143, "isConstant": false, "isLValue": false, "isPure": true, @@ -29960,18 +29960,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6014, + "id": 6147, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6012, + "id": 6145, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "10929:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29983,7 +29983,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6013, + "id": 6146, "isConstant": false, "isLValue": false, "isPure": true, @@ -30011,11 +30011,11 @@ } }, "falseBody": null, - "id": 6019, + "id": 6152, "nodeType": "IfStatement", "src": "10915:55:17", "trueBody": { - "id": 6018, + "id": 6151, "nodeType": "Block", "src": "10937:33:17", "statements": [ @@ -30023,7 +30023,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6016, + "id": 6149, "isConstant": false, "isLValue": false, "isPure": true, @@ -30038,8 +30038,8 @@ }, "value": "0" }, - "functionReturnParameters": 6008, - "id": 6017, + "functionReturnParameters": 6141, + "id": 6150, "nodeType": "Return", "src": "10951:8:17" } @@ -30048,17 +30048,17 @@ }, { "assignments": [ - 6021 + 6154 ], "declarations": [ { "constant": false, - "id": 6021, + "id": 6154, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6037, + "scope": 6170, "src": "10979:6:17", "stateVariable": false, "storageLocation": "default", @@ -30067,7 +30067,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6020, + "id": 6153, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10979:4:17", @@ -30080,25 +30080,25 @@ "visibility": "internal" } ], - "id": 6025, + "id": 6158, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6024, + "id": 6157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6022, + "id": 6155, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "10988:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30109,11 +30109,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 6023, + "id": 6156, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "10992:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30139,7 +30139,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6031, + "id": 6164, "isConstant": false, "isLValue": false, "isPure": false, @@ -30150,18 +30150,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6029, + "id": 6162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6027, + "id": 6160, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6021, + "referencedDeclaration": 6154, "src": "11011:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30172,11 +30172,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6028, + "id": 6161, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6000, + "referencedDeclaration": 6133, "src": "11015:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30193,11 +30193,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 6030, + "id": 6163, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6002, + "referencedDeclaration": 6135, "src": "11020:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30212,11 +30212,11 @@ }, { "argumentTypes": null, - "id": 6032, + "id": 6165, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6004, + "referencedDeclaration": 6137, "src": "11023:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -30235,7 +30235,7 @@ "typeString": "string memory" } ], - "id": 6026, + "id": 6159, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30249,7 +30249,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6033, + "id": 6166, "isConstant": false, "isLValue": false, "isPure": false, @@ -30264,33 +30264,33 @@ "typeString": "tuple()" } }, - "id": 6034, + "id": 6167, "nodeType": "ExpressionStatement", "src": "11003:33:17" }, { "expression": { "argumentTypes": null, - "id": 6035, + "id": 6168, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6021, + "referencedDeclaration": 6154, "src": "11053:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6008, - "id": 6036, + "functionReturnParameters": 6141, + "id": 6169, "nodeType": "Return", "src": "11046:8:17" } ] }, "documentation": null, - "id": 6038, + "id": 6171, "implemented": true, "kind": "function", "modifiers": [], @@ -30298,17 +30298,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6005, + "id": 6138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6000, + "id": 6133, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10832:6:17", "stateVariable": false, "storageLocation": "default", @@ -30317,7 +30317,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5999, + "id": 6132, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10832:4:17", @@ -30331,12 +30331,12 @@ }, { "constant": false, - "id": 6002, + "id": 6135, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10840:6:17", "stateVariable": false, "storageLocation": "default", @@ -30345,7 +30345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6001, + "id": 6134, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10840:4:17", @@ -30359,12 +30359,12 @@ }, { "constant": false, - "id": 6004, + "id": 6137, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10848:26:17", "stateVariable": false, "storageLocation": "memory", @@ -30373,7 +30373,7 @@ "typeString": "string" }, "typeName": { - "id": 6003, + "id": 6136, "name": "string", "nodeType": "ElementaryTypeName", "src": "10848:6:17", @@ -30389,17 +30389,17 @@ "src": "10831:44:17" }, "returnParameters": { - "id": 6008, + "id": 6141, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6007, + "id": 6140, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6038, + "scope": 6171, "src": "10899:4:17", "stateVariable": false, "storageLocation": "default", @@ -30408,7 +30408,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6006, + "id": 6139, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10899:4:17", @@ -30423,7 +30423,7 @@ ], "src": "10898:6:17" }, - "scope": 6216, + "scope": 6349, "src": "10818:243:17", "stateMutability": "pure", "virtual": false, @@ -30431,7 +30431,7 @@ }, { "body": { - "id": 6059, + "id": 6192, "nodeType": "Block", "src": "11144:85:17", "statements": [ @@ -30449,25 +30449,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6050, + "id": 6183, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6040, + "referencedDeclaration": 6173, "src": "11186:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6051, + "id": 6184, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11186:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30476,11 +30476,11 @@ }, { "argumentTypes": null, - "id": 6052, + "id": 6185, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "11198:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30499,27 +30499,27 @@ "typeString": "uint256" } ], - "id": 6049, + "id": 6182, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11181:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6053, + "id": 6186, "isConstant": false, "isLValue": false, "isPure": false, @@ -30538,25 +30538,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6054, + "id": 6187, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6042, + "referencedDeclaration": 6175, "src": "11209:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6055, + "id": 6188, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11209:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30575,27 +30575,27 @@ "typeString": "uint256" } ], - "id": 6048, + "id": 6181, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11176:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6056, + "id": 6189, "isConstant": false, "isLValue": false, "isPure": false, @@ -30618,18 +30618,18 @@ "typeString": "uint256" } ], - "id": 6047, + "id": 6180, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11161:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 6057, + "id": 6190, "isConstant": false, "isLValue": false, "isPure": false, @@ -30642,19 +30642,19 @@ "src": "11161:61:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 6046, - "id": 6058, + "functionReturnParameters": 6179, + "id": 6191, "nodeType": "Return", "src": "11154:68:17" } ] }, "documentation": null, - "id": 6060, + "id": 6193, "implemented": true, "kind": "function", "modifiers": [], @@ -30662,33 +30662,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6043, + "id": 6176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6040, + "id": 6173, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11081:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6039, + "id": 6172, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11081:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30697,28 +30697,28 @@ }, { "constant": false, - "id": 6042, + "id": 6175, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11095:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6041, + "id": 6174, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11095:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30729,33 +30729,33 @@ "src": "11080:28:17" }, "returnParameters": { - "id": 6046, + "id": 6179, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6045, + "id": 6178, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6060, + "scope": 6193, "src": "11132:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6044, + "id": 6177, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11132:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30765,7 +30765,7 @@ ], "src": "11131:12:17" }, - "scope": 6216, + "scope": 6349, "src": "11067:162:17", "stateMutability": "pure", "virtual": false, @@ -30773,7 +30773,7 @@ }, { "body": { - "id": 6077, + "id": 6210, "nodeType": "Block", "src": "11306:60:17", "statements": [ @@ -30788,25 +30788,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6071, + "id": 6204, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6062, + "referencedDeclaration": 6195, "src": "11343:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6072, + "id": 6205, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11343:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30815,11 +30815,11 @@ }, { "argumentTypes": null, - "id": 6073, + "id": 6206, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6064, + "referencedDeclaration": 6197, "src": "11355:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30838,27 +30838,27 @@ "typeString": "uint256" } ], - "id": 6070, + "id": 6203, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11338:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6074, + "id": 6207, "isConstant": false, "isLValue": false, "isPure": false, @@ -30881,18 +30881,18 @@ "typeString": "uint256" } ], - "id": 6069, + "id": 6202, "name": "Exp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11323:3:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Exp_$5054_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Exp_$5187_storage_ptr_$", "typeString": "type(struct Exponential.Exp storage pointer)" } }, - "id": 6075, + "id": 6208, "isConstant": false, "isLValue": false, "isPure": false, @@ -30905,19 +30905,19 @@ "src": "11323:36:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "functionReturnParameters": 6068, - "id": 6076, + "functionReturnParameters": 6201, + "id": 6209, "nodeType": "Return", "src": "11316:43:17" } ] }, "documentation": null, - "id": 6078, + "id": 6211, "implemented": true, "kind": "function", "modifiers": [], @@ -30925,33 +30925,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6065, + "id": 6198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6062, + "id": 6195, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11249:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6061, + "id": 6194, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11249:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -30960,12 +30960,12 @@ }, { "constant": false, - "id": 6064, + "id": 6197, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11263:6:17", "stateVariable": false, "storageLocation": "default", @@ -30974,7 +30974,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6063, + "id": 6196, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11263:4:17", @@ -30990,33 +30990,33 @@ "src": "11248:22:17" }, "returnParameters": { - "id": 6068, + "id": 6201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6067, + "id": 6200, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6078, + "scope": 6211, "src": "11294:10:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6066, + "id": 6199, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11294:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -31026,7 +31026,7 @@ ], "src": "11293:12:17" }, - "scope": 6216, + "scope": 6349, "src": "11235:131:17", "stateMutability": "pure", "virtual": false, @@ -31034,7 +31034,7 @@ }, { "body": { - "id": 6096, + "id": 6229, "nodeType": "Block", "src": "11437:59:17", "statements": [ @@ -31047,11 +31047,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6089, + "id": 6222, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6080, + "referencedDeclaration": 6213, "src": "11464:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31060,11 +31060,11 @@ }, { "argumentTypes": null, - "id": 6090, + "id": 6223, "name": "expScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5040, + "referencedDeclaration": 5173, "src": "11467:8:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31083,27 +31083,27 @@ "typeString": "uint256" } ], - "id": 6088, + "id": 6221, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11459:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6091, + "id": 6224, "isConstant": false, "isLValue": false, "isPure": false, @@ -31122,25 +31122,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6092, + "id": 6225, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6082, + "referencedDeclaration": 6215, "src": "11478:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp memory" } }, - "id": 6093, + "id": 6226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5053, + "referencedDeclaration": 5186, "src": "11478:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31159,27 +31159,27 @@ "typeString": "uint256" } ], - "id": 6087, + "id": 6220, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11454:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6094, + "id": 6227, "isConstant": false, "isLValue": false, "isPure": false, @@ -31194,15 +31194,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6086, - "id": 6095, + "functionReturnParameters": 6219, + "id": 6228, "nodeType": "Return", "src": "11447:42:17" } ] }, "documentation": null, - "id": 6097, + "id": 6230, "implemented": true, "kind": "function", "modifiers": [], @@ -31210,17 +31210,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6083, + "id": 6216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6080, + "id": 6213, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11386:6:17", "stateVariable": false, "storageLocation": "default", @@ -31229,7 +31229,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6079, + "id": 6212, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11386:4:17", @@ -31243,28 +31243,28 @@ }, { "constant": false, - "id": 6082, + "id": 6215, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11394:12:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_memory_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_memory_ptr", "typeString": "struct Exponential.Exp" }, "typeName": { "contractScope": null, - "id": 6081, + "id": 6214, "name": "Exp", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5054, + "referencedDeclaration": 5187, "src": "11394:3:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Exp_$5054_storage_ptr", + "typeIdentifier": "t_struct$_Exp_$5187_storage_ptr", "typeString": "struct Exponential.Exp" } }, @@ -31275,17 +31275,17 @@ "src": "11385:22:17" }, "returnParameters": { - "id": 6086, + "id": 6219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6085, + "id": 6218, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6097, + "scope": 6230, "src": "11431:4:17", "stateVariable": false, "storageLocation": "default", @@ -31294,7 +31294,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6084, + "id": 6217, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11431:4:17", @@ -31309,7 +31309,7 @@ ], "src": "11430:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11372:124:17", "stateMutability": "pure", "virtual": false, @@ -31317,7 +31317,7 @@ }, { "body": { - "id": 6118, + "id": 6251, "nodeType": "Block", "src": "11588:91:17", "statements": [ @@ -31335,25 +31335,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6109, + "id": 6242, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6099, + "referencedDeclaration": 6232, "src": "11633:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6110, + "id": 6243, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11633:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31362,11 +31362,11 @@ }, { "argumentTypes": null, - "id": 6111, + "id": 6244, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "11645:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31385,27 +31385,27 @@ "typeString": "uint256" } ], - "id": 6108, + "id": 6241, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11628:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6112, + "id": 6245, "isConstant": false, "isLValue": false, "isPure": false, @@ -31424,25 +31424,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6113, + "id": 6246, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6101, + "referencedDeclaration": 6234, "src": "11659:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6114, + "id": 6247, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11659:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31461,27 +31461,27 @@ "typeString": "uint256" } ], - "id": 6107, + "id": 6240, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11623:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6115, + "id": 6248, "isConstant": false, "isLValue": false, "isPure": false, @@ -31504,18 +31504,18 @@ "typeString": "uint256" } ], - "id": 6106, + "id": 6239, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11605:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6116, + "id": 6249, "isConstant": false, "isLValue": false, "isPure": false, @@ -31528,19 +31528,19 @@ "src": "11605:67:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6105, - "id": 6117, + "functionReturnParameters": 6238, + "id": 6250, "nodeType": "Return", "src": "11598:74:17" } ] }, "documentation": null, - "id": 6119, + "id": 6252, "implemented": true, "kind": "function", "modifiers": [], @@ -31548,33 +31548,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6102, + "id": 6235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6099, + "id": 6232, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11516:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6098, + "id": 6231, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11516:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -31583,28 +31583,28 @@ }, { "constant": false, - "id": 6101, + "id": 6234, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11533:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6100, + "id": 6233, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11533:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -31615,33 +31615,33 @@ "src": "11515:34:17" }, "returnParameters": { - "id": 6105, + "id": 6238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6104, + "id": 6237, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6119, + "scope": 6252, "src": "11573:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6103, + "id": 6236, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11573:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -31651,7 +31651,7 @@ ], "src": "11572:15:17" }, - "scope": 6216, + "scope": 6349, "src": "11502:177:17", "stateMutability": "pure", "virtual": false, @@ -31659,7 +31659,7 @@ }, { "body": { - "id": 6136, + "id": 6269, "nodeType": "Block", "src": "11762:63:17", "statements": [ @@ -31674,25 +31674,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6130, + "id": 6263, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6121, + "referencedDeclaration": 6254, "src": "11802:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6131, + "id": 6264, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11802:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31701,11 +31701,11 @@ }, { "argumentTypes": null, - "id": 6132, + "id": 6265, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6123, + "referencedDeclaration": 6256, "src": "11814:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31724,27 +31724,27 @@ "typeString": "uint256" } ], - "id": 6129, + "id": 6262, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11797:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6133, + "id": 6266, "isConstant": false, "isLValue": false, "isPure": false, @@ -31767,18 +31767,18 @@ "typeString": "uint256" } ], - "id": 6128, + "id": 6261, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11779:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6134, + "id": 6267, "isConstant": false, "isLValue": false, "isPure": false, @@ -31791,19 +31791,19 @@ "src": "11779:39:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6127, - "id": 6135, + "functionReturnParameters": 6260, + "id": 6268, "nodeType": "Return", "src": "11772:46:17" } ] }, "documentation": null, - "id": 6137, + "id": 6270, "implemented": true, "kind": "function", "modifiers": [], @@ -31811,33 +31811,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6124, + "id": 6257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6121, + "id": 6254, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11699:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6120, + "id": 6253, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11699:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -31846,12 +31846,12 @@ }, { "constant": false, - "id": 6123, + "id": 6256, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11716:6:17", "stateVariable": false, "storageLocation": "default", @@ -31860,7 +31860,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6122, + "id": 6255, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11716:4:17", @@ -31876,33 +31876,33 @@ "src": "11698:25:17" }, "returnParameters": { - "id": 6127, + "id": 6260, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6126, + "id": 6259, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6137, + "scope": 6270, "src": "11747:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6125, + "id": 6258, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11747:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -31912,7 +31912,7 @@ ], "src": "11746:15:17" }, - "scope": 6216, + "scope": 6349, "src": "11685:140:17", "stateMutability": "pure", "virtual": false, @@ -31920,7 +31920,7 @@ }, { "body": { - "id": 6155, + "id": 6288, "nodeType": "Block", "src": "11899:62:17", "statements": [ @@ -31933,11 +31933,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6148, + "id": 6281, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6139, + "referencedDeclaration": 6272, "src": "11926:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31946,11 +31946,11 @@ }, { "argumentTypes": null, - "id": 6149, + "id": 6282, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "11929:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31969,27 +31969,27 @@ "typeString": "uint256" } ], - "id": 6147, + "id": 6280, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "11921:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6150, + "id": 6283, "isConstant": false, "isLValue": false, "isPure": false, @@ -32008,25 +32008,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6151, + "id": 6284, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, + "referencedDeclaration": 6274, "src": "11943:1:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "id": 6152, + "id": 6285, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mantissa", "nodeType": "MemberAccess", - "referencedDeclaration": 5056, + "referencedDeclaration": 5189, "src": "11943:10:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32045,27 +32045,27 @@ "typeString": "uint256" } ], - "id": 6146, + "id": 6279, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "11916:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6153, + "id": 6286, "isConstant": false, "isLValue": false, "isPure": false, @@ -32080,15 +32080,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6145, - "id": 6154, + "functionReturnParameters": 6278, + "id": 6287, "nodeType": "Return", "src": "11909:45:17" } ] }, "documentation": null, - "id": 6156, + "id": 6289, "implemented": true, "kind": "function", "modifiers": [], @@ -32096,17 +32096,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6142, + "id": 6275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6139, + "id": 6272, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11845:6:17", "stateVariable": false, "storageLocation": "default", @@ -32115,7 +32115,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6138, + "id": 6271, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11845:4:17", @@ -32129,28 +32129,28 @@ }, { "constant": false, - "id": 6141, + "id": 6274, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11853:15:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6140, + "id": 6273, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "11853:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -32161,17 +32161,17 @@ "src": "11844:25:17" }, "returnParameters": { - "id": 6145, + "id": 6278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6144, + "id": 6277, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6156, + "scope": 6289, "src": "11893:4:17", "stateVariable": false, "storageLocation": "default", @@ -32180,7 +32180,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6143, + "id": 6276, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11893:4:17", @@ -32195,7 +32195,7 @@ ], "src": "11892:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11831:130:17", "stateMutability": "pure", "virtual": false, @@ -32203,7 +32203,7 @@ }, { "body": { - "id": 6171, + "id": 6304, "nodeType": "Block", "src": "12026:52:17", "statements": [ @@ -32213,11 +32213,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6166, + "id": 6299, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6158, + "referencedDeclaration": 6291, "src": "12048:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32226,11 +32226,11 @@ }, { "argumentTypes": null, - "id": 6167, + "id": 6300, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6160, + "referencedDeclaration": 6293, "src": "12051:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32240,7 +32240,7 @@ { "argumentTypes": null, "hexValue": "646976696465206279207a65726f", - "id": 6168, + "id": 6301, "isConstant": false, "isLValue": false, "isPure": true, @@ -32271,27 +32271,27 @@ "typeString": "literal_string \"divide by zero\"" } ], - "id": 6165, + "id": 6298, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6195, + "referencedDeclaration": 6328, "src": "12043:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 6169, + "id": 6302, "isConstant": false, "isLValue": false, "isPure": false, @@ -32306,15 +32306,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6164, - "id": 6170, + "functionReturnParameters": 6297, + "id": 6303, "nodeType": "Return", "src": "12036:35:17" } ] }, "documentation": null, - "id": 6172, + "id": 6305, "implemented": true, "kind": "function", "modifiers": [], @@ -32322,17 +32322,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6161, + "id": 6294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6158, + "id": 6291, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "11981:6:17", "stateVariable": false, "storageLocation": "default", @@ -32341,7 +32341,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6157, + "id": 6290, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11981:4:17", @@ -32355,12 +32355,12 @@ }, { "constant": false, - "id": 6160, + "id": 6293, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "11989:6:17", "stateVariable": false, "storageLocation": "default", @@ -32369,7 +32369,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6159, + "id": 6292, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11989:4:17", @@ -32385,17 +32385,17 @@ "src": "11980:16:17" }, "returnParameters": { - "id": 6164, + "id": 6297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6163, + "id": 6296, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6172, + "scope": 6305, "src": "12020:4:17", "stateVariable": false, "storageLocation": "default", @@ -32404,7 +32404,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6162, + "id": 6295, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12020:4:17", @@ -32419,7 +32419,7 @@ ], "src": "12019:6:17" }, - "scope": 6216, + "scope": 6349, "src": "11967:111:17", "stateMutability": "pure", "virtual": false, @@ -32427,7 +32427,7 @@ }, { "body": { - "id": 6194, + "id": 6327, "nodeType": "Block", "src": "12171:67:17", "statements": [ @@ -32441,18 +32441,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6186, + "id": 6319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6184, + "id": 6317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6176, + "referencedDeclaration": 6309, "src": "12189:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32464,7 +32464,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6185, + "id": 6318, "isConstant": false, "isLValue": false, "isPure": true, @@ -32487,11 +32487,11 @@ }, { "argumentTypes": null, - "id": 6187, + "id": 6320, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6178, + "referencedDeclaration": 6311, "src": "12196:12:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -32510,7 +32510,7 @@ "typeString": "string memory" } ], - "id": 6183, + "id": 6316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -32524,7 +32524,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6188, + "id": 6321, "isConstant": false, "isLValue": false, "isPure": false, @@ -32539,7 +32539,7 @@ "typeString": "tuple()" } }, - "id": 6189, + "id": 6322, "nodeType": "ExpressionStatement", "src": "12181:28:17" }, @@ -32550,18 +32550,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6192, + "id": 6325, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6190, + "id": 6323, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, + "referencedDeclaration": 6307, "src": "12226:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32572,11 +32572,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6191, + "id": 6324, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6176, + "referencedDeclaration": 6309, "src": "12230:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32589,15 +32589,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6182, - "id": 6193, + "functionReturnParameters": 6315, + "id": 6326, "nodeType": "Return", "src": "12219:12:17" } ] }, "documentation": null, - "id": 6195, + "id": 6328, "implemented": true, "kind": "function", "modifiers": [], @@ -32605,17 +32605,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6179, + "id": 6312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6174, + "id": 6307, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12098:6:17", "stateVariable": false, "storageLocation": "default", @@ -32624,7 +32624,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6173, + "id": 6306, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12098:4:17", @@ -32638,12 +32638,12 @@ }, { "constant": false, - "id": 6176, + "id": 6309, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12106:6:17", "stateVariable": false, "storageLocation": "default", @@ -32652,7 +32652,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6175, + "id": 6308, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12106:4:17", @@ -32666,12 +32666,12 @@ }, { "constant": false, - "id": 6178, + "id": 6311, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12114:26:17", "stateVariable": false, "storageLocation": "memory", @@ -32680,7 +32680,7 @@ "typeString": "string" }, "typeName": { - "id": 6177, + "id": 6310, "name": "string", "nodeType": "ElementaryTypeName", "src": "12114:6:17", @@ -32696,17 +32696,17 @@ "src": "12097:44:17" }, "returnParameters": { - "id": 6182, + "id": 6315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6181, + "id": 6314, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6195, + "scope": 6328, "src": "12165:4:17", "stateVariable": false, "storageLocation": "default", @@ -32715,7 +32715,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6180, + "id": 6313, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12165:4:17", @@ -32730,7 +32730,7 @@ ], "src": "12164:6:17" }, - "scope": 6216, + "scope": 6349, "src": "12084:154:17", "stateMutability": "pure", "virtual": false, @@ -32738,7 +32738,7 @@ }, { "body": { - "id": 6214, + "id": 6347, "nodeType": "Block", "src": "12316:73:17", "statements": [ @@ -32754,11 +32754,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6207, + "id": 6340, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6197, + "referencedDeclaration": 6330, "src": "12361:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32767,11 +32767,11 @@ }, { "argumentTypes": null, - "id": 6208, + "id": 6341, "name": "doubleScale", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, + "referencedDeclaration": 5176, "src": "12364:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32790,27 +32790,27 @@ "typeString": "uint256" } ], - "id": 6206, + "id": 6339, "name": "mul_", "nodeType": "Identifier", "overloadedDeclarations": [ - 5889, - 5907, - 5925, - 5946, - 5964, - 5982, - 5998, - 6038 + 6022, + 6040, + 6058, + 6079, + 6097, + 6115, + 6131, + 6171 ], - "referencedDeclaration": 5998, + "referencedDeclaration": 6131, "src": "12356:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6209, + "id": 6342, "isConstant": false, "isLValue": false, "isPure": false, @@ -32827,11 +32827,11 @@ }, { "argumentTypes": null, - "id": 6210, + "id": 6343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6199, + "referencedDeclaration": 6332, "src": "12378:1:17", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32850,27 +32850,27 @@ "typeString": "uint256" } ], - "id": 6205, + "id": 6338, "name": "div_", "nodeType": "Identifier", "overloadedDeclarations": [ - 6060, - 6078, - 6097, - 6119, - 6137, - 6156, - 6172, - 6195 + 6193, + 6211, + 6230, + 6252, + 6270, + 6289, + 6305, + 6328 ], - "referencedDeclaration": 6172, + "referencedDeclaration": 6305, "src": "12351:4:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6211, + "id": 6344, "isConstant": false, "isLValue": false, "isPure": false, @@ -32893,18 +32893,18 @@ "typeString": "uint256" } ], - "id": 6204, + "id": 6337, "name": "Double", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "12333:6:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Double_$5057_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Double_$5190_storage_ptr_$", "typeString": "type(struct Exponential.Double storage pointer)" } }, - "id": 6212, + "id": 6345, "isConstant": false, "isLValue": false, "isPure": false, @@ -32917,19 +32917,19 @@ "src": "12333:49:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double memory" } }, - "functionReturnParameters": 6203, - "id": 6213, + "functionReturnParameters": 6336, + "id": 6346, "nodeType": "Return", "src": "12326:56:17" } ] }, "documentation": null, - "id": 6215, + "id": 6348, "implemented": true, "kind": "function", "modifiers": [], @@ -32937,17 +32937,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6200, + "id": 6333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6197, + "id": 6330, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12262:6:17", "stateVariable": false, "storageLocation": "default", @@ -32956,7 +32956,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6196, + "id": 6329, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12262:4:17", @@ -32970,12 +32970,12 @@ }, { "constant": false, - "id": 6199, + "id": 6332, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12270:6:17", "stateVariable": false, "storageLocation": "default", @@ -32984,7 +32984,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6198, + "id": 6331, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12270:4:17", @@ -33000,33 +33000,33 @@ "src": "12261:16:17" }, "returnParameters": { - "id": 6203, + "id": 6336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6202, + "id": 6335, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6215, + "scope": 6348, "src": "12301:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_memory_ptr", + "typeIdentifier": "t_struct$_Double_$5190_memory_ptr", "typeString": "struct Exponential.Double" }, "typeName": { "contractScope": null, - "id": 6201, + "id": 6334, "name": "Double", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5057, + "referencedDeclaration": 5190, "src": "12301:6:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Double_$5057_storage_ptr", + "typeIdentifier": "t_struct$_Double_$5190_storage_ptr", "typeString": "struct Exponential.Double" } }, @@ -33036,14 +33036,14 @@ ], "src": "12300:15:17" }, - "scope": 6216, + "scope": 6349, "src": "12244:145:17", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6217, + "scope": 6350, "src": "379:12012:17" } ], @@ -33055,7 +33055,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.011Z", + "updatedAt": "2020-12-12T01:13:52.539Z", "devdoc": { "author": "Compound", "methods": {}, diff --git a/AskoLend-contracts/build/contracts/FakeAugur.json b/AskoLend-contracts/build/contracts/FakeAugur.json index 48b05b07..d3e5fb00 100644 --- a/AskoLend-contracts/build/contracts/FakeAugur.json +++ b/AskoLend-contracts/build/contracts/FakeAugur.json @@ -372,26 +372,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeAugur contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol\":\"FakeAugur\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol\":{\"keccak256\":\"0x53ffa6a3ea48aba70b30f6fec89768ac9579bef72dee02b70e7e3fd467e1aca9\",\"urls\":[\"bzz-raw://dfe787433c32c7a618be84697e1d97df6571da389ea4bcfd6aff6c89cf88cd67\",\"dweb:/ipfs/QmRZqNG3C3paEZpBpw2si6RhiWqXRBEmrnrEPq8hR3wSNR\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0\",\"urls\":[\"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02\",\"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\",\"urls\":[\"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37\",\"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600581526020016420bab3bab960d91b8152506040518060400160405280600381526020016220a3a960e91b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207e2cf19c820a211980be82ac0d7d37c9b7416297c1c6b6636bad26c2570901b164736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207e2cf19c820a211980be82ac0d7d37c9b7416297c1c6b6636bad26c2570901b164736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeAugur contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol\":\"FakeAugur\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol\":{\"keccak256\":\"0x53ffa6a3ea48aba70b30f6fec89768ac9579bef72dee02b70e7e3fd467e1aca9\",\"urls\":[\"bzz-raw://dfe787433c32c7a618be84697e1d97df6571da389ea4bcfd6aff6c89cf88cd67\",\"dweb:/ipfs/QmRZqNG3C3paEZpBpw2si6RhiWqXRBEmrnrEPq8hR3wSNR\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xcbd85c86627a47fd939f1f4ee3ba626575ff2a182e1804b29f5136394449b538\",\"urls\":[\"bzz-raw://53c6a80c519bb9356aad28efa9a1ec31603860eb759d2dc57f545fcae1dd1aca\",\"dweb:/ipfs/QmfRS6TtMNUHhvgLHXK21qKNnpn2S7g2Yd1fKaHKyFiJsR\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600581526020016420bab3bab960d91b8152506040518060400160405280600381526020016220a3a960e91b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c83b66d9afb4e860e1f869246552f3c16ea667297756c7cb476a9b66e79c336864736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c83b66d9afb4e860e1f869246552f3c16ea667297756c7cb476a9b66e79c336864736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "478:733:2:-:0;;;521:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;521:476:2;2013:141:40;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;865:17:38;885:12;:10;;;:12;;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2085:12:40;;;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;2107:16:40;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;;2133:9:40;:14;;-1:-1:-1;;2133:14:40;2145:2;2133:14;;;-1:-1:-1;574:47:2::1;580:10;592:28;-1:-1:-1::0;;;;;574:5:2::1;:47:::0;:::i:1;:::-;631:113;650:42;706:28;-1:-1:-1::0;;;;;631:5:2::1;:113:::0;:::i:1;:::-;754;773:42;829:28;-1:-1:-1::0;;;;;754:5:2::1;:113:::0;:::i:1;:::-;877;896:42;952:28;-1:-1:-1::0;;;;;877:5:2::1;:113:::0;:::i:1;:::-;478:733:::0;;590:104:37;677:10;590:104;;:::o;1003:98:2:-;1280:12:38;-1:-1:-1;;;;;1280:10:38;:12;:::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1075:19:2::1;1081:3:::0;1086:7;-1:-1:-1;;;;;1075:5:2::1;:19:::0;:::i:1;:::-;1003:98:::0;;:::o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;-1:-1:-1;;;;;7986:20:40;:49;:::i;:::-;8061:24;8078:6;8061:12;;:16;;;;;;:24;;;;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;;;;:30;;8139:6;;8116:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;8161:37;;;;;;;;;;7835:370;;:::o;10695:92::-;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;478:733:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;478:733:2;;;-1:-1:-1;478:733:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "478:733:2:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;478:733:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2219:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4255:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;4881:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4881:317:40;;;;;;;;;;;;;;;;;:::i;3121:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5593:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5593:215:40;;;;;;;;:::i;3418:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3418:117:40;-1:-1:-1;;;;;3418:117:40;;:::i;1689:145:38:-;;;:::i;:::-;;1003:98:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1003:98:2;;;;;;;;:::i;1066:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1066:77:38;;;;;;;;;;;;;;2413:85:40;;;:::i;1107:102:2:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1107:102:2;;;;;;;;:::i;6295:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6295:266:40;;;;;;;;:::i;3738:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3738:172:40;;;;;;;;:::i;3968:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3968:149:40;;;;;;;;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;2219:81:40:-;2288:5;2281:12;;;;;;;;-1:-1:-1;;2281:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:13;;2281:12;;2288:5;;2281:12;;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;-1:-1:-1;4410:4:40;4255:166;;;;:::o;3262:98::-;3341:12;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5080:19:40;;;;;;:11;:19;;;;;;5100:12;:10;:12::i;:::-;-1:-1:-1;;;;;5080:33:40;;;;;;;;;;;;-1:-1:-1;5080:33:40;;;:89;;:37;:89;:::i;:::-;5049:8;:121::i;:::-;-1:-1:-1;5187:4:40;4881:317;;;;;:::o;3121:81::-;3186:9;;;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;-1:-1:-1;;;;;5729:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5729:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3418:117::-;-1:-1:-1;;;;;3510:18:40;3484:7;3510:18;;;:9;:18;;;;;;;3418:117::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;1003:98:2:-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1075:19:2::1;1081:3;1086:7;1075:5;:19::i;:::-;1003:98:::0;;:::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;2413:85:40:-;2484:7;2477:14;;;;;;;;-1:-1:-1;;2477:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:13;;2477:14;;2484:7;;2477:14;;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;1107:102:2;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1181:21:2::1;1187:5;1194:7;1181:5;:21::i;6295:266:40:-:0;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;-1:-1:-1;;;;;6436:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6436:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;3968:149::-;-1:-1:-1;;;;;4083:18:40;;;4057:7;4083:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3968:149::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;590:104:37:-;677:10;590:104;:::o;9357:340:40:-;-1:-1:-1;;;;;9458:19:40;;9450:68;;;;-1:-1:-1;;;9450:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9536:21:40;;9528:68;;;;-1:-1:-1;;;9528:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9607:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9658:32;;;;;;;;;;;;;;;;;9357:340;;;:::o;7035:530::-;-1:-1:-1;;;;;7140:20:40;;7132:70;;;;-1:-1:-1;;;7132:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7220:23:40;;7212:71;;;;-1:-1:-1;;;7212:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7352:17:40;;;;;;;:9;:17;;;;;;:91;;;;7476:20;;;;;;;:32;;7501:6;7476:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7453:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7523:35;;;;;;;7453:20;;7523:35;;;;-1:-1:-1;;;;;;;;;;;7523:35:40;;;;;;;;7035:530;;;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:12;;:24;;8078:6;8061:24;:16;:24;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;:30;;8139:6;8116:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;-1:-1:-1;;;;;;;;;;;8161:37:40;;;;;;;;;7835:370;;:::o;8524:410::-;-1:-1:-1;;;;;8607:21:40;;8599:67;;;;-1:-1:-1;;;8599:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8677:49;8698:7;8715:1;8719:6;8677:20;:49::i;:::-;8758:68;8781:6;8758:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8758:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8737:18:40;;;;;;:9;:18;;;;;:89;8851:12;;:24;;8868:6;8851:24;:16;:24;:::i;:::-;8836:12;:39;8890:37;;;;;;;;8916:1;;-1:-1:-1;;;;;8890:37:40;;;-1:-1:-1;;;;;;;;;;;8890:37:40;;;;;;;;8524:410;;:::o;10695:92::-;;;;:::o;1321:134:39:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i", + "sourceMap": "478:733:2:-:0;;;521:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;521:476:2;1956:145:40;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;882:17:38;902:12;:10;;;:12;;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2030:13:40;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2053:17:40;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2080:9:40;:14;;-1:-1:-1;;2080:14:40;2092:2;2080:14;;;-1:-1:-1;574:47:2::1;580:10;592:28;-1:-1:-1::0;;;;;574:5:2::1;:47:::0;:::i:1;:::-;631:113;650:42;706:28;-1:-1:-1::0;;;;;631:5:2::1;:113:::0;:::i:1;:::-;754;773:42;829:28;-1:-1:-1::0;;;;;754:5:2::1;:113:::0;:::i:1;:::-;877;896:42;952:28;-1:-1:-1::0;;;;;877:5:2::1;:113:::0;:::i:1;:::-;478:733:::0;;598:104:37;685:10;598:104;;:::o;1003:98:2:-;1297:12:38;-1:-1:-1;;;;;1297:10:38;:12;:::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1075:19:2::1;1081:3:::0;1086:7;-1:-1:-1;;;;;1075:5:2::1;:19:::0;:::i:1;:::-;1003:98:::0;;:::o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;-1:-1:-1;;;;;7941:20:40;:49;:::i;:::-;8016:24;8033:6;8016:12;;:16;;;;;;:24;;;;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;;;;:30;;8094:6;;8071:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;8116:37;;;;;;;;;;7790:370;;:::o;10651:92::-;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;478:733:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;478:733:2;;;-1:-1:-1;478:733:2;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "478:733:2:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;478:733:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2166:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2166:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4202:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3209:98;;;:::i;:::-;;;;;;;;;;;;;;;;4835:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4835:317:40;;;;;;;;;;;;;;;;;:::i;3068:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5547:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5547:215:40;;;;;;;;:::i;3365:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3365:117:40;-1:-1:-1;;;;;3365:117:40;;:::i;1706:145:38:-;;;:::i;:::-;;1003:98:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1003:98:2;;;;;;;;:::i;1083:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1083:77:38;;;;;;;;;;;;;;2360:85:40;;;:::i;1107:102:2:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1107:102:2;;;;;;;;:::i;6249:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6249:266:40;;;;;;;;:::i;3685:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3685:172:40;;;;;;;;:::i;3915:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3915:149:40;;;;;;;;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;2166:81:40:-;2235:5;2228:12;;;;;;;;-1:-1:-1;;2228:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:13;;2228:12;;2235:5;;2228:12;;2235:5;2228:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2166:81;:::o;4202:166::-;4285:4;4301:39;4310:12;:10;:12::i;:::-;4324:7;4333:6;4301:8;:39::i;:::-;-1:-1:-1;4357:4:40;4202:166;;;;:::o;3209:98::-;3288:12;;3209:98;:::o;4835:317::-;4941:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;5003:121;5012:6;5020:12;:10;:12::i;:::-;5034:89;5072:6;5034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:19:40;;;;;;:11;:19;;;;;;5054:12;:10;:12::i;:::-;-1:-1:-1;;;;;5034:33:40;;;;;;;;;;;;-1:-1:-1;5034:33:40;;;:89;;:37;:89;:::i;:::-;5003:8;:121::i;:::-;-1:-1:-1;5141:4:40;4835:317;;;;;:::o;3068:81::-;3133:9;;;;3068:81;:::o;5547:215::-;5635:4;5651:83;5660:12;:10;:12::i;:::-;5674:7;5683:50;5722:10;5683:11;:25;5695:12;:10;:12::i;:::-;-1:-1:-1;;;;;5683:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5683:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3365:117::-;-1:-1:-1;;;;;3457:18:40;3431:7;3457:18;;;:9;:18;;;;;;;3365:117::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;1003:98:2:-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1075:19:2::1;1081:3;1086:7;1075:5;:19::i;:::-;1003:98:::0;;:::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;2360:85:40:-;2431:7;2424:14;;;;;;;;-1:-1:-1;;2424:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:13;;2424:14;;2431:7;;2424:14;;2431:7;2424:14;;;;;;;;;;;;;;;;;;;;;;;;1107:102:2;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1181:21:2::1;1187:5;1194:7;1181:5;:21::i;6249:266:40:-:0;6342:4;6358:129;6367:12;:10;:12::i;:::-;6381:7;6390:96;6429:15;6390:96;;;;;;;;;;;;;;;;;:11;:25;6402:12;:10;:12::i;:::-;-1:-1:-1;;;;;6390:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6390:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3685:172::-;3771:4;3787:42;3797:12;:10;:12::i;:::-;3811:9;3822:6;3787:9;:42::i;3915:149::-;-1:-1:-1;;;;;4030:18:40;;;4004:7;4030:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3915:149::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;598:104:37:-;685:10;598:104;:::o;9313:340:40:-;-1:-1:-1;;;;;9414:19:40;;9406:68;;;;-1:-1:-1;;;9406:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9492:21:40;;9484:68;;;;-1:-1:-1;;;9484:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9563:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9614:32;;;;;;;;;;;;;;;;;9313:340;;;:::o;6989:530::-;-1:-1:-1;;;;;7094:20:40;;7086:70;;;;-1:-1:-1;;;7086:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:23:40;;7166:71;;;;-1:-1:-1;;;7166:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:47;7269:6;7277:9;7288:6;7248:20;:47::i;:::-;7326:71;7348:6;7326:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7326:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7306:17:40;;;;;;;:9;:17;;;;;;:91;;;;7430:20;;;;;;;:32;;7455:6;7430:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7407:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7477:35;;;;;;;7407:20;;7477:35;;;;-1:-1:-1;;;;;;;;;;;7477:35:40;;;;;;;;6989:530;;;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;7941:20;:49::i;:::-;8016:12;;:24;;8033:6;8016:24;:16;:24;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;:30;;8094:6;8071:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;-1:-1:-1;;;;;;;;;;;8116:37:40;;;;;;;;;7790:370;;:::o;8480:410::-;-1:-1:-1;;;;;8563:21:40;;8555:67;;;;-1:-1:-1;;;8555:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8633:49;8654:7;8671:1;8675:6;8633:20;:49::i;:::-;8714:68;8737:6;8714:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8714:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8693:18:40;;;;;;:9;:18;;;;;:89;8807:12;;:24;;8824:6;8807:24;:16;:24;:::i;:::-;8792:12;:39;8846:37;;;;;;;;8872:1;;-1:-1:-1;;;;;8846:37:40;;;-1:-1:-1;;;;;;;;;;;8846:37:40;;;;;;;;8480:410;;:::o;10651:92::-;;;;:::o;1329:134:39:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i", "source": "pragma solidity ^0.6.2;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title FakeAugur\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\n@notice the FakeAugur contract is used to simulate an ERC20 with uniswap on kovan\n**/\ncontract FakeAugur is Ownable, ERC20 {\n constructor() public ERC20(\"Augur\", \"AGR\") {\n _Mint(msg.sender, 1000000000000000000000000000);\n _Mint(\n 0x84166f7C1C8BB78C6553556bBa3433fe2eB5ED26,\n 1000000000000000000000000000\n );\n _Mint(\n 0x09AF8e15eB40A53265e3FD71897189B363B70530,\n 1000000000000000000000000000\n );\n _Mint(\n 0xCAA6b1207bBE1393e6F039c0f91018Bf860C885e,\n 1000000000000000000000000000\n );\n }\n\n function _Mint(address _to, uint256 _amount) public onlyOwner {\n _mint(_to, _amount);\n }\n\n function _Burn(address _from, uint256 _amount) public onlyOwner {\n _burn(_from, _amount);\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", "exportedSymbols": { "FakeAugur": [ - 1558 + 1588 ] }, - "id": 1559, + "id": 1589, "nodeType": "SourceUnit", "nodes": [ { - "id": 1491, + "id": 1521, "literals": [ "solidity", "^", @@ -404,10 +404,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1492, + "id": 1522, "nodeType": "ImportDirective", - "scope": 1559, - "sourceUnit": 10599, + "scope": 1589, + "sourceUnit": 10762, "src": "25:60:2", "symbolAliases": [], "unitAlias": "" @@ -415,10 +415,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1493, + "id": 1523, "nodeType": "ImportDirective", - "scope": 1559, - "sourceUnit": 11302, + "scope": 1589, + "sourceUnit": 11461, "src": "86:63:2", "symbolAliases": [], "unitAlias": "" @@ -430,17 +430,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1495, + "id": 1525, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "500:7:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1496, + "id": 1526, "nodeType": "InheritanceSpecifier", "src": "500:7:2" }, @@ -448,49 +448,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1497, + "id": 1527, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "509:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1498, + "id": 1528, "nodeType": "InheritanceSpecifier", "src": "509:5:2" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1494, + "id": 1524, "nodeType": "StructuredDocumentation", "src": "388:89:2", "text": "@notice the FakeAugur contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1558, + "id": 1588, "linearizedBaseContracts": [ - 1558, - 11301, - 11379, - 10598, - 10489 + 1588, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeAugur", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1526, + "id": 1556, "nodeType": "Block", "src": "564:433:2", "statements": [ @@ -502,7 +502,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1506, + "id": 1536, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -513,7 +513,7 @@ "typeString": "msg" } }, - "id": 1507, + "id": 1537, "isConstant": false, "isLValue": false, "isPure": false, @@ -530,7 +530,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1508, + "id": 1538, "isConstant": false, "isLValue": false, "isPure": true, @@ -557,18 +557,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1505, + "id": 1535, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "574:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1509, + "id": 1539, "isConstant": false, "isLValue": false, "isPure": false, @@ -583,7 +583,7 @@ "typeString": "tuple()" } }, - "id": 1510, + "id": 1540, "nodeType": "ExpressionStatement", "src": "574:47:2" }, @@ -594,7 +594,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1512, + "id": 1542, "isConstant": false, "isLValue": false, "isPure": true, @@ -612,7 +612,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1513, + "id": 1543, "isConstant": false, "isLValue": false, "isPure": true, @@ -639,18 +639,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1511, + "id": 1541, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "631:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1514, + "id": 1544, "isConstant": false, "isLValue": false, "isPure": false, @@ -665,7 +665,7 @@ "typeString": "tuple()" } }, - "id": 1515, + "id": 1545, "nodeType": "ExpressionStatement", "src": "631:113:2" }, @@ -676,7 +676,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1517, + "id": 1547, "isConstant": false, "isLValue": false, "isPure": true, @@ -694,7 +694,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1518, + "id": 1548, "isConstant": false, "isLValue": false, "isPure": true, @@ -721,18 +721,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1516, + "id": 1546, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "754:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1519, + "id": 1549, "isConstant": false, "isLValue": false, "isPure": false, @@ -747,7 +747,7 @@ "typeString": "tuple()" } }, - "id": 1520, + "id": 1550, "nodeType": "ExpressionStatement", "src": "754:113:2" }, @@ -758,7 +758,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1522, + "id": 1552, "isConstant": false, "isLValue": false, "isPure": true, @@ -776,7 +776,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1523, + "id": 1553, "isConstant": false, "isLValue": false, "isPure": true, @@ -803,18 +803,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1521, + "id": 1551, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "877:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1524, + "id": 1554, "isConstant": false, "isLValue": false, "isPure": false, @@ -829,14 +829,14 @@ "typeString": "tuple()" } }, - "id": 1525, + "id": 1555, "nodeType": "ExpressionStatement", "src": "877:113:2" } ] }, "documentation": null, - "id": 1527, + "id": 1557, "implemented": true, "kind": "constructor", "modifiers": [ @@ -845,7 +845,7 @@ { "argumentTypes": null, "hexValue": "4175677572", - "id": 1501, + "id": 1531, "isConstant": false, "isLValue": false, "isPure": true, @@ -863,7 +863,7 @@ { "argumentTypes": null, "hexValue": "414752", - "id": 1502, + "id": 1532, "isConstant": false, "isLValue": false, "isPure": true, @@ -879,17 +879,17 @@ "value": "AGR" } ], - "id": 1503, + "id": 1533, "modifierName": { "argumentTypes": null, - "id": 1500, + "id": 1530, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "542:5:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -901,18 +901,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1499, + "id": 1529, "nodeType": "ParameterList", "parameters": [], "src": "532:2:2" }, "returnParameters": { - "id": 1504, + "id": 1534, "nodeType": "ParameterList", "parameters": [], "src": "564:0:2" }, - "scope": 1558, + "scope": 1588, "src": "521:476:2", "stateMutability": "nonpayable", "virtual": false, @@ -920,7 +920,7 @@ }, { "body": { - "id": 1541, + "id": 1571, "nodeType": "Block", "src": "1065:36:2", "statements": [ @@ -930,11 +930,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1537, + "id": 1567, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1559, "src": "1081:3:2", "typeDescriptions": { "typeIdentifier": "t_address", @@ -943,11 +943,11 @@ }, { "argumentTypes": null, - "id": 1538, + "id": 1568, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1531, + "referencedDeclaration": 1561, "src": "1086:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -966,18 +966,18 @@ "typeString": "uint256" } ], - "id": 1536, + "id": 1566, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1075:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1539, + "id": 1569, "isConstant": false, "isLValue": false, "isPure": false, @@ -992,7 +992,7 @@ "typeString": "tuple()" } }, - "id": 1540, + "id": 1570, "nodeType": "ExpressionStatement", "src": "1075:19:2" } @@ -1000,20 +1000,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1542, + "id": 1572, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1534, + "id": 1564, "modifierName": { "argumentTypes": null, - "id": 1533, + "id": 1563, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1055:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1028,17 +1028,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1532, + "id": 1562, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1529, + "id": 1559, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1542, + "scope": 1572, "src": "1018:11:2", "stateVariable": false, "storageLocation": "default", @@ -1047,7 +1047,7 @@ "typeString": "address" }, "typeName": { - "id": 1528, + "id": 1558, "name": "address", "nodeType": "ElementaryTypeName", "src": "1018:7:2", @@ -1062,12 +1062,12 @@ }, { "constant": false, - "id": 1531, + "id": 1561, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1542, + "scope": 1572, "src": "1031:15:2", "stateVariable": false, "storageLocation": "default", @@ -1076,7 +1076,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1530, + "id": 1560, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1031:7:2", @@ -1092,12 +1092,12 @@ "src": "1017:30:2" }, "returnParameters": { - "id": 1535, + "id": 1565, "nodeType": "ParameterList", "parameters": [], "src": "1065:0:2" }, - "scope": 1558, + "scope": 1588, "src": "1003:98:2", "stateMutability": "nonpayable", "virtual": false, @@ -1105,7 +1105,7 @@ }, { "body": { - "id": 1556, + "id": 1586, "nodeType": "Block", "src": "1171:38:2", "statements": [ @@ -1115,11 +1115,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1552, + "id": 1582, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, + "referencedDeclaration": 1574, "src": "1187:5:2", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1128,11 +1128,11 @@ }, { "argumentTypes": null, - "id": 1553, + "id": 1583, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, + "referencedDeclaration": 1576, "src": "1194:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1151,18 +1151,18 @@ "typeString": "uint256" } ], - "id": 1551, + "id": 1581, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1181:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1554, + "id": 1584, "isConstant": false, "isLValue": false, "isPure": false, @@ -1177,7 +1177,7 @@ "typeString": "tuple()" } }, - "id": 1555, + "id": 1585, "nodeType": "ExpressionStatement", "src": "1181:21:2" } @@ -1185,20 +1185,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1557, + "id": 1587, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1549, + "id": 1579, "modifierName": { "argumentTypes": null, - "id": 1548, + "id": 1578, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1161:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1213,17 +1213,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1547, + "id": 1577, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1544, + "id": 1574, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1557, + "scope": 1587, "src": "1122:13:2", "stateVariable": false, "storageLocation": "default", @@ -1232,7 +1232,7 @@ "typeString": "address" }, "typeName": { - "id": 1543, + "id": 1573, "name": "address", "nodeType": "ElementaryTypeName", "src": "1122:7:2", @@ -1247,12 +1247,12 @@ }, { "constant": false, - "id": 1546, + "id": 1576, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1557, + "scope": 1587, "src": "1137:15:2", "stateVariable": false, "storageLocation": "default", @@ -1261,7 +1261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1545, + "id": 1575, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1137:7:2", @@ -1277,36 +1277,36 @@ "src": "1121:32:2" }, "returnParameters": { - "id": 1550, + "id": 1580, "nodeType": "ParameterList", "parameters": [], "src": "1171:0:2" }, - "scope": 1558, + "scope": 1588, "src": "1107:102:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1559, + "scope": 1589, "src": "478:733:2" } ], "src": "0:1212:2" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeAugur.sol", "exportedSymbols": { "FakeAugur": [ - 1558 + 1588 ] }, - "id": 1559, + "id": 1589, "nodeType": "SourceUnit", "nodes": [ { - "id": 1491, + "id": 1521, "literals": [ "solidity", "^", @@ -1319,10 +1319,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1492, + "id": 1522, "nodeType": "ImportDirective", - "scope": 1559, - "sourceUnit": 10599, + "scope": 1589, + "sourceUnit": 10762, "src": "25:60:2", "symbolAliases": [], "unitAlias": "" @@ -1330,10 +1330,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1493, + "id": 1523, "nodeType": "ImportDirective", - "scope": 1559, - "sourceUnit": 11302, + "scope": 1589, + "sourceUnit": 11461, "src": "86:63:2", "symbolAliases": [], "unitAlias": "" @@ -1345,17 +1345,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1495, + "id": 1525, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "500:7:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1496, + "id": 1526, "nodeType": "InheritanceSpecifier", "src": "500:7:2" }, @@ -1363,49 +1363,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1497, + "id": 1527, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "509:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1498, + "id": 1528, "nodeType": "InheritanceSpecifier", "src": "509:5:2" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1494, + "id": 1524, "nodeType": "StructuredDocumentation", "src": "388:89:2", "text": "@notice the FakeAugur contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1558, + "id": 1588, "linearizedBaseContracts": [ - 1558, - 11301, - 11379, - 10598, - 10489 + 1588, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeAugur", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1526, + "id": 1556, "nodeType": "Block", "src": "564:433:2", "statements": [ @@ -1417,7 +1417,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1506, + "id": 1536, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1428,7 +1428,7 @@ "typeString": "msg" } }, - "id": 1507, + "id": 1537, "isConstant": false, "isLValue": false, "isPure": false, @@ -1445,7 +1445,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1508, + "id": 1538, "isConstant": false, "isLValue": false, "isPure": true, @@ -1472,18 +1472,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1505, + "id": 1535, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "574:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1509, + "id": 1539, "isConstant": false, "isLValue": false, "isPure": false, @@ -1498,7 +1498,7 @@ "typeString": "tuple()" } }, - "id": 1510, + "id": 1540, "nodeType": "ExpressionStatement", "src": "574:47:2" }, @@ -1509,7 +1509,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1512, + "id": 1542, "isConstant": false, "isLValue": false, "isPure": true, @@ -1527,7 +1527,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1513, + "id": 1543, "isConstant": false, "isLValue": false, "isPure": true, @@ -1554,18 +1554,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1511, + "id": 1541, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "631:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1514, + "id": 1544, "isConstant": false, "isLValue": false, "isPure": false, @@ -1580,7 +1580,7 @@ "typeString": "tuple()" } }, - "id": 1515, + "id": 1545, "nodeType": "ExpressionStatement", "src": "631:113:2" }, @@ -1591,7 +1591,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1517, + "id": 1547, "isConstant": false, "isLValue": false, "isPure": true, @@ -1609,7 +1609,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1518, + "id": 1548, "isConstant": false, "isLValue": false, "isPure": true, @@ -1636,18 +1636,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1516, + "id": 1546, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "754:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1519, + "id": 1549, "isConstant": false, "isLValue": false, "isPure": false, @@ -1662,7 +1662,7 @@ "typeString": "tuple()" } }, - "id": 1520, + "id": 1550, "nodeType": "ExpressionStatement", "src": "754:113:2" }, @@ -1673,7 +1673,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1522, + "id": 1552, "isConstant": false, "isLValue": false, "isPure": true, @@ -1691,7 +1691,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1523, + "id": 1553, "isConstant": false, "isLValue": false, "isPure": true, @@ -1718,18 +1718,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1521, + "id": 1551, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1542, + "referencedDeclaration": 1572, "src": "877:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1524, + "id": 1554, "isConstant": false, "isLValue": false, "isPure": false, @@ -1744,14 +1744,14 @@ "typeString": "tuple()" } }, - "id": 1525, + "id": 1555, "nodeType": "ExpressionStatement", "src": "877:113:2" } ] }, "documentation": null, - "id": 1527, + "id": 1557, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1760,7 +1760,7 @@ { "argumentTypes": null, "hexValue": "4175677572", - "id": 1501, + "id": 1531, "isConstant": false, "isLValue": false, "isPure": true, @@ -1778,7 +1778,7 @@ { "argumentTypes": null, "hexValue": "414752", - "id": 1502, + "id": 1532, "isConstant": false, "isLValue": false, "isPure": true, @@ -1794,17 +1794,17 @@ "value": "AGR" } ], - "id": 1503, + "id": 1533, "modifierName": { "argumentTypes": null, - "id": 1500, + "id": 1530, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "542:5:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -1816,18 +1816,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1499, + "id": 1529, "nodeType": "ParameterList", "parameters": [], "src": "532:2:2" }, "returnParameters": { - "id": 1504, + "id": 1534, "nodeType": "ParameterList", "parameters": [], "src": "564:0:2" }, - "scope": 1558, + "scope": 1588, "src": "521:476:2", "stateMutability": "nonpayable", "virtual": false, @@ -1835,7 +1835,7 @@ }, { "body": { - "id": 1541, + "id": 1571, "nodeType": "Block", "src": "1065:36:2", "statements": [ @@ -1845,11 +1845,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1537, + "id": 1567, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1529, + "referencedDeclaration": 1559, "src": "1081:3:2", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1858,11 +1858,11 @@ }, { "argumentTypes": null, - "id": 1538, + "id": 1568, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1531, + "referencedDeclaration": 1561, "src": "1086:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1881,18 +1881,18 @@ "typeString": "uint256" } ], - "id": 1536, + "id": 1566, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1075:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1539, + "id": 1569, "isConstant": false, "isLValue": false, "isPure": false, @@ -1907,7 +1907,7 @@ "typeString": "tuple()" } }, - "id": 1540, + "id": 1570, "nodeType": "ExpressionStatement", "src": "1075:19:2" } @@ -1915,20 +1915,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1542, + "id": 1572, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1534, + "id": 1564, "modifierName": { "argumentTypes": null, - "id": 1533, + "id": 1563, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1055:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1943,17 +1943,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1532, + "id": 1562, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1529, + "id": 1559, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1542, + "scope": 1572, "src": "1018:11:2", "stateVariable": false, "storageLocation": "default", @@ -1962,7 +1962,7 @@ "typeString": "address" }, "typeName": { - "id": 1528, + "id": 1558, "name": "address", "nodeType": "ElementaryTypeName", "src": "1018:7:2", @@ -1977,12 +1977,12 @@ }, { "constant": false, - "id": 1531, + "id": 1561, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1542, + "scope": 1572, "src": "1031:15:2", "stateVariable": false, "storageLocation": "default", @@ -1991,7 +1991,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1530, + "id": 1560, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1031:7:2", @@ -2007,12 +2007,12 @@ "src": "1017:30:2" }, "returnParameters": { - "id": 1535, + "id": 1565, "nodeType": "ParameterList", "parameters": [], "src": "1065:0:2" }, - "scope": 1558, + "scope": 1588, "src": "1003:98:2", "stateMutability": "nonpayable", "virtual": false, @@ -2020,7 +2020,7 @@ }, { "body": { - "id": 1556, + "id": 1586, "nodeType": "Block", "src": "1171:38:2", "statements": [ @@ -2030,11 +2030,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1552, + "id": 1582, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1544, + "referencedDeclaration": 1574, "src": "1187:5:2", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2043,11 +2043,11 @@ }, { "argumentTypes": null, - "id": 1553, + "id": 1583, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1546, + "referencedDeclaration": 1576, "src": "1194:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2066,18 +2066,18 @@ "typeString": "uint256" } ], - "id": 1551, + "id": 1581, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1181:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1554, + "id": 1584, "isConstant": false, "isLValue": false, "isPure": false, @@ -2092,7 +2092,7 @@ "typeString": "tuple()" } }, - "id": 1555, + "id": 1585, "nodeType": "ExpressionStatement", "src": "1181:21:2" } @@ -2100,20 +2100,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1557, + "id": 1587, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1549, + "id": 1579, "modifierName": { "argumentTypes": null, - "id": 1548, + "id": 1578, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1161:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2128,17 +2128,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1547, + "id": 1577, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1544, + "id": 1574, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1557, + "scope": 1587, "src": "1122:13:2", "stateVariable": false, "storageLocation": "default", @@ -2147,7 +2147,7 @@ "typeString": "address" }, "typeName": { - "id": 1543, + "id": 1573, "name": "address", "nodeType": "ElementaryTypeName", "src": "1122:7:2", @@ -2162,12 +2162,12 @@ }, { "constant": false, - "id": 1546, + "id": 1576, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1557, + "scope": 1587, "src": "1137:15:2", "stateVariable": false, "storageLocation": "default", @@ -2176,7 +2176,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1545, + "id": 1575, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1137:7:2", @@ -2192,19 +2192,19 @@ "src": "1121:32:2" }, "returnParameters": { - "id": 1550, + "id": 1580, "nodeType": "ParameterList", "parameters": [], "src": "1171:0:2" }, - "scope": 1558, + "scope": 1588, "src": "1107:102:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1559, + "scope": 1589, "src": "478:733:2" } ], @@ -2288,8 +2288,8 @@ } }, "links": {}, - "address": "0x723e312f7aF9A85478B9FA69DD2eFd832ed1dD31", - "transactionHash": "0xd3062054678591d89a96e9b759fe0c1f007a0953bef0db7505cd0bf50c4e0738" + "address": "0x22A0a9B516d2Bd5aE6d4E191c77D093a3fb6F50A", + "transactionHash": "0x22131729a300032f1d5b7780f3ea5a43d78e6396f80d3d6f5f126e8e13cb16c0" }, "1607622663952": { "events": { @@ -2366,10 +2366,86 @@ "links": {}, "address": "0x214984dd7d559299DA0f0Ac426ee75CeC4c90575", "transactionHash": "0xf71593345e70d60f1fdc9c8c0def3e1bed2654147a1a2fe5ec2b24a8f9ceebef" + }, + "1607733595468": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + } + }, + "links": {}, + "address": "0x87783f2Cd9a16900e1Be18DE0651D1EC5EAaFb78", + "transactionHash": "0xe7365363140c14bf79cd3be1e6dff30546b99befb111d47bad5727d25b35976a" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.052Z", + "updatedAt": "2020-12-12T01:26:53.373Z", "networkType": "ethereum", "devdoc": { "methods": { @@ -2410,7 +2486,7 @@ "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." diff --git a/AskoLend-contracts/build/contracts/FakeLink.json b/AskoLend-contracts/build/contracts/FakeLink.json index 9dbac686..be1348b5 100644 --- a/AskoLend-contracts/build/contracts/FakeLink.json +++ b/AskoLend-contracts/build/contracts/FakeLink.json @@ -372,26 +372,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeLink contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol\":\"FakeLink\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol\":{\"keccak256\":\"0x444990e5d90b5a3f67489adf5c8c0b2275192aa2a800a9ff9072c452c41e5799\",\"urls\":[\"bzz-raw://402d88d30c3d2238cd1dc89ea10df14505ae034dce497eb1943e7e89b2f241c4\",\"dweb:/ipfs/QmaTKEtESXHSQdUtLJZEdohGEegsFKq3CzuNfsEZ5RnNmN\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0\",\"urls\":[\"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02\",\"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\",\"urls\":[\"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37\",\"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051806040016040528060048152602001634c696e6b60e01b815250604051806040016040528060048152602001634c494e4b60e01b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035a9801b7ee8f27a56ed87b2b5745c66bffc8847c07887f30b92d430d2b2198964736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035a9801b7ee8f27a56ed87b2b5745c66bffc8847c07887f30b92d430d2b2198964736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeLink contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol\":\"FakeLink\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol\":{\"keccak256\":\"0x444990e5d90b5a3f67489adf5c8c0b2275192aa2a800a9ff9072c452c41e5799\",\"urls\":[\"bzz-raw://402d88d30c3d2238cd1dc89ea10df14505ae034dce497eb1943e7e89b2f241c4\",\"dweb:/ipfs/QmaTKEtESXHSQdUtLJZEdohGEegsFKq3CzuNfsEZ5RnNmN\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xcbd85c86627a47fd939f1f4ee3ba626575ff2a182e1804b29f5136394449b538\",\"urls\":[\"bzz-raw://53c6a80c519bb9356aad28efa9a1ec31603860eb759d2dc57f545fcae1dd1aca\",\"dweb:/ipfs/QmfRS6TtMNUHhvgLHXK21qKNnpn2S7g2Yd1fKaHKyFiJsR\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051806040016040528060048152602001634c696e6b60e01b815250604051806040016040528060048152602001634c494e4b60e01b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220908017fbf140be536e5b73f3d654e2f8b631dd3eb5f43fbfcdb0c3483e1a085064736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220908017fbf140be536e5b73f3d654e2f8b631dd3eb5f43fbfcdb0c3483e1a085064736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "476:732:5:-:0;;;518:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;518:476:5;2013:141:40;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;865:17:38;885:12;:10;;;:12;;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2085:12:40;;;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;2107:16:40;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;;2133:9:40;:14;;-1:-1:-1;;2133:14:40;2145:2;2133:14;;;-1:-1:-1;571:47:5::1;577:10;589:28;-1:-1:-1::0;;;;;571:5:5::1;:47:::0;:::i:1;:::-;628:113;647:42;703:28;-1:-1:-1::0;;;;;628:5:5::1;:113:::0;:::i:1;:::-;751;770:42;826:28;-1:-1:-1::0;;;;;751:5:5::1;:113:::0;:::i:1;:::-;874;893:42;949:28;-1:-1:-1::0;;;;;874:5:5::1;:113:::0;:::i:1;:::-;476:732:::0;;590:104:37;677:10;590:104;;:::o;1000:98:5:-;1280:12:38;-1:-1:-1;;;;;1280:10:38;:12;:::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:19:5::1;1078:3:::0;1083:7;-1:-1:-1;;;;;1072:5:5::1;:19:::0;:::i:1;:::-;1000:98:::0;;:::o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;-1:-1:-1;;;;;7986:20:40;:49;:::i;:::-;8061:24;8078:6;8061:12;;:16;;;;;;:24;;;;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;;;;:30;;8139:6;;8116:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;8161:37;;;;;;;;;;7835:370;;:::o;10695:92::-;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;476:732:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:732:5;;;-1:-1:-1;476:732:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "476:732:5:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;476:732:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2219:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4255:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;4881:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4881:317:40;;;;;;;;;;;;;;;;;:::i;3121:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5593:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5593:215:40;;;;;;;;:::i;3418:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3418:117:40;-1:-1:-1;;;;;3418:117:40;;:::i;1689:145:38:-;;;:::i;:::-;;1000:98:5;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1000:98:5;;;;;;;;:::i;1066:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1066:77:38;;;;;;;;;;;;;;2413:85:40;;;:::i;1104:102:5:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1104:102:5;;;;;;;;:::i;6295:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6295:266:40;;;;;;;;:::i;3738:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3738:172:40;;;;;;;;:::i;3968:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3968:149:40;;;;;;;;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;2219:81:40:-;2288:5;2281:12;;;;;;;;-1:-1:-1;;2281:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:13;;2281:12;;2288:5;;2281:12;;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;-1:-1:-1;4410:4:40;4255:166;;;;:::o;3262:98::-;3341:12;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5080:19:40;;;;;;:11;:19;;;;;;5100:12;:10;:12::i;:::-;-1:-1:-1;;;;;5080:33:40;;;;;;;;;;;;-1:-1:-1;5080:33:40;;;:89;;:37;:89;:::i;:::-;5049:8;:121::i;:::-;-1:-1:-1;5187:4:40;4881:317;;;;;:::o;3121:81::-;3186:9;;;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;-1:-1:-1;;;;;5729:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5729:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3418:117::-;-1:-1:-1;;;;;3510:18:40;3484:7;3510:18;;;:9;:18;;;;;;;3418:117::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;1000:98:5:-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1072:19:5::1;1078:3;1083:7;1072:5;:19::i;:::-;1000:98:::0;;:::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;2413:85:40:-;2484:7;2477:14;;;;;;;;-1:-1:-1;;2477:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:13;;2477:14;;2484:7;;2477:14;;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;1104:102:5;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1178:21:5::1;1184:5;1191:7;1178:5;:21::i;6295:266:40:-:0;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;-1:-1:-1;;;;;6436:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6436:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;3968:149::-;-1:-1:-1;;;;;4083:18:40;;;4057:7;4083:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3968:149::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;590:104:37:-;677:10;590:104;:::o;9357:340:40:-;-1:-1:-1;;;;;9458:19:40;;9450:68;;;;-1:-1:-1;;;9450:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9536:21:40;;9528:68;;;;-1:-1:-1;;;9528:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9607:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9658:32;;;;;;;;;;;;;;;;;9357:340;;;:::o;7035:530::-;-1:-1:-1;;;;;7140:20:40;;7132:70;;;;-1:-1:-1;;;7132:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7220:23:40;;7212:71;;;;-1:-1:-1;;;7212:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7352:17:40;;;;;;;:9;:17;;;;;;:91;;;;7476:20;;;;;;;:32;;7501:6;7476:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7453:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7523:35;;;;;;;7453:20;;7523:35;;;;-1:-1:-1;;;;;;;;;;;7523:35:40;;;;;;;;7035:530;;;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:12;;:24;;8078:6;8061:24;:16;:24;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;:30;;8139:6;8116:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;-1:-1:-1;;;;;;;;;;;8161:37:40;;;;;;;;;7835:370;;:::o;8524:410::-;-1:-1:-1;;;;;8607:21:40;;8599:67;;;;-1:-1:-1;;;8599:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8677:49;8698:7;8715:1;8719:6;8677:20;:49::i;:::-;8758:68;8781:6;8758:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8758:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8737:18:40;;;;;;:9;:18;;;;;:89;8851:12;;:24;;8868:6;8851:24;:16;:24;:::i;:::-;8836:12;:39;8890:37;;;;;;;;8916:1;;-1:-1:-1;;;;;8890:37:40;;;-1:-1:-1;;;;;;;;;;;8890:37:40;;;;;;;;8524:410;;:::o;10695:92::-;;;;:::o;1321:134:39:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i", + "sourceMap": "476:732:5:-:0;;;518:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;518:476:5;1956:145:40;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;882:17:38;902:12;:10;;;:12;;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2030:13:40;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2053:17:40;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2080:9:40;:14;;-1:-1:-1;;2080:14:40;2092:2;2080:14;;;-1:-1:-1;571:47:5::1;577:10;589:28;-1:-1:-1::0;;;;;571:5:5::1;:47:::0;:::i:1;:::-;628:113;647:42;703:28;-1:-1:-1::0;;;;;628:5:5::1;:113:::0;:::i:1;:::-;751;770:42;826:28;-1:-1:-1::0;;;;;751:5:5::1;:113:::0;:::i:1;:::-;874;893:42;949:28;-1:-1:-1::0;;;;;874:5:5::1;:113:::0;:::i:1;:::-;476:732:::0;;598:104:37;685:10;598:104;;:::o;1000:98:5:-;1297:12:38;-1:-1:-1;;;;;1297:10:38;:12;:::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:19:5::1;1078:3:::0;1083:7;-1:-1:-1;;;;;1072:5:5::1;:19:::0;:::i:1;:::-;1000:98:::0;;:::o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;-1:-1:-1;;;;;7941:20:40;:49;:::i;:::-;8016:24;8033:6;8016:12;;:16;;;;;;:24;;;;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;;;;:30;;8094:6;;8071:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;8116:37;;;;;;;;;;7790:370;;:::o;10651:92::-;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;476:732:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:732:5;;;-1:-1:-1;476:732:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "476:732:5:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;476:732:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2166:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2166:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4202:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3209:98;;;:::i;:::-;;;;;;;;;;;;;;;;4835:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4835:317:40;;;;;;;;;;;;;;;;;:::i;3068:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5547:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5547:215:40;;;;;;;;:::i;3365:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3365:117:40;-1:-1:-1;;;;;3365:117:40;;:::i;1706:145:38:-;;;:::i;:::-;;1000:98:5;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1000:98:5;;;;;;;;:::i;1083:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1083:77:38;;;;;;;;;;;;;;2360:85:40;;;:::i;1104:102:5:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1104:102:5;;;;;;;;:::i;6249:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6249:266:40;;;;;;;;:::i;3685:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3685:172:40;;;;;;;;:::i;3915:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3915:149:40;;;;;;;;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;2166:81:40:-;2235:5;2228:12;;;;;;;;-1:-1:-1;;2228:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:13;;2228:12;;2235:5;;2228:12;;2235:5;2228:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2166:81;:::o;4202:166::-;4285:4;4301:39;4310:12;:10;:12::i;:::-;4324:7;4333:6;4301:8;:39::i;:::-;-1:-1:-1;4357:4:40;4202:166;;;;:::o;3209:98::-;3288:12;;3209:98;:::o;4835:317::-;4941:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;5003:121;5012:6;5020:12;:10;:12::i;:::-;5034:89;5072:6;5034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:19:40;;;;;;:11;:19;;;;;;5054:12;:10;:12::i;:::-;-1:-1:-1;;;;;5034:33:40;;;;;;;;;;;;-1:-1:-1;5034:33:40;;;:89;;:37;:89;:::i;:::-;5003:8;:121::i;:::-;-1:-1:-1;5141:4:40;4835:317;;;;;:::o;3068:81::-;3133:9;;;;3068:81;:::o;5547:215::-;5635:4;5651:83;5660:12;:10;:12::i;:::-;5674:7;5683:50;5722:10;5683:11;:25;5695:12;:10;:12::i;:::-;-1:-1:-1;;;;;5683:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5683:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3365:117::-;-1:-1:-1;;;;;3457:18:40;3431:7;3457:18;;;:9;:18;;;;;;;3365:117::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;1000:98:5:-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1072:19:5::1;1078:3;1083:7;1072:5;:19::i;:::-;1000:98:::0;;:::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;2360:85:40:-;2431:7;2424:14;;;;;;;;-1:-1:-1;;2424:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:13;;2424:14;;2431:7;;2424:14;;2431:7;2424:14;;;;;;;;;;;;;;;;;;;;;;;;1104:102:5;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1178:21:5::1;1184:5;1191:7;1178:5;:21::i;6249:266:40:-:0;6342:4;6358:129;6367:12;:10;:12::i;:::-;6381:7;6390:96;6429:15;6390:96;;;;;;;;;;;;;;;;;:11;:25;6402:12;:10;:12::i;:::-;-1:-1:-1;;;;;6390:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6390:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3685:172::-;3771:4;3787:42;3797:12;:10;:12::i;:::-;3811:9;3822:6;3787:9;:42::i;3915:149::-;-1:-1:-1;;;;;4030:18:40;;;4004:7;4030:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3915:149::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;598:104:37:-;685:10;598:104;:::o;9313:340:40:-;-1:-1:-1;;;;;9414:19:40;;9406:68;;;;-1:-1:-1;;;9406:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9492:21:40;;9484:68;;;;-1:-1:-1;;;9484:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9563:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9614:32;;;;;;;;;;;;;;;;;9313:340;;;:::o;6989:530::-;-1:-1:-1;;;;;7094:20:40;;7086:70;;;;-1:-1:-1;;;7086:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:23:40;;7166:71;;;;-1:-1:-1;;;7166:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:47;7269:6;7277:9;7288:6;7248:20;:47::i;:::-;7326:71;7348:6;7326:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7326:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7306:17:40;;;;;;;:9;:17;;;;;;:91;;;;7430:20;;;;;;;:32;;7455:6;7430:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7407:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7477:35;;;;;;;7407:20;;7477:35;;;;-1:-1:-1;;;;;;;;;;;7477:35:40;;;;;;;;6989:530;;;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;7941:20;:49::i;:::-;8016:12;;:24;;8033:6;8016:24;:16;:24;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;:30;;8094:6;8071:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;-1:-1:-1;;;;;;;;;;;8116:37:40;;;;;;;;;7790:370;;:::o;8480:410::-;-1:-1:-1;;;;;8563:21:40;;8555:67;;;;-1:-1:-1;;;8555:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8633:49;8654:7;8671:1;8675:6;8633:20;:49::i;:::-;8714:68;8737:6;8714:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8714:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8693:18:40;;;;;;:9;:18;;;;;:89;8807:12;;:24;;8824:6;8807:24;:16;:24;:::i;:::-;8792:12;:39;8846:37;;;;;;;;8872:1;;-1:-1:-1;;;;;8846:37:40;;;-1:-1:-1;;;;;;;;;;;8846:37:40;;;;;;;;8480:410;;:::o;10651:92::-;;;;:::o;1329:134:39:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i", "source": "pragma solidity ^0.6.2;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title FakeLink\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\n@notice the FakeLink contract is used to simulate an ERC20 with uniswap on kovan\n**/\ncontract FakeLink is Ownable, ERC20 {\n constructor() public ERC20(\"Link\", \"LINK\") {\n _Mint(msg.sender, 1000000000000000000000000000);\n _Mint(\n 0x84166f7C1C8BB78C6553556bBa3433fe2eB5ED26,\n 1000000000000000000000000000\n );\n _Mint(\n 0x09AF8e15eB40A53265e3FD71897189B363B70530,\n 1000000000000000000000000000\n );\n _Mint(\n 0xCAA6b1207bBE1393e6F039c0f91018Bf860C885e,\n 1000000000000000000000000000\n );\n }\n\n function _Mint(address _to, uint256 _amount) public onlyOwner {\n _mint(_to, _amount);\n }\n\n function _Burn(address _from, uint256 _amount) public onlyOwner {\n _burn(_from, _amount);\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", "exportedSymbols": { "FakeLink": [ - 1872 + 1902 ] }, - "id": 1873, + "id": 1903, "nodeType": "SourceUnit", "nodes": [ { - "id": 1805, + "id": 1835, "literals": [ "solidity", "^", @@ -404,10 +404,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1806, + "id": 1836, "nodeType": "ImportDirective", - "scope": 1873, - "sourceUnit": 10599, + "scope": 1903, + "sourceUnit": 10762, "src": "25:60:5", "symbolAliases": [], "unitAlias": "" @@ -415,10 +415,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1807, + "id": 1837, "nodeType": "ImportDirective", - "scope": 1873, - "sourceUnit": 11302, + "scope": 1903, + "sourceUnit": 11461, "src": "86:63:5", "symbolAliases": [], "unitAlias": "" @@ -430,17 +430,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1809, + "id": 1839, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "497:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1810, + "id": 1840, "nodeType": "InheritanceSpecifier", "src": "497:7:5" }, @@ -448,49 +448,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1811, + "id": 1841, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "506:5:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1812, + "id": 1842, "nodeType": "InheritanceSpecifier", "src": "506:5:5" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1808, + "id": 1838, "nodeType": "StructuredDocumentation", "src": "387:88:5", "text": "@notice the FakeLink contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1872, + "id": 1902, "linearizedBaseContracts": [ - 1872, - 11301, - 11379, - 10598, - 10489 + 1902, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeLink", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1840, + "id": 1870, "nodeType": "Block", "src": "561:433:5", "statements": [ @@ -502,7 +502,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1820, + "id": 1850, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -513,7 +513,7 @@ "typeString": "msg" } }, - "id": 1821, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -530,7 +530,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1822, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": true, @@ -557,18 +557,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1819, + "id": 1849, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "571:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1823, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, @@ -583,7 +583,7 @@ "typeString": "tuple()" } }, - "id": 1824, + "id": 1854, "nodeType": "ExpressionStatement", "src": "571:47:5" }, @@ -594,7 +594,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1826, + "id": 1856, "isConstant": false, "isLValue": false, "isPure": true, @@ -612,7 +612,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1827, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, @@ -639,18 +639,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1825, + "id": 1855, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "628:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1828, + "id": 1858, "isConstant": false, "isLValue": false, "isPure": false, @@ -665,7 +665,7 @@ "typeString": "tuple()" } }, - "id": 1829, + "id": 1859, "nodeType": "ExpressionStatement", "src": "628:113:5" }, @@ -676,7 +676,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1831, + "id": 1861, "isConstant": false, "isLValue": false, "isPure": true, @@ -694,7 +694,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1832, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, @@ -721,18 +721,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1830, + "id": 1860, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "751:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1833, + "id": 1863, "isConstant": false, "isLValue": false, "isPure": false, @@ -747,7 +747,7 @@ "typeString": "tuple()" } }, - "id": 1834, + "id": 1864, "nodeType": "ExpressionStatement", "src": "751:113:5" }, @@ -758,7 +758,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1836, + "id": 1866, "isConstant": false, "isLValue": false, "isPure": true, @@ -776,7 +776,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1837, + "id": 1867, "isConstant": false, "isLValue": false, "isPure": true, @@ -803,18 +803,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1835, + "id": 1865, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "874:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1838, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": false, @@ -829,14 +829,14 @@ "typeString": "tuple()" } }, - "id": 1839, + "id": 1869, "nodeType": "ExpressionStatement", "src": "874:113:5" } ] }, "documentation": null, - "id": 1841, + "id": 1871, "implemented": true, "kind": "constructor", "modifiers": [ @@ -845,7 +845,7 @@ { "argumentTypes": null, "hexValue": "4c696e6b", - "id": 1815, + "id": 1845, "isConstant": false, "isLValue": false, "isPure": true, @@ -863,7 +863,7 @@ { "argumentTypes": null, "hexValue": "4c494e4b", - "id": 1816, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": true, @@ -879,17 +879,17 @@ "value": "LINK" } ], - "id": 1817, + "id": 1847, "modifierName": { "argumentTypes": null, - "id": 1814, + "id": 1844, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "539:5:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -901,18 +901,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1813, + "id": 1843, "nodeType": "ParameterList", "parameters": [], "src": "529:2:5" }, "returnParameters": { - "id": 1818, + "id": 1848, "nodeType": "ParameterList", "parameters": [], "src": "561:0:5" }, - "scope": 1872, + "scope": 1902, "src": "518:476:5", "stateMutability": "nonpayable", "virtual": false, @@ -920,7 +920,7 @@ }, { "body": { - "id": 1855, + "id": 1885, "nodeType": "Block", "src": "1062:36:5", "statements": [ @@ -930,11 +930,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1851, + "id": 1881, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1843, + "referencedDeclaration": 1873, "src": "1078:3:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -943,11 +943,11 @@ }, { "argumentTypes": null, - "id": 1852, + "id": 1882, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, + "referencedDeclaration": 1875, "src": "1083:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -966,18 +966,18 @@ "typeString": "uint256" } ], - "id": 1850, + "id": 1880, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1072:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1853, + "id": 1883, "isConstant": false, "isLValue": false, "isPure": false, @@ -992,7 +992,7 @@ "typeString": "tuple()" } }, - "id": 1854, + "id": 1884, "nodeType": "ExpressionStatement", "src": "1072:19:5" } @@ -1000,20 +1000,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1856, + "id": 1886, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1848, + "id": 1878, "modifierName": { "argumentTypes": null, - "id": 1847, + "id": 1877, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1052:9:5", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1028,17 +1028,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1846, + "id": 1876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1843, + "id": 1873, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1856, + "scope": 1886, "src": "1015:11:5", "stateVariable": false, "storageLocation": "default", @@ -1047,7 +1047,7 @@ "typeString": "address" }, "typeName": { - "id": 1842, + "id": 1872, "name": "address", "nodeType": "ElementaryTypeName", "src": "1015:7:5", @@ -1062,12 +1062,12 @@ }, { "constant": false, - "id": 1845, + "id": 1875, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1856, + "scope": 1886, "src": "1028:15:5", "stateVariable": false, "storageLocation": "default", @@ -1076,7 +1076,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1844, + "id": 1874, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1028:7:5", @@ -1092,12 +1092,12 @@ "src": "1014:30:5" }, "returnParameters": { - "id": 1849, + "id": 1879, "nodeType": "ParameterList", "parameters": [], "src": "1062:0:5" }, - "scope": 1872, + "scope": 1902, "src": "1000:98:5", "stateMutability": "nonpayable", "virtual": false, @@ -1105,7 +1105,7 @@ }, { "body": { - "id": 1870, + "id": 1900, "nodeType": "Block", "src": "1168:38:5", "statements": [ @@ -1115,11 +1115,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1866, + "id": 1896, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1858, + "referencedDeclaration": 1888, "src": "1184:5:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1128,11 +1128,11 @@ }, { "argumentTypes": null, - "id": 1867, + "id": 1897, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1860, + "referencedDeclaration": 1890, "src": "1191:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1151,18 +1151,18 @@ "typeString": "uint256" } ], - "id": 1865, + "id": 1895, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1178:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1868, + "id": 1898, "isConstant": false, "isLValue": false, "isPure": false, @@ -1177,7 +1177,7 @@ "typeString": "tuple()" } }, - "id": 1869, + "id": 1899, "nodeType": "ExpressionStatement", "src": "1178:21:5" } @@ -1185,20 +1185,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1871, + "id": 1901, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1863, + "id": 1893, "modifierName": { "argumentTypes": null, - "id": 1862, + "id": 1892, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1158:9:5", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1213,17 +1213,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1861, + "id": 1891, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1858, + "id": 1888, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1871, + "scope": 1901, "src": "1119:13:5", "stateVariable": false, "storageLocation": "default", @@ -1232,7 +1232,7 @@ "typeString": "address" }, "typeName": { - "id": 1857, + "id": 1887, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:5", @@ -1247,12 +1247,12 @@ }, { "constant": false, - "id": 1860, + "id": 1890, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1871, + "scope": 1901, "src": "1134:15:5", "stateVariable": false, "storageLocation": "default", @@ -1261,7 +1261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1859, + "id": 1889, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:5", @@ -1277,36 +1277,36 @@ "src": "1118:32:5" }, "returnParameters": { - "id": 1864, + "id": 1894, "nodeType": "ParameterList", "parameters": [], "src": "1168:0:5" }, - "scope": 1872, + "scope": 1902, "src": "1104:102:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1873, + "scope": 1903, "src": "476:732:5" } ], "src": "0:1209:5" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeLink.sol", "exportedSymbols": { "FakeLink": [ - 1872 + 1902 ] }, - "id": 1873, + "id": 1903, "nodeType": "SourceUnit", "nodes": [ { - "id": 1805, + "id": 1835, "literals": [ "solidity", "^", @@ -1319,10 +1319,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1806, + "id": 1836, "nodeType": "ImportDirective", - "scope": 1873, - "sourceUnit": 10599, + "scope": 1903, + "sourceUnit": 10762, "src": "25:60:5", "symbolAliases": [], "unitAlias": "" @@ -1330,10 +1330,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1807, + "id": 1837, "nodeType": "ImportDirective", - "scope": 1873, - "sourceUnit": 11302, + "scope": 1903, + "sourceUnit": 11461, "src": "86:63:5", "symbolAliases": [], "unitAlias": "" @@ -1345,17 +1345,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1809, + "id": 1839, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "497:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1810, + "id": 1840, "nodeType": "InheritanceSpecifier", "src": "497:7:5" }, @@ -1363,49 +1363,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1811, + "id": 1841, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "506:5:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1812, + "id": 1842, "nodeType": "InheritanceSpecifier", "src": "506:5:5" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1808, + "id": 1838, "nodeType": "StructuredDocumentation", "src": "387:88:5", "text": "@notice the FakeLink contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1872, + "id": 1902, "linearizedBaseContracts": [ - 1872, - 11301, - 11379, - 10598, - 10489 + 1902, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeLink", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1840, + "id": 1870, "nodeType": "Block", "src": "561:433:5", "statements": [ @@ -1417,7 +1417,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1820, + "id": 1850, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1428,7 +1428,7 @@ "typeString": "msg" } }, - "id": 1821, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": false, @@ -1445,7 +1445,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1822, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": true, @@ -1472,18 +1472,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1819, + "id": 1849, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "571:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1823, + "id": 1853, "isConstant": false, "isLValue": false, "isPure": false, @@ -1498,7 +1498,7 @@ "typeString": "tuple()" } }, - "id": 1824, + "id": 1854, "nodeType": "ExpressionStatement", "src": "571:47:5" }, @@ -1509,7 +1509,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1826, + "id": 1856, "isConstant": false, "isLValue": false, "isPure": true, @@ -1527,7 +1527,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1827, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, @@ -1554,18 +1554,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1825, + "id": 1855, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "628:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1828, + "id": 1858, "isConstant": false, "isLValue": false, "isPure": false, @@ -1580,7 +1580,7 @@ "typeString": "tuple()" } }, - "id": 1829, + "id": 1859, "nodeType": "ExpressionStatement", "src": "628:113:5" }, @@ -1591,7 +1591,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1831, + "id": 1861, "isConstant": false, "isLValue": false, "isPure": true, @@ -1609,7 +1609,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1832, + "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, @@ -1636,18 +1636,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1830, + "id": 1860, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "751:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1833, + "id": 1863, "isConstant": false, "isLValue": false, "isPure": false, @@ -1662,7 +1662,7 @@ "typeString": "tuple()" } }, - "id": 1834, + "id": 1864, "nodeType": "ExpressionStatement", "src": "751:113:5" }, @@ -1673,7 +1673,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1836, + "id": 1866, "isConstant": false, "isLValue": false, "isPure": true, @@ -1691,7 +1691,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1837, + "id": 1867, "isConstant": false, "isLValue": false, "isPure": true, @@ -1718,18 +1718,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1835, + "id": 1865, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1856, + "referencedDeclaration": 1886, "src": "874:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1838, + "id": 1868, "isConstant": false, "isLValue": false, "isPure": false, @@ -1744,14 +1744,14 @@ "typeString": "tuple()" } }, - "id": 1839, + "id": 1869, "nodeType": "ExpressionStatement", "src": "874:113:5" } ] }, "documentation": null, - "id": 1841, + "id": 1871, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1760,7 +1760,7 @@ { "argumentTypes": null, "hexValue": "4c696e6b", - "id": 1815, + "id": 1845, "isConstant": false, "isLValue": false, "isPure": true, @@ -1778,7 +1778,7 @@ { "argumentTypes": null, "hexValue": "4c494e4b", - "id": 1816, + "id": 1846, "isConstant": false, "isLValue": false, "isPure": true, @@ -1794,17 +1794,17 @@ "value": "LINK" } ], - "id": 1817, + "id": 1847, "modifierName": { "argumentTypes": null, - "id": 1814, + "id": 1844, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "539:5:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -1816,18 +1816,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1813, + "id": 1843, "nodeType": "ParameterList", "parameters": [], "src": "529:2:5" }, "returnParameters": { - "id": 1818, + "id": 1848, "nodeType": "ParameterList", "parameters": [], "src": "561:0:5" }, - "scope": 1872, + "scope": 1902, "src": "518:476:5", "stateMutability": "nonpayable", "virtual": false, @@ -1835,7 +1835,7 @@ }, { "body": { - "id": 1855, + "id": 1885, "nodeType": "Block", "src": "1062:36:5", "statements": [ @@ -1845,11 +1845,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1851, + "id": 1881, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1843, + "referencedDeclaration": 1873, "src": "1078:3:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1858,11 +1858,11 @@ }, { "argumentTypes": null, - "id": 1852, + "id": 1882, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1845, + "referencedDeclaration": 1875, "src": "1083:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1881,18 +1881,18 @@ "typeString": "uint256" } ], - "id": 1850, + "id": 1880, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1072:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1853, + "id": 1883, "isConstant": false, "isLValue": false, "isPure": false, @@ -1907,7 +1907,7 @@ "typeString": "tuple()" } }, - "id": 1854, + "id": 1884, "nodeType": "ExpressionStatement", "src": "1072:19:5" } @@ -1915,20 +1915,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1856, + "id": 1886, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1848, + "id": 1878, "modifierName": { "argumentTypes": null, - "id": 1847, + "id": 1877, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1052:9:5", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1943,17 +1943,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1846, + "id": 1876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1843, + "id": 1873, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1856, + "scope": 1886, "src": "1015:11:5", "stateVariable": false, "storageLocation": "default", @@ -1962,7 +1962,7 @@ "typeString": "address" }, "typeName": { - "id": 1842, + "id": 1872, "name": "address", "nodeType": "ElementaryTypeName", "src": "1015:7:5", @@ -1977,12 +1977,12 @@ }, { "constant": false, - "id": 1845, + "id": 1875, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1856, + "scope": 1886, "src": "1028:15:5", "stateVariable": false, "storageLocation": "default", @@ -1991,7 +1991,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1844, + "id": 1874, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1028:7:5", @@ -2007,12 +2007,12 @@ "src": "1014:30:5" }, "returnParameters": { - "id": 1849, + "id": 1879, "nodeType": "ParameterList", "parameters": [], "src": "1062:0:5" }, - "scope": 1872, + "scope": 1902, "src": "1000:98:5", "stateMutability": "nonpayable", "virtual": false, @@ -2020,7 +2020,7 @@ }, { "body": { - "id": 1870, + "id": 1900, "nodeType": "Block", "src": "1168:38:5", "statements": [ @@ -2030,11 +2030,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1866, + "id": 1896, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1858, + "referencedDeclaration": 1888, "src": "1184:5:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2043,11 +2043,11 @@ }, { "argumentTypes": null, - "id": 1867, + "id": 1897, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1860, + "referencedDeclaration": 1890, "src": "1191:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2066,18 +2066,18 @@ "typeString": "uint256" } ], - "id": 1865, + "id": 1895, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1178:5:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1868, + "id": 1898, "isConstant": false, "isLValue": false, "isPure": false, @@ -2092,7 +2092,7 @@ "typeString": "tuple()" } }, - "id": 1869, + "id": 1899, "nodeType": "ExpressionStatement", "src": "1178:21:5" } @@ -2100,20 +2100,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1871, + "id": 1901, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1863, + "id": 1893, "modifierName": { "argumentTypes": null, - "id": 1862, + "id": 1892, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1158:9:5", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2128,17 +2128,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1861, + "id": 1891, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1858, + "id": 1888, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1871, + "scope": 1901, "src": "1119:13:5", "stateVariable": false, "storageLocation": "default", @@ -2147,7 +2147,7 @@ "typeString": "address" }, "typeName": { - "id": 1857, + "id": 1887, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:5", @@ -2162,12 +2162,12 @@ }, { "constant": false, - "id": 1860, + "id": 1890, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1871, + "scope": 1901, "src": "1134:15:5", "stateVariable": false, "storageLocation": "default", @@ -2176,7 +2176,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1859, + "id": 1889, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:5", @@ -2192,19 +2192,19 @@ "src": "1118:32:5" }, "returnParameters": { - "id": 1864, + "id": 1894, "nodeType": "ParameterList", "parameters": [], "src": "1168:0:5" }, - "scope": 1872, + "scope": 1902, "src": "1104:102:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1873, + "scope": 1903, "src": "476:732:5" } ], @@ -2288,8 +2288,8 @@ } }, "links": {}, - "address": "0x166BF7e41Cc91f257aE3CBEBFc3E54158951fCC1", - "transactionHash": "0xbf348e04e1fd801063e74ea1c0471fca2dc2d65a94733dd9fa75ca3a04cb1d20" + "address": "0x20E341956402669C44aE97B24ea47aa9B87c5a2A", + "transactionHash": "0xa002faa08dbebcf882152d95375155a9ef8bfc311a963efce2a2c582e9660d86" }, "1607622663952": { "events": { @@ -2366,10 +2366,86 @@ "links": {}, "address": "0xEC614e39C23a8519aCBf7aB8D28ba0Cd639d6a00", "transactionHash": "0x11897cae98c81e245492cb746163c22c7d118a3791ee314b5b6025ea1cbecffd" + }, + "1607733595468": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + } + }, + "links": {}, + "address": "0x213e884cC14FE677D149E3534641E9810A4ebDF6", + "transactionHash": "0x3c30469bd51beeb0732958d21e925713ebd7d612bd76a4d754b16d6a341ab696" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.050Z", + "updatedAt": "2020-12-12T01:26:53.368Z", "networkType": "ethereum", "devdoc": { "methods": { @@ -2410,7 +2486,7 @@ "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." diff --git a/AskoLend-contracts/build/contracts/FakeUSDC.json b/AskoLend-contracts/build/contracts/FakeUSDC.json index 69c9bdde..a44f3d8a 100644 --- a/AskoLend-contracts/build/contracts/FakeUSDC.json +++ b/AskoLend-contracts/build/contracts/FakeUSDC.json @@ -372,26 +372,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeUSDC contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol\":\"FakeUSDC\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol\":{\"keccak256\":\"0x9aab5ba0a7d4281e1007a29f44ac6e7971383b3059c95fc7c448ab3cc52a9b04\",\"urls\":[\"bzz-raw://3db32ee5f22db7f7e112075c6a7dc23a05d1571115b01a565ad9f9ff06e10a73\",\"dweb:/ipfs/QmbQjW1ypKRZztirBtUfuhF1ABGmXHQUfiLcnKkcUvcuZw\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0\",\"urls\":[\"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02\",\"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390\",\"urls\":[\"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37\",\"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051806040016040528060048152602001635553444360e01b815250604051806040016040528060048152602001635553444360e01b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d4d2fcd3a33e10889c10da80b42eb2ebe4e1ab295d6b8a59fb8082b9768ff9da64736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d4d2fcd3a33e10889c10da80b42eb2ebe4e1ab295d6b8a59fb8082b9768ff9da64736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"_Mint\",\"outputs\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{},\"notice\":\"the FakeUSDC contract is used to simulate an ERC20 with uniswap on kovan*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol\":\"FakeUSDC\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol\":{\"keccak256\":\"0x9aab5ba0a7d4281e1007a29f44ac6e7971383b3059c95fc7c448ab3cc52a9b04\",\"urls\":[\"bzz-raw://3db32ee5f22db7f7e112075c6a7dc23a05d1571115b01a565ad9f9ff06e10a73\",\"dweb:/ipfs/QmbQjW1ypKRZztirBtUfuhF1ABGmXHQUfiLcnKkcUvcuZw\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xcbd85c86627a47fd939f1f4ee3ba626575ff2a182e1804b29f5136394449b538\",\"urls\":[\"bzz-raw://53c6a80c519bb9356aad28efa9a1ec31603860eb759d2dc57f545fcae1dd1aca\",\"dweb:/ipfs/QmfRS6TtMNUHhvgLHXK21qKNnpn2S7g2Yd1fKaHKyFiJsR\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051806040016040528060048152602001635553444360e01b815250604051806040016040528060048152602001635553444360e01b81525060006200005e620001a960201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000bd906004906020850190620003c0565b508051620000d3906005906020840190620003c0565b50506006805460ff191660121790555062000104336b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001397384166f7c1c8bb78c6553556bba3433fe2eb5ed266b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b6200016e7309af8e15eb40a53265e3fd71897189b363b705306b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b620001a373caa6b1207bbe1393e6f039c0f91018bf860c885e6b033b2e3c9fd0803ce80000006001600160e01b03620001ae16565b62000462565b335b90565b620001c16001600160e01b03620001a916565b6000546001600160a01b0390811691161462000224576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200023982826001600160e01b036200023d16565b5050565b6001600160a01b03821662000299576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002b0600083836001600160e01b036200035916565b620002cc816003546200035e60201b62000bb71790919060201c565b6003556001600160a01b0382166000908152600160209081526040909120546200030191839062000bb76200035e821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620003b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040357805160ff191683800117855562000433565b8280016001018555821562000433579182015b828111156200043357825182559160200191906001019062000416565b506200044192915062000445565b5090565b620001ab91905b808211156200044157600081556001016200044c565b61102180620004726000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b323e482aec02531b4628ab8ea41966c8b90c892b787898b576d8df6046cf42564736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e05760003560e01c80637d21ce4d116100875780637d21ce4d1461026c5780638da5cb5b1461029857806395d89b41146102bc57806396615aa3146102c4578063a457c2d7146102f0578063a9059cbb1461031c578063dd62ed3e14610348578063f2fde38b14610376576100e0565b806306fdde03146100e5578063095ea7b31461016257806318160ddd146101a257806323b872dd146101bc578063313ce567146101f2578063395093511461021057806370a082311461023c578063715018a614610262575b600080fd5b6100ed61039c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012757818101518382015260200161010f565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61018e6004803603604081101561017857600080fd5b506001600160a01b038135169060200135610432565b604080519115158252519081900360200190f35b6101aa61044f565b60408051918252519081900360200190f35b61018e600480360360608110156101d257600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b6101fa6104e2565b6040805160ff9092168252519081900360200190f35b61018e6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356104eb565b6101aa6004803603602081101561025257600080fd5b50356001600160a01b031661053f565b61026a61055a565b005b61026a6004803603604081101561028257600080fd5b506001600160a01b0381351690602001356105fc565b6102a0610662565b604080516001600160a01b039092168252519081900360200190f35b6100ed610671565b61026a600480360360408110156102da57600080fd5b506001600160a01b0381351690602001356106d2565b61018e6004803603604081101561030657600080fd5b506001600160a01b038135169060200135610734565b61018e6004803603604081101561033257600080fd5b506001600160a01b0381351690602001356107a2565b6101aa6004803603604081101561035e57600080fd5b506001600160a01b03813581169160200135166107b6565b61026a6004803603602081101561038c57600080fd5b50356001600160a01b03166107e1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b820191906000526020600020905b81548152906001019060200180831161040b57829003601f168201915b5050505050905090565b600061044661043f6108d9565b84846108dd565b50600192915050565b60035490565b60006104628484846109c9565b6104d88461046e6108d9565b6104d385604051806060016040528060288152602001610ef5602891396001600160a01b038a166000908152600260205260408120906104ac6108d9565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b2016565b6108dd565b5060019392505050565b60065460ff1690565b60006104466104f86108d9565b846104d385600260006105096108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bb716565b6001600160a01b031660009081526001602052604090205490565b6105626108d9565b6000546001600160a01b039081169116146105b2576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6106046108d9565b6000546001600160a01b03908116911614610654576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610c18565b5050565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104285780601f106103fd57610100808354040283529160200191610428565b6106da6108d9565b6000546001600160a01b0390811691161461072a576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b61065e8282610d04565b60006104466107416108d9565b846104d385604051806060016040528060258152602001610fc7602591396002600061076b6108d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b2016565b60006104466107af6108d9565b84846109c9565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6107e96108d9565b6000546001600160a01b03908116911614610839576040805162461bcd60e51b81526020600482018190526024820152600080516020610f1d833981519152604482015290519081900360640190fd5b6001600160a01b03811661087e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166109225760405162461bcd60e51b8152600401808060200182810382526024815260200180610fa36024913960400191505060405180910390fd5b6001600160a01b0382166109675760405162461bcd60e51b8152600401808060200182810382526022815260200180610ead6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610a0e5760405162461bcd60e51b8152600401808060200182810382526025815260200180610f7e6025913960400191505060405180910390fd5b6001600160a01b038216610a535760405162461bcd60e51b8152600401808060200182810382526023815260200180610e426023913960400191505060405180910390fd5b610a5e838383610dfa565b610aa181604051806060016040528060268152602001610ecf602691396001600160a01b038616600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610ad6908263ffffffff610bb716565b6001600160a01b038084166000818152600160209081526040918290209490945580518581529051919392871692600080516020610f3d83398151915292918290030190a3505050565b60008184841115610baf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b74578181015183820152602001610b5c565b50505050905090810190601f168015610ba15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610c11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c73576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c7f60008383610dfa565b600354610c92908263ffffffff610bb716565b6003556001600160a01b038216600090815260016020526040902054610cbe908263ffffffff610bb716565b6001600160a01b0383166000818152600160209081526040808320949094558351858152935192939192600080516020610f3d8339815191529281900390910190a35050565b6001600160a01b038216610d495760405162461bcd60e51b8152600401808060200182810382526021815260200180610f5d6021913960400191505060405180910390fd5b610d5582600083610dfa565b610d9881604051806060016040528060228152602001610e65602291396001600160a01b038516600090815260016020526040902054919063ffffffff610b2016565b6001600160a01b038316600090815260016020526040902055600354610dc4908263ffffffff610dff16565b6003556040805182815290516000916001600160a01b03851691600080516020610f3d8339815191529181900360200190a35050565b505050565b6000610c1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b2056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b323e482aec02531b4628ab8ea41966c8b90c892b787898b576d8df6046cf42564736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "476:732:6:-:0;;;518:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;518:476:6;2013:141:40;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;;;;;;;;;;;;;;-1:-1:-1;;;2013:141:40;;;865:17:38;885:12;:10;;;:12;;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2085:12:40;;;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;2107:16:40;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;;2133:9:40;:14;;-1:-1:-1;;2133:14:40;2145:2;2133:14;;;-1:-1:-1;571:47:6::1;577:10;589:28;-1:-1:-1::0;;;;;571:5:6::1;:47:::0;:::i:1;:::-;628:113;647:42;703:28;-1:-1:-1::0;;;;;628:5:6::1;:113:::0;:::i:1;:::-;751;770:42;826:28;-1:-1:-1::0;;;;;751:5:6::1;:113:::0;:::i:1;:::-;874;893:42;949:28;-1:-1:-1::0;;;;;874:5:6::1;:113:::0;:::i:1;:::-;476:732:::0;;590:104:37;677:10;590:104;;:::o;1000:98:6:-;1280:12:38;-1:-1:-1;;;;;1280:10:38;:12;:::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:19:6::1;1078:3:::0;1083:7;-1:-1:-1;;;;;1072:5:6::1;:19:::0;:::i:1;:::-;1000:98:::0;;:::o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;-1:-1:-1;;;;;7986:20:40;:49;:::i;:::-;8061:24;8078:6;8061:12;;:16;;;;;;:24;;;;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;;;;:30;;8139:6;;8116:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;8161:37;;;;;;;;;;7835:370;;:::o;10695:92::-;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;476:732:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:732:6;;;-1:-1:-1;476:732:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "476:732:6:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;476:732:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2219:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4255:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;4881:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4881:317:40;;;;;;;;;;;;;;;;;:::i;3121:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5593:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5593:215:40;;;;;;;;:::i;3418:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3418:117:40;-1:-1:-1;;;;;3418:117:40;;:::i;1689:145:38:-;;;:::i;:::-;;1000:98:6;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1000:98:6;;;;;;;;:::i;1066:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1066:77:38;;;;;;;;;;;;;;2413:85:40;;;:::i;1104:102:6:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1104:102:6;;;;;;;;:::i;6295:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6295:266:40;;;;;;;;:::i;3738:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3738:172:40;;;;;;;;:::i;3968:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3968:149:40;;;;;;;;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;2219:81:40:-;2288:5;2281:12;;;;;;;;-1:-1:-1;;2281:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:13;;2281:12;;2288:5;;2281:12;;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;-1:-1:-1;4410:4:40;4255:166;;;;:::o;3262:98::-;3341:12;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5080:19:40;;;;;;:11;:19;;;;;;5100:12;:10;:12::i;:::-;-1:-1:-1;;;;;5080:33:40;;;;;;;;;;;;-1:-1:-1;5080:33:40;;;:89;;:37;:89;:::i;:::-;5049:8;:121::i;:::-;-1:-1:-1;5187:4:40;4881:317;;;;;:::o;3121:81::-;3186:9;;;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;-1:-1:-1;;;;;5729:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5729:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3418:117::-;-1:-1:-1;;;;;3510:18:40;3484:7;3510:18;;;:9;:18;;;;;;;3418:117::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;1000:98:6:-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1072:19:6::1;1078:3;1083:7;1072:5;:19::i;:::-;1000:98:::0;;:::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;2413:85:40:-;2484:7;2477:14;;;;;;;;-1:-1:-1;;2477:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:13;;2477:14;;2484:7;;2477:14;;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;1104:102:6;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1178:21:6::1;1184:5;1191:7;1178:5;:21::i;6295:266:40:-:0;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;-1:-1:-1;;;;;6436:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6436:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;3968:149::-;-1:-1:-1;;;;;4083:18:40;;;4057:7;4083:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3968:149::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;590:104:37:-;677:10;590:104;:::o;9357:340:40:-;-1:-1:-1;;;;;9458:19:40;;9450:68;;;;-1:-1:-1;;;9450:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9536:21:40;;9528:68;;;;-1:-1:-1;;;9528:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9607:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9658:32;;;;;;;;;;;;;;;;;9357:340;;;:::o;7035:530::-;-1:-1:-1;;;;;7140:20:40;;7132:70;;;;-1:-1:-1;;;7132:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7220:23:40;;7212:71;;;;-1:-1:-1;;;7212:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7372:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7352:17:40;;;;;;;:9;:17;;;;;;:91;;;;7476:20;;;;;;;:32;;7501:6;7476:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7453:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7523:35;;;;;;;7453:20;;7523:35;;;;-1:-1:-1;;;;;;;;;;;7523:35:40;;;;;;;;7035:530;;;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;7835:370:40:-;-1:-1:-1;;;;;7918:21:40;;7910:65;;;;;-1:-1:-1;;;7910:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:12;;:24;;8078:6;8061:24;:16;:24;:::i;:::-;8046:12;:39;-1:-1:-1;;;;;8116:18:40;;;;;;:9;:18;;;;;;:30;;8139:6;8116:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8095:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8161:37;;;;;;;8095:18;;;;-1:-1:-1;;;;;;;;;;;8161:37:40;;;;;;;;;7835:370;;:::o;8524:410::-;-1:-1:-1;;;;;8607:21:40;;8599:67;;;;-1:-1:-1;;;8599:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8677:49;8698:7;8715:1;8719:6;8677:20;:49::i;:::-;8758:68;8781:6;8758:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8758:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8737:18:40;;;;;;:9;:18;;;;;:89;8851:12;;:24;;8868:6;8851:24;:16;:24;:::i;:::-;8836:12;:39;8890:37;;;;;;;;8916:1;;-1:-1:-1;;;;;8890:37:40;;;-1:-1:-1;;;;;;;;;;;8890:37:40;;;;;;;;8524:410;;:::o;10695:92::-;;;;:::o;1321:134:39:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i", + "sourceMap": "476:732:6:-:0;;;518:476;5:9:-1;2:2;;;27:1;24;17:12;2:2;518:476:6;1956:145:40;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;;;;;;;;;;;;;;-1:-1:-1;;;1956:145:40;;;882:17:38;902:12;:10;;;:12;;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2030:13:40;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;2053:17:40;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2080:9:40;:14;;-1:-1:-1;;2080:14:40;2092:2;2080:14;;;-1:-1:-1;571:47:6::1;577:10;589:28;-1:-1:-1::0;;;;;571:5:6::1;:47:::0;:::i:1;:::-;628:113;647:42;703:28;-1:-1:-1::0;;;;;628:5:6::1;:113:::0;:::i:1;:::-;751;770:42;826:28;-1:-1:-1::0;;;;;751:5:6::1;:113:::0;:::i:1;:::-;874;893:42;949:28;-1:-1:-1::0;;;;;874:5:6::1;:113:::0;:::i:1;:::-;476:732:::0;;598:104:37;685:10;598:104;;:::o;1000:98:6:-;1297:12:38;-1:-1:-1;;;;;1297:10:38;:12;:::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:19:6::1;1078:3:::0;1083:7;-1:-1:-1;;;;;1072:5:6::1;:19:::0;:::i:1;:::-;1000:98:::0;;:::o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;-1:-1:-1;;;;;7941:20:40;:49;:::i;:::-;8016:24;8033:6;8016:12;;:16;;;;;;:24;;;;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;;;;:30;;8094:6;;8071:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;8116:37;;;;;;;;;;7790:370;;:::o;10651:92::-;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;476:732:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:732:6;;;-1:-1:-1;476:732:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "476:732:6:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;476:732:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2166:81:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2166:81:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:166;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4202:166:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3209:98;;;:::i;:::-;;;;;;;;;;;;;;;;4835:317;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4835:317:40;;;;;;;;;;;;;;;;;:::i;3068:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5547:215;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5547:215:40;;;;;;;;:::i;3365:117::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3365:117:40;-1:-1:-1;;;;;3365:117:40;;:::i;1706:145:38:-;;;:::i;:::-;;1000:98:6;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1000:98:6;;;;;;;;:::i;1083:77:38:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1083:77:38;;;;;;;;;;;;;;2360:85:40;;;:::i;1104:102:6:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1104:102:6;;;;;;;;:::i;6249:266:40:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6249:266:40;;;;;;;;:::i;3685:172::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3685:172:40;;;;;;;;:::i;3915:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3915:149:40;;;;;;;;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;2166:81:40:-;2235:5;2228:12;;;;;;;;-1:-1:-1;;2228:12:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:13;;2228:12;;2235:5;;2228:12;;2235:5;2228:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2166:81;:::o;4202:166::-;4285:4;4301:39;4310:12;:10;:12::i;:::-;4324:7;4333:6;4301:8;:39::i;:::-;-1:-1:-1;4357:4:40;4202:166;;;;:::o;3209:98::-;3288:12;;3209:98;:::o;4835:317::-;4941:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;5003:121;5012:6;5020:12;:10;:12::i;:::-;5034:89;5072:6;5034:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:19:40;;;;;;:11;:19;;;;;;5054:12;:10;:12::i;:::-;-1:-1:-1;;;;;5034:33:40;;;;;;;;;;;;-1:-1:-1;5034:33:40;;;:89;;:37;:89;:::i;:::-;5003:8;:121::i;:::-;-1:-1:-1;5141:4:40;4835:317;;;;;:::o;3068:81::-;3133:9;;;;3068:81;:::o;5547:215::-;5635:4;5651:83;5660:12;:10;:12::i;:::-;5674:7;5683:50;5722:10;5683:11;:25;5695:12;:10;:12::i;:::-;-1:-1:-1;;;;;5683:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;5683:25:40;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3365:117::-;-1:-1:-1;;;;;3457:18:40;3431:7;3457:18;;;:9;:18;;;;;;;3365:117::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;1000:98:6:-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1072:19:6::1;1078:3;1083:7;1072:5;:19::i;:::-;1000:98:::0;;:::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;2360:85:40:-;2431:7;2424:14;;;;;;;;-1:-1:-1;;2424:14:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2399:13;;2424:14;;2431:7;;2424:14;;2431:7;2424:14;;;;;;;;;;;;;;;;;;;;;;;;1104:102:6;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1178:21:6::1;1184:5;1191:7;1178:5;:21::i;6249:266:40:-:0;6342:4;6358:129;6367:12;:10;:12::i;:::-;6381:7;6390:96;6429:15;6390:96;;;;;;;;;;;;;;;;;:11;:25;6402:12;:10;:12::i;:::-;-1:-1:-1;;;;;6390:25:40;;;;;;;;;;;;;;;;;-1:-1:-1;6390:25:40;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3685:172::-;3771:4;3787:42;3797:12;:10;:12::i;:::-;3811:9;3822:6;3787:9;:42::i;3915:149::-;-1:-1:-1;;;;;4030:18:40;;;4004:7;4030:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3915:149::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;598:104:37:-;685:10;598:104;:::o;9313:340:40:-;-1:-1:-1;;;;;9414:19:40;;9406:68;;;;-1:-1:-1;;;9406:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9492:21:40;;9484:68;;;;-1:-1:-1;;;9484:68:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9563:18:40;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9614:32;;;;;;;;;;;;;;;;;9313:340;;;:::o;6989:530::-;-1:-1:-1;;;;;7094:20:40;;7086:70;;;;-1:-1:-1;;;7086:70:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7174:23:40;;7166:71;;;;-1:-1:-1;;;7166:71:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:47;7269:6;7277:9;7288:6;7248:20;:47::i;:::-;7326:71;7348:6;7326:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7326:17:40;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7306:17:40;;;;;;;:9;:17;;;;;;:91;;;;7430:20;;;;;;;:32;;7455:6;7430:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7407:20:40;;;;;;;:9;:20;;;;;;;;;:55;;;;7477:35;;;;;;;7407:20;;7477:35;;;;-1:-1:-1;;;;;;;;;;;7477:35:40;;;;;;;;6989:530;;;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;7790:370:40:-;-1:-1:-1;;;;;7873:21:40;;7865:65;;;;;-1:-1:-1;;;7865:65:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:49;7970:1;7974:7;7983:6;7941:20;:49::i;:::-;8016:12;;:24;;8033:6;8016:24;:16;:24;:::i;:::-;8001:12;:39;-1:-1:-1;;;;;8071:18:40;;;;;;:9;:18;;;;;;:30;;8094:6;8071:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;8050:18:40;;;;;;:9;:18;;;;;;;;:51;;;;8116:37;;;;;;;8050:18;;;;-1:-1:-1;;;;;;;;;;;8116:37:40;;;;;;;;;7790:370;;:::o;8480:410::-;-1:-1:-1;;;;;8563:21:40;;8555:67;;;;-1:-1:-1;;;8555:67:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8633:49;8654:7;8671:1;8675:6;8633:20;:49::i;:::-;8714:68;8737:6;8714:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8714:18:40;;;;;;:9;:18;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;8693:18:40;;;;;;:9;:18;;;;;:89;8807:12;;:24;;8824:6;8807:24;:16;:24;:::i;:::-;8792:12;:39;8846:37;;;;;;;;8872:1;;-1:-1:-1;;;;;8846:37:40;;;-1:-1:-1;;;;;;;;;;;8846:37:40;;;;;;;;8480:410;;:::o;10651:92::-;;;;:::o;1329:134:39:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i", "source": "pragma solidity ^0.6.2;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title FakeUSDC\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\n@notice the FakeUSDC contract is used to simulate an ERC20 with uniswap on kovan\n**/\ncontract FakeUSDC is Ownable, ERC20 {\n constructor() public ERC20(\"USDC\", \"USDC\") {\n _Mint(msg.sender, 1000000000000000000000000000);\n _Mint(\n 0x84166f7C1C8BB78C6553556bBa3433fe2eB5ED26,\n 1000000000000000000000000000\n );\n _Mint(\n 0x09AF8e15eB40A53265e3FD71897189B363B70530,\n 1000000000000000000000000000\n );\n _Mint(\n 0xCAA6b1207bBE1393e6F039c0f91018Bf860C885e,\n 1000000000000000000000000000\n );\n }\n\n function _Mint(address _to, uint256 _amount) public onlyOwner {\n _mint(_to, _amount);\n }\n\n function _Burn(address _from, uint256 _amount) public onlyOwner {\n _burn(_from, _amount);\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", "exportedSymbols": { "FakeUSDC": [ - 1941 + 1971 ] }, - "id": 1942, + "id": 1972, "nodeType": "SourceUnit", "nodes": [ { - "id": 1874, + "id": 1904, "literals": [ "solidity", "^", @@ -404,10 +404,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1875, + "id": 1905, "nodeType": "ImportDirective", - "scope": 1942, - "sourceUnit": 10599, + "scope": 1972, + "sourceUnit": 10762, "src": "25:60:6", "symbolAliases": [], "unitAlias": "" @@ -415,10 +415,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1876, + "id": 1906, "nodeType": "ImportDirective", - "scope": 1942, - "sourceUnit": 11302, + "scope": 1972, + "sourceUnit": 11461, "src": "86:63:6", "symbolAliases": [], "unitAlias": "" @@ -430,17 +430,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1878, + "id": 1908, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "497:7:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1879, + "id": 1909, "nodeType": "InheritanceSpecifier", "src": "497:7:6" }, @@ -448,49 +448,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1880, + "id": 1910, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "506:5:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1881, + "id": 1911, "nodeType": "InheritanceSpecifier", "src": "506:5:6" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1877, + "id": 1907, "nodeType": "StructuredDocumentation", "src": "387:88:6", "text": "@notice the FakeUSDC contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1941, + "id": 1971, "linearizedBaseContracts": [ - 1941, - 11301, - 11379, - 10598, - 10489 + 1971, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeUSDC", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1909, + "id": 1939, "nodeType": "Block", "src": "561:433:6", "statements": [ @@ -502,7 +502,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1889, + "id": 1919, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -513,7 +513,7 @@ "typeString": "msg" } }, - "id": 1890, + "id": 1920, "isConstant": false, "isLValue": false, "isPure": false, @@ -530,7 +530,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1891, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, @@ -557,18 +557,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1888, + "id": 1918, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "571:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1892, + "id": 1922, "isConstant": false, "isLValue": false, "isPure": false, @@ -583,7 +583,7 @@ "typeString": "tuple()" } }, - "id": 1893, + "id": 1923, "nodeType": "ExpressionStatement", "src": "571:47:6" }, @@ -594,7 +594,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1895, + "id": 1925, "isConstant": false, "isLValue": false, "isPure": true, @@ -612,7 +612,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1896, + "id": 1926, "isConstant": false, "isLValue": false, "isPure": true, @@ -639,18 +639,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1894, + "id": 1924, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "628:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1897, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -665,7 +665,7 @@ "typeString": "tuple()" } }, - "id": 1898, + "id": 1928, "nodeType": "ExpressionStatement", "src": "628:113:6" }, @@ -676,7 +676,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1900, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, @@ -694,7 +694,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1901, + "id": 1931, "isConstant": false, "isLValue": false, "isPure": true, @@ -721,18 +721,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1899, + "id": 1929, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "751:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1902, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -747,7 +747,7 @@ "typeString": "tuple()" } }, - "id": 1903, + "id": 1933, "nodeType": "ExpressionStatement", "src": "751:113:6" }, @@ -758,7 +758,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1905, + "id": 1935, "isConstant": false, "isLValue": false, "isPure": true, @@ -776,7 +776,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1906, + "id": 1936, "isConstant": false, "isLValue": false, "isPure": true, @@ -803,18 +803,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1904, + "id": 1934, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "874:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1907, + "id": 1937, "isConstant": false, "isLValue": false, "isPure": false, @@ -829,14 +829,14 @@ "typeString": "tuple()" } }, - "id": 1908, + "id": 1938, "nodeType": "ExpressionStatement", "src": "874:113:6" } ] }, "documentation": null, - "id": 1910, + "id": 1940, "implemented": true, "kind": "constructor", "modifiers": [ @@ -845,7 +845,7 @@ { "argumentTypes": null, "hexValue": "55534443", - "id": 1884, + "id": 1914, "isConstant": false, "isLValue": false, "isPure": true, @@ -863,7 +863,7 @@ { "argumentTypes": null, "hexValue": "55534443", - "id": 1885, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": true, @@ -879,17 +879,17 @@ "value": "USDC" } ], - "id": 1886, + "id": 1916, "modifierName": { "argumentTypes": null, - "id": 1883, + "id": 1913, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "539:5:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -901,18 +901,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1882, + "id": 1912, "nodeType": "ParameterList", "parameters": [], "src": "529:2:6" }, "returnParameters": { - "id": 1887, + "id": 1917, "nodeType": "ParameterList", "parameters": [], "src": "561:0:6" }, - "scope": 1941, + "scope": 1971, "src": "518:476:6", "stateMutability": "nonpayable", "virtual": false, @@ -920,7 +920,7 @@ }, { "body": { - "id": 1924, + "id": 1954, "nodeType": "Block", "src": "1062:36:6", "statements": [ @@ -930,11 +930,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1920, + "id": 1950, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1912, + "referencedDeclaration": 1942, "src": "1078:3:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -943,11 +943,11 @@ }, { "argumentTypes": null, - "id": 1921, + "id": 1951, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1914, + "referencedDeclaration": 1944, "src": "1083:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -966,18 +966,18 @@ "typeString": "uint256" } ], - "id": 1919, + "id": 1949, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1072:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1922, + "id": 1952, "isConstant": false, "isLValue": false, "isPure": false, @@ -992,7 +992,7 @@ "typeString": "tuple()" } }, - "id": 1923, + "id": 1953, "nodeType": "ExpressionStatement", "src": "1072:19:6" } @@ -1000,20 +1000,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1925, + "id": 1955, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1917, + "id": 1947, "modifierName": { "argumentTypes": null, - "id": 1916, + "id": 1946, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1052:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1028,17 +1028,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1915, + "id": 1945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1912, + "id": 1942, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1925, + "scope": 1955, "src": "1015:11:6", "stateVariable": false, "storageLocation": "default", @@ -1047,7 +1047,7 @@ "typeString": "address" }, "typeName": { - "id": 1911, + "id": 1941, "name": "address", "nodeType": "ElementaryTypeName", "src": "1015:7:6", @@ -1062,12 +1062,12 @@ }, { "constant": false, - "id": 1914, + "id": 1944, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1925, + "scope": 1955, "src": "1028:15:6", "stateVariable": false, "storageLocation": "default", @@ -1076,7 +1076,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1913, + "id": 1943, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1028:7:6", @@ -1092,12 +1092,12 @@ "src": "1014:30:6" }, "returnParameters": { - "id": 1918, + "id": 1948, "nodeType": "ParameterList", "parameters": [], "src": "1062:0:6" }, - "scope": 1941, + "scope": 1971, "src": "1000:98:6", "stateMutability": "nonpayable", "virtual": false, @@ -1105,7 +1105,7 @@ }, { "body": { - "id": 1939, + "id": 1969, "nodeType": "Block", "src": "1168:38:6", "statements": [ @@ -1115,11 +1115,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1935, + "id": 1965, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, + "referencedDeclaration": 1957, "src": "1184:5:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1128,11 +1128,11 @@ }, { "argumentTypes": null, - "id": 1936, + "id": 1966, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1929, + "referencedDeclaration": 1959, "src": "1191:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1151,18 +1151,18 @@ "typeString": "uint256" } ], - "id": 1934, + "id": 1964, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1178:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1937, + "id": 1967, "isConstant": false, "isLValue": false, "isPure": false, @@ -1177,7 +1177,7 @@ "typeString": "tuple()" } }, - "id": 1938, + "id": 1968, "nodeType": "ExpressionStatement", "src": "1178:21:6" } @@ -1185,20 +1185,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1940, + "id": 1970, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1932, + "id": 1962, "modifierName": { "argumentTypes": null, - "id": 1931, + "id": 1961, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1158:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1213,17 +1213,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1930, + "id": 1960, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1927, + "id": 1957, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1940, + "scope": 1970, "src": "1119:13:6", "stateVariable": false, "storageLocation": "default", @@ -1232,7 +1232,7 @@ "typeString": "address" }, "typeName": { - "id": 1926, + "id": 1956, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:6", @@ -1247,12 +1247,12 @@ }, { "constant": false, - "id": 1929, + "id": 1959, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1940, + "scope": 1970, "src": "1134:15:6", "stateVariable": false, "storageLocation": "default", @@ -1261,7 +1261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1928, + "id": 1958, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:6", @@ -1277,36 +1277,36 @@ "src": "1118:32:6" }, "returnParameters": { - "id": 1933, + "id": 1963, "nodeType": "ParameterList", "parameters": [], "src": "1168:0:6" }, - "scope": 1941, + "scope": 1971, "src": "1104:102:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1942, + "scope": 1972, "src": "476:732:6" } ], "src": "0:1209:6" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/FakeTokens/FakeUSDC.sol", "exportedSymbols": { "FakeUSDC": [ - 1941 + 1971 ] }, - "id": 1942, + "id": 1972, "nodeType": "SourceUnit", "nodes": [ { - "id": 1874, + "id": 1904, "literals": [ "solidity", "^", @@ -1319,10 +1319,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 1875, + "id": 1905, "nodeType": "ImportDirective", - "scope": 1942, - "sourceUnit": 10599, + "scope": 1972, + "sourceUnit": 10762, "src": "25:60:6", "symbolAliases": [], "unitAlias": "" @@ -1330,10 +1330,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 1876, + "id": 1906, "nodeType": "ImportDirective", - "scope": 1942, - "sourceUnit": 11302, + "scope": 1972, + "sourceUnit": 11461, "src": "86:63:6", "symbolAliases": [], "unitAlias": "" @@ -1345,17 +1345,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1878, + "id": 1908, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "497:7:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 1879, + "id": 1909, "nodeType": "InheritanceSpecifier", "src": "497:7:6" }, @@ -1363,49 +1363,49 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 1880, + "id": 1910, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "506:5:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$11301", + "typeIdentifier": "t_contract$_ERC20_$11460", "typeString": "contract ERC20" } }, - "id": 1881, + "id": 1911, "nodeType": "InheritanceSpecifier", "src": "506:5:6" } ], "contractDependencies": [ - 10489, - 10598, - 11301, - 11379 + 10652, + 10761, + 11460, + 11538 ], "contractKind": "contract", "documentation": { - "id": 1877, + "id": 1907, "nodeType": "StructuredDocumentation", "src": "387:88:6", "text": "@notice the FakeUSDC contract is used to simulate an ERC20 with uniswap on kovan*" }, "fullyImplemented": true, - "id": 1941, + "id": 1971, "linearizedBaseContracts": [ - 1941, - 11301, - 11379, - 10598, - 10489 + 1971, + 11460, + 11538, + 10761, + 10652 ], "name": "FakeUSDC", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1909, + "id": 1939, "nodeType": "Block", "src": "561:433:6", "statements": [ @@ -1417,7 +1417,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1889, + "id": 1919, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1428,7 +1428,7 @@ "typeString": "msg" } }, - "id": 1890, + "id": 1920, "isConstant": false, "isLValue": false, "isPure": false, @@ -1445,7 +1445,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1891, + "id": 1921, "isConstant": false, "isLValue": false, "isPure": true, @@ -1472,18 +1472,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1888, + "id": 1918, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "571:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1892, + "id": 1922, "isConstant": false, "isLValue": false, "isPure": false, @@ -1498,7 +1498,7 @@ "typeString": "tuple()" } }, - "id": 1893, + "id": 1923, "nodeType": "ExpressionStatement", "src": "571:47:6" }, @@ -1509,7 +1509,7 @@ { "argumentTypes": null, "hexValue": "307838343136366637433143384242373843363535333535366242613334333366653265423545443236", - "id": 1895, + "id": 1925, "isConstant": false, "isLValue": false, "isPure": true, @@ -1527,7 +1527,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1896, + "id": 1926, "isConstant": false, "isLValue": false, "isPure": true, @@ -1554,18 +1554,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1894, + "id": 1924, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "628:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1897, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": false, @@ -1580,7 +1580,7 @@ "typeString": "tuple()" } }, - "id": 1898, + "id": 1928, "nodeType": "ExpressionStatement", "src": "628:113:6" }, @@ -1591,7 +1591,7 @@ { "argumentTypes": null, "hexValue": "307830394146386531356542343041353332363565334644373138393731383942333633423730353330", - "id": 1900, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, @@ -1609,7 +1609,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1901, + "id": 1931, "isConstant": false, "isLValue": false, "isPure": true, @@ -1636,18 +1636,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1899, + "id": 1929, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "751:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1902, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -1662,7 +1662,7 @@ "typeString": "tuple()" } }, - "id": 1903, + "id": 1933, "nodeType": "ExpressionStatement", "src": "751:113:6" }, @@ -1673,7 +1673,7 @@ { "argumentTypes": null, "hexValue": "307843414136623132303762424531333933653646303339633066393130313842663836304338383565", - "id": 1905, + "id": 1935, "isConstant": false, "isLValue": false, "isPure": true, @@ -1691,7 +1691,7 @@ { "argumentTypes": null, "hexValue": "31303030303030303030303030303030303030303030303030303030", - "id": 1906, + "id": 1936, "isConstant": false, "isLValue": false, "isPure": true, @@ -1718,18 +1718,18 @@ "typeString": "int_const 1000000000000000000000000000" } ], - "id": 1904, + "id": 1934, "name": "_Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1925, + "referencedDeclaration": 1955, "src": "874:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1907, + "id": 1937, "isConstant": false, "isLValue": false, "isPure": false, @@ -1744,14 +1744,14 @@ "typeString": "tuple()" } }, - "id": 1908, + "id": 1938, "nodeType": "ExpressionStatement", "src": "874:113:6" } ] }, "documentation": null, - "id": 1910, + "id": 1940, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1760,7 +1760,7 @@ { "argumentTypes": null, "hexValue": "55534443", - "id": 1884, + "id": 1914, "isConstant": false, "isLValue": false, "isPure": true, @@ -1778,7 +1778,7 @@ { "argumentTypes": null, "hexValue": "55534443", - "id": 1885, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": true, @@ -1794,17 +1794,17 @@ "value": "USDC" } ], - "id": 1886, + "id": 1916, "modifierName": { "argumentTypes": null, - "id": 1883, + "id": 1913, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11301, + "referencedDeclaration": 11460, "src": "539:5:6", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$11301_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$11460_$", "typeString": "type(contract ERC20)" } }, @@ -1816,18 +1816,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1882, + "id": 1912, "nodeType": "ParameterList", "parameters": [], "src": "529:2:6" }, "returnParameters": { - "id": 1887, + "id": 1917, "nodeType": "ParameterList", "parameters": [], "src": "561:0:6" }, - "scope": 1941, + "scope": 1971, "src": "518:476:6", "stateMutability": "nonpayable", "virtual": false, @@ -1835,7 +1835,7 @@ }, { "body": { - "id": 1924, + "id": 1954, "nodeType": "Block", "src": "1062:36:6", "statements": [ @@ -1845,11 +1845,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1920, + "id": 1950, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1912, + "referencedDeclaration": 1942, "src": "1078:3:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1858,11 +1858,11 @@ }, { "argumentTypes": null, - "id": 1921, + "id": 1951, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1914, + "referencedDeclaration": 1944, "src": "1083:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1881,18 +1881,18 @@ "typeString": "uint256" } ], - "id": 1919, + "id": 1949, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11177, + "referencedDeclaration": 11336, "src": "1072:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1922, + "id": 1952, "isConstant": false, "isLValue": false, "isPure": false, @@ -1907,7 +1907,7 @@ "typeString": "tuple()" } }, - "id": 1923, + "id": 1953, "nodeType": "ExpressionStatement", "src": "1072:19:6" } @@ -1915,20 +1915,20 @@ }, "documentation": null, "functionSelector": "7d21ce4d", - "id": 1925, + "id": 1955, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1917, + "id": 1947, "modifierName": { "argumentTypes": null, - "id": 1916, + "id": 1946, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1052:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1943,17 +1943,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1915, + "id": 1945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1912, + "id": 1942, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1925, + "scope": 1955, "src": "1015:11:6", "stateVariable": false, "storageLocation": "default", @@ -1962,7 +1962,7 @@ "typeString": "address" }, "typeName": { - "id": 1911, + "id": 1941, "name": "address", "nodeType": "ElementaryTypeName", "src": "1015:7:6", @@ -1977,12 +1977,12 @@ }, { "constant": false, - "id": 1914, + "id": 1944, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1925, + "scope": 1955, "src": "1028:15:6", "stateVariable": false, "storageLocation": "default", @@ -1991,7 +1991,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1913, + "id": 1943, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1028:7:6", @@ -2007,12 +2007,12 @@ "src": "1014:30:6" }, "returnParameters": { - "id": 1918, + "id": 1948, "nodeType": "ParameterList", "parameters": [], "src": "1062:0:6" }, - "scope": 1941, + "scope": 1971, "src": "1000:98:6", "stateMutability": "nonpayable", "virtual": false, @@ -2020,7 +2020,7 @@ }, { "body": { - "id": 1939, + "id": 1969, "nodeType": "Block", "src": "1168:38:6", "statements": [ @@ -2030,11 +2030,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1935, + "id": 1965, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1927, + "referencedDeclaration": 1957, "src": "1184:5:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2043,11 +2043,11 @@ }, { "argumentTypes": null, - "id": 1936, + "id": 1966, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1929, + "referencedDeclaration": 1959, "src": "1191:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2066,18 +2066,18 @@ "typeString": "uint256" } ], - "id": 1934, + "id": 1964, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11233, + "referencedDeclaration": 11392, "src": "1178:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 1937, + "id": 1967, "isConstant": false, "isLValue": false, "isPure": false, @@ -2092,7 +2092,7 @@ "typeString": "tuple()" } }, - "id": 1938, + "id": 1968, "nodeType": "ExpressionStatement", "src": "1178:21:6" } @@ -2100,20 +2100,20 @@ }, "documentation": null, "functionSelector": "96615aa3", - "id": 1940, + "id": 1970, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1932, + "id": 1962, "modifierName": { "argumentTypes": null, - "id": 1931, + "id": 1961, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1158:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -2128,17 +2128,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1930, + "id": 1960, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1927, + "id": 1957, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1940, + "scope": 1970, "src": "1119:13:6", "stateVariable": false, "storageLocation": "default", @@ -2147,7 +2147,7 @@ "typeString": "address" }, "typeName": { - "id": 1926, + "id": 1956, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:6", @@ -2162,12 +2162,12 @@ }, { "constant": false, - "id": 1929, + "id": 1959, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1940, + "scope": 1970, "src": "1134:15:6", "stateVariable": false, "storageLocation": "default", @@ -2176,7 +2176,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1928, + "id": 1958, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:6", @@ -2192,19 +2192,19 @@ "src": "1118:32:6" }, "returnParameters": { - "id": 1933, + "id": 1963, "nodeType": "ParameterList", "parameters": [], "src": "1168:0:6" }, - "scope": 1941, + "scope": 1971, "src": "1104:102:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 1942, + "scope": 1972, "src": "476:732:6" } ], @@ -2288,8 +2288,8 @@ } }, "links": {}, - "address": "0x541654CFf5A94CC0F7CDDf94E2822CF422a45D5e", - "transactionHash": "0x078f5819dde97f8442d4fb563855086f00f401d2fa71b5a2914533feadd14eec" + "address": "0x652920EB993eD4bdec4191C00343132Ebc530ce5", + "transactionHash": "0x211bb054c2151f2c3a641e2a0e7052ed24d1d2305f89145931141cf026f36155" }, "1607622663952": { "events": { @@ -2366,10 +2366,86 @@ "links": {}, "address": "0xeAe12C6AAA46c9027E163958C6A6276F21f64fEd", "transactionHash": "0x3ce66de51d205b8b39ff0c801d9f60e63a5de32cd16e8417e089b9b060f927b1" + }, + "1607733595468": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + } + }, + "links": {}, + "address": "0xf316728024BC2Ea923A3F94F500a6Fe66461A8B6", + "transactionHash": "0x0d451383d8ee0ab8921610fd381cc64b2b760d72ddb451ced5ead7cee004ea27" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.048Z", + "updatedAt": "2020-12-12T01:26:53.361Z", "networkType": "ethereum", "devdoc": { "methods": { @@ -2410,7 +2486,7 @@ "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." + "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." diff --git a/AskoLend-contracts/build/contracts/FixedPoint.json b/AskoLend-contracts/build/contracts/FixedPoint.json index d0d3e468..854ba00d 100644 --- a/AskoLend-contracts/build/contracts/FixedPoint.json +++ b/AskoLend-contracts/build/contracts/FixedPoint.json @@ -13,14 +13,14 @@ "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "exportedSymbols": { "FixedPoint": [ - 6809 + 6972 ] }, - "id": 6810, + "id": 6973, "nodeType": "SourceUnit", "nodes": [ { - "id": 6634, + "id": 6797, "literals": [ "solidity", ">=", @@ -37,25 +37,25 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 6809, + "id": 6972, "linearizedBaseContracts": [ - 6809 + 6972 ], "name": "FixedPoint", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "FixedPoint.uq112x112", - "id": 6637, + "id": 6800, "members": [ { "constant": false, - "id": 6636, + "id": 6799, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6637, + "scope": 6800, "src": "241:10:25", "stateVariable": false, "storageLocation": "default", @@ -64,7 +64,7 @@ "typeString": "uint224" }, "typeName": { - "id": 6635, + "id": 6798, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "241:7:25", @@ -79,22 +79,22 @@ ], "name": "uq112x112", "nodeType": "StructDefinition", - "scope": 6809, + "scope": 6972, "src": "214:44:25", "visibility": "public" }, { "canonicalName": "FixedPoint.uq144x112", - "id": 6640, + "id": 6803, "members": [ { "constant": false, - "id": 6639, + "id": 6802, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6640, + "scope": 6803, "src": "351:7:25", "stateVariable": false, "storageLocation": "default", @@ -103,7 +103,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6638, + "id": 6801, "name": "uint", "nodeType": "ElementaryTypeName", "src": "351:4:25", @@ -118,18 +118,18 @@ ], "name": "uq144x112", "nodeType": "StructDefinition", - "scope": 6809, + "scope": 6972, "src": "324:41:25", "visibility": "public" }, { "constant": true, - "id": 6643, + "id": 6806, "mutability": "constant", "name": "RESOLUTION", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6809, + "scope": 6972, "src": "371:39:25", "stateVariable": true, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "uint8" }, "typeName": { - "id": 6641, + "id": 6804, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "371:5:25", @@ -150,7 +150,7 @@ "value": { "argumentTypes": null, "hexValue": "313132", - "id": 6642, + "id": 6805, "isConstant": false, "isLValue": false, "isPure": true, @@ -169,7 +169,7 @@ }, { "body": { - "id": 6659, + "id": 6822, "nodeType": "Block", "src": "524:59:25", "statements": [ @@ -183,7 +183,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6656, + "id": 6819, "isConstant": false, "isLValue": false, "isPure": false, @@ -193,11 +193,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6653, + "id": 6816, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6645, + "referencedDeclaration": 6808, "src": "559:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -212,7 +212,7 @@ "typeString": "uint112" } ], - "id": 6652, + "id": 6815, "isConstant": false, "isLValue": false, "isPure": true, @@ -224,7 +224,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6651, + "id": 6814, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "551:7:25", @@ -234,7 +234,7 @@ } } }, - "id": 6654, + "id": 6817, "isConstant": false, "isLValue": false, "isPure": false, @@ -253,11 +253,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6655, + "id": 6818, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "565:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -278,18 +278,18 @@ "typeString": "uint224" } ], - "id": 6650, + "id": 6813, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "541:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6657, + "id": 6820, "isConstant": false, "isLValue": false, "isPure": false, @@ -300,19 +300,19 @@ "src": "541:35:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6649, - "id": 6658, + "functionReturnParameters": 6812, + "id": 6821, "nodeType": "Return", "src": "534:42:25" } ] }, "documentation": null, - "id": 6660, + "id": 6823, "implemented": true, "kind": "function", "modifiers": [], @@ -320,17 +320,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6646, + "id": 6809, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6645, + "id": 6808, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6660, + "scope": 6823, "src": "472:9:25", "stateVariable": false, "storageLocation": "default", @@ -339,7 +339,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6644, + "id": 6807, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "472:7:25", @@ -355,33 +355,33 @@ "src": "471:11:25" }, "returnParameters": { - "id": 6649, + "id": 6812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6648, + "id": 6811, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6660, + "scope": 6823, "src": "506:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6647, + "id": 6810, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "506:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -391,7 +391,7 @@ ], "src": "505:18:25" }, - "scope": 6809, + "scope": 6972, "src": "456:127:25", "stateMutability": "pure", "virtual": false, @@ -399,7 +399,7 @@ }, { "body": { - "id": 6676, + "id": 6839, "nodeType": "Block", "src": "700:59:25", "statements": [ @@ -413,7 +413,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6673, + "id": 6836, "isConstant": false, "isLValue": false, "isPure": false, @@ -423,11 +423,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6670, + "id": 6833, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6662, + "referencedDeclaration": 6825, "src": "735:1:25", "typeDescriptions": { "typeIdentifier": "t_uint144", @@ -442,7 +442,7 @@ "typeString": "uint144" } ], - "id": 6669, + "id": 6832, "isConstant": false, "isLValue": false, "isPure": true, @@ -454,7 +454,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6668, + "id": 6831, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "727:7:25", @@ -464,7 +464,7 @@ } } }, - "id": 6671, + "id": 6834, "isConstant": false, "isLValue": false, "isPure": false, @@ -483,11 +483,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6672, + "id": 6835, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "741:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -508,18 +508,18 @@ "typeString": "uint256" } ], - "id": 6667, + "id": 6830, "name": "uq144x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "717:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq144x112_$6640_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq144x112_$6803_storage_ptr_$", "typeString": "type(struct FixedPoint.uq144x112 storage pointer)" } }, - "id": 6674, + "id": 6837, "isConstant": false, "isLValue": false, "isPure": false, @@ -530,19 +530,19 @@ "src": "717:35:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "functionReturnParameters": 6666, - "id": 6675, + "functionReturnParameters": 6829, + "id": 6838, "nodeType": "Return", "src": "710:42:25" } ] }, "documentation": null, - "id": 6677, + "id": 6840, "implemented": true, "kind": "function", "modifiers": [], @@ -550,17 +550,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6663, + "id": 6826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6662, + "id": 6825, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6677, + "scope": 6840, "src": "648:9:25", "stateVariable": false, "storageLocation": "default", @@ -569,7 +569,7 @@ "typeString": "uint144" }, "typeName": { - "id": 6661, + "id": 6824, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "648:7:25", @@ -585,33 +585,33 @@ "src": "647:11:25" }, "returnParameters": { - "id": 6666, + "id": 6829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6665, + "id": 6828, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6677, + "scope": 6840, "src": "682:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6664, + "id": 6827, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "682:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -621,7 +621,7 @@ ], "src": "681:18:25" }, - "scope": 6809, + "scope": 6972, "src": "629:130:25", "stateMutability": "pure", "virtual": false, @@ -629,7 +629,7 @@ }, { "body": { - "id": 6703, + "id": 6866, "nodeType": "Block", "src": "915:107:25", "statements": [ @@ -643,18 +643,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 6689, + "id": 6852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6687, + "id": 6850, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6681, + "referencedDeclaration": 6844, "src": "933:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -666,7 +666,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6688, + "id": 6851, "isConstant": false, "isLValue": false, "isPure": true, @@ -690,7 +690,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204449565f42595f5a45524f", - "id": 6690, + "id": 6853, "isConstant": false, "isLValue": false, "isPure": true, @@ -717,7 +717,7 @@ "typeString": "literal_string \"FixedPoint: DIV_BY_ZERO\"" } ], - "id": 6686, + "id": 6849, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -731,7 +731,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6691, + "id": 6854, "isConstant": false, "isLValue": false, "isPure": false, @@ -746,7 +746,7 @@ "typeString": "tuple()" } }, - "id": 6692, + "id": 6855, "nodeType": "ExpressionStatement", "src": "925:42:25" }, @@ -760,7 +760,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6700, + "id": 6863, "isConstant": false, "isLValue": false, "isPure": false, @@ -769,25 +769,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6694, + "id": 6857, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6679, + "referencedDeclaration": 6842, "src": "994:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6695, + "id": 6858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "994:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -801,11 +801,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6698, + "id": 6861, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6681, + "referencedDeclaration": 6844, "src": "1012:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -820,7 +820,7 @@ "typeString": "uint112" } ], - "id": 6697, + "id": 6860, "isConstant": false, "isLValue": false, "isPure": true, @@ -832,7 +832,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6696, + "id": 6859, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "1004:7:25", @@ -842,7 +842,7 @@ } } }, - "id": 6699, + "id": 6862, "isConstant": false, "isLValue": false, "isPure": false, @@ -871,18 +871,18 @@ "typeString": "uint224" } ], - "id": 6693, + "id": 6856, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "984:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6701, + "id": 6864, "isConstant": false, "isLValue": false, "isPure": false, @@ -893,19 +893,19 @@ "src": "984:31:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6685, - "id": 6702, + "functionReturnParameters": 6848, + "id": 6865, "nodeType": "Return", "src": "977:38:25" } ] }, "documentation": null, - "id": 6704, + "id": 6867, "implemented": true, "kind": "function", "modifiers": [], @@ -913,33 +913,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6682, + "id": 6845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6679, + "id": 6842, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "840:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6678, + "id": 6841, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "840:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -948,12 +948,12 @@ }, { "constant": false, - "id": 6681, + "id": 6844, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "863:9:25", "stateVariable": false, "storageLocation": "default", @@ -962,7 +962,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6680, + "id": 6843, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "863:7:25", @@ -978,33 +978,33 @@ "src": "839:34:25" }, "returnParameters": { - "id": 6685, + "id": 6848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6684, + "id": 6847, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "897:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6683, + "id": 6846, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "897:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -1014,7 +1014,7 @@ ], "src": "896:18:25" }, - "scope": 6809, + "scope": 6972, "src": "827:195:25", "stateMutability": "pure", "virtual": false, @@ -1022,23 +1022,23 @@ }, { "body": { - "id": 6746, + "id": 6909, "nodeType": "Block", "src": "1201:164:25", "statements": [ { "assignments": [ - 6714 + 6877 ], "declarations": [ { "constant": false, - "id": 6714, + "id": 6877, "mutability": "mutable", "name": "z", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6746, + "scope": 6909, "src": "1211:6:25", "stateVariable": false, "storageLocation": "default", @@ -1047,7 +1047,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6713, + "id": 6876, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1211:4:25", @@ -1060,7 +1060,7 @@ "visibility": "internal" } ], - "id": 6715, + "id": 6878, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "1211:6:25" @@ -1075,7 +1075,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6738, + "id": 6901, "isConstant": false, "isLValue": false, "isPure": false, @@ -1086,18 +1086,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6719, + "id": 6882, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6717, + "id": 6880, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1235:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1109,7 +1109,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6718, + "id": 6881, "isConstant": false, "isLValue": false, "isPure": true, @@ -1138,7 +1138,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6737, + "id": 6900, "isConstant": false, "isLValue": false, "isPure": false, @@ -1149,7 +1149,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6731, + "id": 6894, "isConstant": false, "isLValue": false, "isPure": false, @@ -1159,18 +1159,18 @@ "components": [ { "argumentTypes": null, - "id": 6728, + "id": 6891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6720, + "id": 6883, "name": "z", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6877, "src": "1246:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1185,7 +1185,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6727, + "id": 6890, "isConstant": false, "isLValue": false, "isPure": false, @@ -1197,25 +1197,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6723, + "id": 6886, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, + "referencedDeclaration": 6869, "src": "1255:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6724, + "id": 6887, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1255:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -1230,7 +1230,7 @@ "typeString": "uint224" } ], - "id": 6722, + "id": 6885, "isConstant": false, "isLValue": false, "isPure": true, @@ -1242,7 +1242,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6721, + "id": 6884, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1250:4:25", @@ -1252,7 +1252,7 @@ } } }, - "id": 6725, + "id": 6888, "isConstant": false, "isLValue": false, "isPure": false, @@ -1271,11 +1271,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 6726, + "id": 6889, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1266:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1295,7 +1295,7 @@ } } ], - "id": 6729, + "id": 6892, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1312,11 +1312,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6730, + "id": 6893, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1271:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1338,25 +1338,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6734, + "id": 6897, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, + "referencedDeclaration": 6869, "src": "1281:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6735, + "id": 6898, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1281:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -1371,7 +1371,7 @@ "typeString": "uint224" } ], - "id": 6733, + "id": 6896, "isConstant": false, "isLValue": false, "isPure": true, @@ -1383,7 +1383,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6732, + "id": 6895, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1276:4:25", @@ -1393,7 +1393,7 @@ } } }, - "id": 6736, + "id": 6899, "isConstant": false, "isLValue": false, "isPure": false, @@ -1423,7 +1423,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57", - "id": 6739, + "id": 6902, "isConstant": false, "isLValue": false, "isPure": true, @@ -1450,7 +1450,7 @@ "typeString": "literal_string \"FixedPoint: MULTIPLICATION_OVERFLOW\"" } ], - "id": 6716, + "id": 6879, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1464,7 +1464,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6740, + "id": 6903, "isConstant": false, "isLValue": false, "isPure": false, @@ -1479,7 +1479,7 @@ "typeString": "tuple()" } }, - "id": 6741, + "id": 6904, "nodeType": "ExpressionStatement", "src": "1227:102:25" }, @@ -1489,11 +1489,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6743, + "id": 6906, "name": "z", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6877, "src": "1356:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1508,18 +1508,18 @@ "typeString": "uint256" } ], - "id": 6742, + "id": 6905, "name": "uq144x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "1346:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq144x112_$6640_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq144x112_$6803_storage_ptr_$", "typeString": "type(struct FixedPoint.uq144x112 storage pointer)" } }, - "id": 6744, + "id": 6907, "isConstant": false, "isLValue": false, "isPure": false, @@ -1530,19 +1530,19 @@ "src": "1346:12:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "functionReturnParameters": 6712, - "id": 6745, + "functionReturnParameters": 6875, + "id": 6908, "nodeType": "Return", "src": "1339:19:25" } ] }, "documentation": null, - "id": 6747, + "id": 6910, "implemented": true, "kind": "function", "modifiers": [], @@ -1550,33 +1550,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6709, + "id": 6872, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6706, + "id": 6869, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1129:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6705, + "id": 6868, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1129:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -1585,12 +1585,12 @@ }, { "constant": false, - "id": 6708, + "id": 6871, "mutability": "mutable", "name": "y", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1152:6:25", "stateVariable": false, "storageLocation": "default", @@ -1599,7 +1599,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6707, + "id": 6870, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1152:4:25", @@ -1615,33 +1615,33 @@ "src": "1128:31:25" }, "returnParameters": { - "id": 6712, + "id": 6875, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6711, + "id": 6874, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1183:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6710, + "id": 6873, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "1183:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -1651,7 +1651,7 @@ ], "src": "1182:18:25" }, - "scope": 6809, + "scope": 6972, "src": "1116:249:25", "stateMutability": "pure", "virtual": false, @@ -1659,7 +1659,7 @@ }, { "body": { - "id": 6775, + "id": 6938, "nodeType": "Block", "src": "1616:144:25", "statements": [ @@ -1673,18 +1673,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 6759, + "id": 6922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6757, + "id": 6920, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6751, + "referencedDeclaration": 6914, "src": "1634:11:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1696,7 +1696,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6758, + "id": 6921, "isConstant": false, "isLValue": false, "isPure": true, @@ -1720,7 +1720,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204449565f42595f5a45524f", - "id": 6760, + "id": 6923, "isConstant": false, "isLValue": false, "isPure": true, @@ -1747,7 +1747,7 @@ "typeString": "literal_string \"FixedPoint: DIV_BY_ZERO\"" } ], - "id": 6756, + "id": 6919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1761,7 +1761,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6761, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": false, @@ -1776,7 +1776,7 @@ "typeString": "tuple()" } }, - "id": 6762, + "id": 6925, "nodeType": "ExpressionStatement", "src": "1626:51:25" }, @@ -1790,7 +1790,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6772, + "id": 6935, "isConstant": false, "isLValue": false, "isPure": false, @@ -1804,7 +1804,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6769, + "id": 6932, "isConstant": false, "isLValue": false, "isPure": false, @@ -1814,11 +1814,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6766, + "id": 6929, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6749, + "referencedDeclaration": 6912, "src": "1713:9:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1833,7 +1833,7 @@ "typeString": "uint112" } ], - "id": 6765, + "id": 6928, "isConstant": false, "isLValue": false, "isPure": true, @@ -1845,7 +1845,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6764, + "id": 6927, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "1705:7:25", @@ -1855,7 +1855,7 @@ } } }, - "id": 6767, + "id": 6930, "isConstant": false, "isLValue": false, "isPure": false, @@ -1874,11 +1874,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6768, + "id": 6931, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "1727:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -1892,7 +1892,7 @@ } } ], - "id": 6770, + "id": 6933, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1909,11 +1909,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6771, + "id": 6934, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6751, + "referencedDeclaration": 6914, "src": "1741:11:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1934,18 +1934,18 @@ "typeString": "uint224" } ], - "id": 6763, + "id": 6926, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1694:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6773, + "id": 6936, "isConstant": false, "isLValue": false, "isPure": false, @@ -1956,19 +1956,19 @@ "src": "1694:59:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6755, - "id": 6774, + "functionReturnParameters": 6918, + "id": 6937, "nodeType": "Return", "src": "1687:66:25" } ] }, "documentation": null, - "id": 6776, + "id": 6939, "implemented": true, "kind": "function", "modifiers": [], @@ -1976,17 +1976,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6752, + "id": 6915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6749, + "id": 6912, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1535:17:25", "stateVariable": false, "storageLocation": "default", @@ -1995,7 +1995,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6748, + "id": 6911, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1535:7:25", @@ -2009,12 +2009,12 @@ }, { "constant": false, - "id": 6751, + "id": 6914, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1554:19:25", "stateVariable": false, "storageLocation": "default", @@ -2023,7 +2023,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6750, + "id": 6913, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1554:7:25", @@ -2039,33 +2039,33 @@ "src": "1534:40:25" }, "returnParameters": { - "id": 6755, + "id": 6918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6754, + "id": 6917, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1598:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6753, + "id": 6916, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1598:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -2075,7 +2075,7 @@ ], "src": "1597:18:25" }, - "scope": 6809, + "scope": 6972, "src": "1517:243:25", "stateMutability": "pure", "virtual": false, @@ -2083,7 +2083,7 @@ }, { "body": { - "id": 6791, + "id": 6954, "nodeType": "Block", "src": "1914:54:25", "statements": [ @@ -2097,7 +2097,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6788, + "id": 6951, "isConstant": false, "isLValue": false, "isPure": false, @@ -2106,25 +2106,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6785, + "id": 6948, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6778, + "referencedDeclaration": 6941, "src": "1939:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6786, + "id": 6949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1939:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -2135,11 +2135,11 @@ "operator": ">>", "rightExpression": { "argumentTypes": null, - "id": 6787, + "id": 6950, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "1950:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -2160,7 +2160,7 @@ "typeString": "uint224" } ], - "id": 6784, + "id": 6947, "isConstant": false, "isLValue": false, "isPure": true, @@ -2172,7 +2172,7 @@ "typeString": "type(uint112)" }, "typeName": { - "id": 6783, + "id": 6946, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1931:7:25", @@ -2182,7 +2182,7 @@ } } }, - "id": 6789, + "id": 6952, "isConstant": false, "isLValue": false, "isPure": false, @@ -2197,15 +2197,15 @@ "typeString": "uint112" } }, - "functionReturnParameters": 6782, - "id": 6790, + "functionReturnParameters": 6945, + "id": 6953, "nodeType": "Return", "src": "1924:37:25" } ] }, "documentation": null, - "id": 6792, + "id": 6955, "implemented": true, "kind": "function", "modifiers": [], @@ -2213,33 +2213,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6779, + "id": 6942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6778, + "id": 6941, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6792, + "scope": 6955, "src": "1859:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6777, + "id": 6940, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1859:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -2250,17 +2250,17 @@ "src": "1858:23:25" }, "returnParameters": { - "id": 6782, + "id": 6945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6781, + "id": 6944, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6792, + "scope": 6955, "src": "1905:7:25", "stateVariable": false, "storageLocation": "default", @@ -2269,7 +2269,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6780, + "id": 6943, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1905:7:25", @@ -2284,7 +2284,7 @@ ], "src": "1904:9:25" }, - "scope": 6809, + "scope": 6972, "src": "1843:125:25", "stateMutability": "pure", "virtual": false, @@ -2292,7 +2292,7 @@ }, { "body": { - "id": 6807, + "id": 6970, "nodeType": "Block", "src": "2125:54:25", "statements": [ @@ -2306,7 +2306,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6804, + "id": 6967, "isConstant": false, "isLValue": false, "isPure": false, @@ -2315,25 +2315,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6801, + "id": 6964, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6794, + "referencedDeclaration": 6957, "src": "2150:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 6802, + "id": 6965, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6639, + "referencedDeclaration": 6802, "src": "2150:7:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2344,11 +2344,11 @@ "operator": ">>", "rightExpression": { "argumentTypes": null, - "id": 6803, + "id": 6966, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "2161:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -2369,7 +2369,7 @@ "typeString": "uint256" } ], - "id": 6800, + "id": 6963, "isConstant": false, "isLValue": false, "isPure": true, @@ -2381,7 +2381,7 @@ "typeString": "type(uint144)" }, "typeName": { - "id": 6799, + "id": 6962, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "2142:7:25", @@ -2391,7 +2391,7 @@ } } }, - "id": 6805, + "id": 6968, "isConstant": false, "isLValue": false, "isPure": false, @@ -2406,15 +2406,15 @@ "typeString": "uint144" } }, - "functionReturnParameters": 6798, - "id": 6806, + "functionReturnParameters": 6961, + "id": 6969, "nodeType": "Return", "src": "2135:37:25" } ] }, "documentation": null, - "id": 6808, + "id": 6971, "implemented": true, "kind": "function", "modifiers": [], @@ -2422,33 +2422,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6795, + "id": 6958, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6794, + "id": 6957, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6808, + "scope": 6971, "src": "2070:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6793, + "id": 6956, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "2070:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -2459,17 +2459,17 @@ "src": "2069:23:25" }, "returnParameters": { - "id": 6798, + "id": 6961, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6797, + "id": 6960, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6808, + "scope": 6971, "src": "2116:7:25", "stateVariable": false, "storageLocation": "default", @@ -2478,7 +2478,7 @@ "typeString": "uint144" }, "typeName": { - "id": 6796, + "id": 6959, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "2116:7:25", @@ -2493,14 +2493,14 @@ ], "src": "2115:9:25" }, - "scope": 6809, + "scope": 6972, "src": "2051:128:25", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6810, + "scope": 6973, "src": "129:2052:25" } ], @@ -2510,14 +2510,14 @@ "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "exportedSymbols": { "FixedPoint": [ - 6809 + 6972 ] }, - "id": 6810, + "id": 6973, "nodeType": "SourceUnit", "nodes": [ { - "id": 6634, + "id": 6797, "literals": [ "solidity", ">=", @@ -2534,25 +2534,25 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 6809, + "id": 6972, "linearizedBaseContracts": [ - 6809 + 6972 ], "name": "FixedPoint", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "FixedPoint.uq112x112", - "id": 6637, + "id": 6800, "members": [ { "constant": false, - "id": 6636, + "id": 6799, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6637, + "scope": 6800, "src": "241:10:25", "stateVariable": false, "storageLocation": "default", @@ -2561,7 +2561,7 @@ "typeString": "uint224" }, "typeName": { - "id": 6635, + "id": 6798, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "241:7:25", @@ -2576,22 +2576,22 @@ ], "name": "uq112x112", "nodeType": "StructDefinition", - "scope": 6809, + "scope": 6972, "src": "214:44:25", "visibility": "public" }, { "canonicalName": "FixedPoint.uq144x112", - "id": 6640, + "id": 6803, "members": [ { "constant": false, - "id": 6639, + "id": 6802, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6640, + "scope": 6803, "src": "351:7:25", "stateVariable": false, "storageLocation": "default", @@ -2600,7 +2600,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6638, + "id": 6801, "name": "uint", "nodeType": "ElementaryTypeName", "src": "351:4:25", @@ -2615,18 +2615,18 @@ ], "name": "uq144x112", "nodeType": "StructDefinition", - "scope": 6809, + "scope": 6972, "src": "324:41:25", "visibility": "public" }, { "constant": true, - "id": 6643, + "id": 6806, "mutability": "constant", "name": "RESOLUTION", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6809, + "scope": 6972, "src": "371:39:25", "stateVariable": true, "storageLocation": "default", @@ -2635,7 +2635,7 @@ "typeString": "uint8" }, "typeName": { - "id": 6641, + "id": 6804, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "371:5:25", @@ -2647,7 +2647,7 @@ "value": { "argumentTypes": null, "hexValue": "313132", - "id": 6642, + "id": 6805, "isConstant": false, "isLValue": false, "isPure": true, @@ -2666,7 +2666,7 @@ }, { "body": { - "id": 6659, + "id": 6822, "nodeType": "Block", "src": "524:59:25", "statements": [ @@ -2680,7 +2680,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6656, + "id": 6819, "isConstant": false, "isLValue": false, "isPure": false, @@ -2690,11 +2690,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6653, + "id": 6816, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6645, + "referencedDeclaration": 6808, "src": "559:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -2709,7 +2709,7 @@ "typeString": "uint112" } ], - "id": 6652, + "id": 6815, "isConstant": false, "isLValue": false, "isPure": true, @@ -2721,7 +2721,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6651, + "id": 6814, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "551:7:25", @@ -2731,7 +2731,7 @@ } } }, - "id": 6654, + "id": 6817, "isConstant": false, "isLValue": false, "isPure": false, @@ -2750,11 +2750,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6655, + "id": 6818, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "565:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -2775,18 +2775,18 @@ "typeString": "uint224" } ], - "id": 6650, + "id": 6813, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "541:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6657, + "id": 6820, "isConstant": false, "isLValue": false, "isPure": false, @@ -2797,19 +2797,19 @@ "src": "541:35:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6649, - "id": 6658, + "functionReturnParameters": 6812, + "id": 6821, "nodeType": "Return", "src": "534:42:25" } ] }, "documentation": null, - "id": 6660, + "id": 6823, "implemented": true, "kind": "function", "modifiers": [], @@ -2817,17 +2817,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6646, + "id": 6809, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6645, + "id": 6808, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6660, + "scope": 6823, "src": "472:9:25", "stateVariable": false, "storageLocation": "default", @@ -2836,7 +2836,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6644, + "id": 6807, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "472:7:25", @@ -2852,33 +2852,33 @@ "src": "471:11:25" }, "returnParameters": { - "id": 6649, + "id": 6812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6648, + "id": 6811, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6660, + "scope": 6823, "src": "506:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6647, + "id": 6810, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "506:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -2888,7 +2888,7 @@ ], "src": "505:18:25" }, - "scope": 6809, + "scope": 6972, "src": "456:127:25", "stateMutability": "pure", "virtual": false, @@ -2896,7 +2896,7 @@ }, { "body": { - "id": 6676, + "id": 6839, "nodeType": "Block", "src": "700:59:25", "statements": [ @@ -2910,7 +2910,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6673, + "id": 6836, "isConstant": false, "isLValue": false, "isPure": false, @@ -2920,11 +2920,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6670, + "id": 6833, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6662, + "referencedDeclaration": 6825, "src": "735:1:25", "typeDescriptions": { "typeIdentifier": "t_uint144", @@ -2939,7 +2939,7 @@ "typeString": "uint144" } ], - "id": 6669, + "id": 6832, "isConstant": false, "isLValue": false, "isPure": true, @@ -2951,7 +2951,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6668, + "id": 6831, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "727:7:25", @@ -2961,7 +2961,7 @@ } } }, - "id": 6671, + "id": 6834, "isConstant": false, "isLValue": false, "isPure": false, @@ -2980,11 +2980,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6672, + "id": 6835, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "741:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -3005,18 +3005,18 @@ "typeString": "uint256" } ], - "id": 6667, + "id": 6830, "name": "uq144x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "717:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq144x112_$6640_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq144x112_$6803_storage_ptr_$", "typeString": "type(struct FixedPoint.uq144x112 storage pointer)" } }, - "id": 6674, + "id": 6837, "isConstant": false, "isLValue": false, "isPure": false, @@ -3027,19 +3027,19 @@ "src": "717:35:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "functionReturnParameters": 6666, - "id": 6675, + "functionReturnParameters": 6829, + "id": 6838, "nodeType": "Return", "src": "710:42:25" } ] }, "documentation": null, - "id": 6677, + "id": 6840, "implemented": true, "kind": "function", "modifiers": [], @@ -3047,17 +3047,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6663, + "id": 6826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6662, + "id": 6825, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6677, + "scope": 6840, "src": "648:9:25", "stateVariable": false, "storageLocation": "default", @@ -3066,7 +3066,7 @@ "typeString": "uint144" }, "typeName": { - "id": 6661, + "id": 6824, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "648:7:25", @@ -3082,33 +3082,33 @@ "src": "647:11:25" }, "returnParameters": { - "id": 6666, + "id": 6829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6665, + "id": 6828, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6677, + "scope": 6840, "src": "682:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6664, + "id": 6827, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "682:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -3118,7 +3118,7 @@ ], "src": "681:18:25" }, - "scope": 6809, + "scope": 6972, "src": "629:130:25", "stateMutability": "pure", "virtual": false, @@ -3126,7 +3126,7 @@ }, { "body": { - "id": 6703, + "id": 6866, "nodeType": "Block", "src": "915:107:25", "statements": [ @@ -3140,18 +3140,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 6689, + "id": 6852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6687, + "id": 6850, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6681, + "referencedDeclaration": 6844, "src": "933:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -3163,7 +3163,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6688, + "id": 6851, "isConstant": false, "isLValue": false, "isPure": true, @@ -3187,7 +3187,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204449565f42595f5a45524f", - "id": 6690, + "id": 6853, "isConstant": false, "isLValue": false, "isPure": true, @@ -3214,7 +3214,7 @@ "typeString": "literal_string \"FixedPoint: DIV_BY_ZERO\"" } ], - "id": 6686, + "id": 6849, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3228,7 +3228,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6691, + "id": 6854, "isConstant": false, "isLValue": false, "isPure": false, @@ -3243,7 +3243,7 @@ "typeString": "tuple()" } }, - "id": 6692, + "id": 6855, "nodeType": "ExpressionStatement", "src": "925:42:25" }, @@ -3257,7 +3257,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6700, + "id": 6863, "isConstant": false, "isLValue": false, "isPure": false, @@ -3266,25 +3266,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6694, + "id": 6857, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6679, + "referencedDeclaration": 6842, "src": "994:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6695, + "id": 6858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "994:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -3298,11 +3298,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6698, + "id": 6861, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6681, + "referencedDeclaration": 6844, "src": "1012:1:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -3317,7 +3317,7 @@ "typeString": "uint112" } ], - "id": 6697, + "id": 6860, "isConstant": false, "isLValue": false, "isPure": true, @@ -3329,7 +3329,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6696, + "id": 6859, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "1004:7:25", @@ -3339,7 +3339,7 @@ } } }, - "id": 6699, + "id": 6862, "isConstant": false, "isLValue": false, "isPure": false, @@ -3368,18 +3368,18 @@ "typeString": "uint224" } ], - "id": 6693, + "id": 6856, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "984:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6701, + "id": 6864, "isConstant": false, "isLValue": false, "isPure": false, @@ -3390,19 +3390,19 @@ "src": "984:31:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6685, - "id": 6702, + "functionReturnParameters": 6848, + "id": 6865, "nodeType": "Return", "src": "977:38:25" } ] }, "documentation": null, - "id": 6704, + "id": 6867, "implemented": true, "kind": "function", "modifiers": [], @@ -3410,33 +3410,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6682, + "id": 6845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6679, + "id": 6842, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "840:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6678, + "id": 6841, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "840:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -3445,12 +3445,12 @@ }, { "constant": false, - "id": 6681, + "id": 6844, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "863:9:25", "stateVariable": false, "storageLocation": "default", @@ -3459,7 +3459,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6680, + "id": 6843, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "863:7:25", @@ -3475,33 +3475,33 @@ "src": "839:34:25" }, "returnParameters": { - "id": 6685, + "id": 6848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6684, + "id": 6847, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6867, "src": "897:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6683, + "id": 6846, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "897:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -3511,7 +3511,7 @@ ], "src": "896:18:25" }, - "scope": 6809, + "scope": 6972, "src": "827:195:25", "stateMutability": "pure", "virtual": false, @@ -3519,23 +3519,23 @@ }, { "body": { - "id": 6746, + "id": 6909, "nodeType": "Block", "src": "1201:164:25", "statements": [ { "assignments": [ - 6714 + 6877 ], "declarations": [ { "constant": false, - "id": 6714, + "id": 6877, "mutability": "mutable", "name": "z", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6746, + "scope": 6909, "src": "1211:6:25", "stateVariable": false, "storageLocation": "default", @@ -3544,7 +3544,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6713, + "id": 6876, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1211:4:25", @@ -3557,7 +3557,7 @@ "visibility": "internal" } ], - "id": 6715, + "id": 6878, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "1211:6:25" @@ -3572,7 +3572,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6738, + "id": 6901, "isConstant": false, "isLValue": false, "isPure": false, @@ -3583,18 +3583,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6719, + "id": 6882, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6717, + "id": 6880, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1235:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3606,7 +3606,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6718, + "id": 6881, "isConstant": false, "isLValue": false, "isPure": true, @@ -3635,7 +3635,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6737, + "id": 6900, "isConstant": false, "isLValue": false, "isPure": false, @@ -3646,7 +3646,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6731, + "id": 6894, "isConstant": false, "isLValue": false, "isPure": false, @@ -3656,18 +3656,18 @@ "components": [ { "argumentTypes": null, - "id": 6728, + "id": 6891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6720, + "id": 6883, "name": "z", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6877, "src": "1246:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3682,7 +3682,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6727, + "id": 6890, "isConstant": false, "isLValue": false, "isPure": false, @@ -3694,25 +3694,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6723, + "id": 6886, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, + "referencedDeclaration": 6869, "src": "1255:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6724, + "id": 6887, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1255:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -3727,7 +3727,7 @@ "typeString": "uint224" } ], - "id": 6722, + "id": 6885, "isConstant": false, "isLValue": false, "isPure": true, @@ -3739,7 +3739,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6721, + "id": 6884, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1250:4:25", @@ -3749,7 +3749,7 @@ } } }, - "id": 6725, + "id": 6888, "isConstant": false, "isLValue": false, "isPure": false, @@ -3768,11 +3768,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 6726, + "id": 6889, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1266:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3792,7 +3792,7 @@ } } ], - "id": 6729, + "id": 6892, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3809,11 +3809,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6730, + "id": 6893, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6708, + "referencedDeclaration": 6871, "src": "1271:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3835,25 +3835,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6734, + "id": 6897, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, + "referencedDeclaration": 6869, "src": "1281:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6735, + "id": 6898, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1281:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -3868,7 +3868,7 @@ "typeString": "uint224" } ], - "id": 6733, + "id": 6896, "isConstant": false, "isLValue": false, "isPure": true, @@ -3880,7 +3880,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 6732, + "id": 6895, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1276:4:25", @@ -3890,7 +3890,7 @@ } } }, - "id": 6736, + "id": 6899, "isConstant": false, "isLValue": false, "isPure": false, @@ -3920,7 +3920,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57", - "id": 6739, + "id": 6902, "isConstant": false, "isLValue": false, "isPure": true, @@ -3947,7 +3947,7 @@ "typeString": "literal_string \"FixedPoint: MULTIPLICATION_OVERFLOW\"" } ], - "id": 6716, + "id": 6879, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3961,7 +3961,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6740, + "id": 6903, "isConstant": false, "isLValue": false, "isPure": false, @@ -3976,7 +3976,7 @@ "typeString": "tuple()" } }, - "id": 6741, + "id": 6904, "nodeType": "ExpressionStatement", "src": "1227:102:25" }, @@ -3986,11 +3986,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6743, + "id": 6906, "name": "z", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6877, "src": "1356:1:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4005,18 +4005,18 @@ "typeString": "uint256" } ], - "id": 6742, + "id": 6905, "name": "uq144x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "1346:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq144x112_$6640_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq144x112_$6803_storage_ptr_$", "typeString": "type(struct FixedPoint.uq144x112 storage pointer)" } }, - "id": 6744, + "id": 6907, "isConstant": false, "isLValue": false, "isPure": false, @@ -4027,19 +4027,19 @@ "src": "1346:12:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "functionReturnParameters": 6712, - "id": 6745, + "functionReturnParameters": 6875, + "id": 6908, "nodeType": "Return", "src": "1339:19:25" } ] }, "documentation": null, - "id": 6747, + "id": 6910, "implemented": true, "kind": "function", "modifiers": [], @@ -4047,33 +4047,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6709, + "id": 6872, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6706, + "id": 6869, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1129:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6705, + "id": 6868, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1129:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -4082,12 +4082,12 @@ }, { "constant": false, - "id": 6708, + "id": 6871, "mutability": "mutable", "name": "y", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1152:6:25", "stateVariable": false, "storageLocation": "default", @@ -4096,7 +4096,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6707, + "id": 6870, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1152:4:25", @@ -4112,33 +4112,33 @@ "src": "1128:31:25" }, "returnParameters": { - "id": 6712, + "id": 6875, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6711, + "id": 6874, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6747, + "scope": 6910, "src": "1183:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6710, + "id": 6873, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "1183:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -4148,7 +4148,7 @@ ], "src": "1182:18:25" }, - "scope": 6809, + "scope": 6972, "src": "1116:249:25", "stateMutability": "pure", "virtual": false, @@ -4156,7 +4156,7 @@ }, { "body": { - "id": 6775, + "id": 6938, "nodeType": "Block", "src": "1616:144:25", "statements": [ @@ -4170,18 +4170,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 6759, + "id": 6922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6757, + "id": 6920, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6751, + "referencedDeclaration": 6914, "src": "1634:11:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -4193,7 +4193,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6758, + "id": 6921, "isConstant": false, "isLValue": false, "isPure": true, @@ -4217,7 +4217,7 @@ { "argumentTypes": null, "hexValue": "4669786564506f696e743a204449565f42595f5a45524f", - "id": 6760, + "id": 6923, "isConstant": false, "isLValue": false, "isPure": true, @@ -4244,7 +4244,7 @@ "typeString": "literal_string \"FixedPoint: DIV_BY_ZERO\"" } ], - "id": 6756, + "id": 6919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4258,7 +4258,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6761, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": false, @@ -4273,7 +4273,7 @@ "typeString": "tuple()" } }, - "id": 6762, + "id": 6925, "nodeType": "ExpressionStatement", "src": "1626:51:25" }, @@ -4287,7 +4287,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6772, + "id": 6935, "isConstant": false, "isLValue": false, "isPure": false, @@ -4301,7 +4301,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6769, + "id": 6932, "isConstant": false, "isLValue": false, "isPure": false, @@ -4311,11 +4311,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6766, + "id": 6929, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6749, + "referencedDeclaration": 6912, "src": "1713:9:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -4330,7 +4330,7 @@ "typeString": "uint112" } ], - "id": 6765, + "id": 6928, "isConstant": false, "isLValue": false, "isPure": true, @@ -4342,7 +4342,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 6764, + "id": 6927, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "1705:7:25", @@ -4352,7 +4352,7 @@ } } }, - "id": 6767, + "id": 6930, "isConstant": false, "isLValue": false, "isPure": false, @@ -4371,11 +4371,11 @@ "operator": "<<", "rightExpression": { "argumentTypes": null, - "id": 6768, + "id": 6931, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "1727:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -4389,7 +4389,7 @@ } } ], - "id": 6770, + "id": 6933, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4406,11 +4406,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 6771, + "id": 6934, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6751, + "referencedDeclaration": 6914, "src": "1741:11:25", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -4431,18 +4431,18 @@ "typeString": "uint224" } ], - "id": 6763, + "id": 6926, "name": "uq112x112", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1694:9:25", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 6773, + "id": 6936, "isConstant": false, "isLValue": false, "isPure": false, @@ -4453,19 +4453,19 @@ "src": "1694:59:25", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "functionReturnParameters": 6755, - "id": 6774, + "functionReturnParameters": 6918, + "id": 6937, "nodeType": "Return", "src": "1687:66:25" } ] }, "documentation": null, - "id": 6776, + "id": 6939, "implemented": true, "kind": "function", "modifiers": [], @@ -4473,17 +4473,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6752, + "id": 6915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6749, + "id": 6912, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1535:17:25", "stateVariable": false, "storageLocation": "default", @@ -4492,7 +4492,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6748, + "id": 6911, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1535:7:25", @@ -4506,12 +4506,12 @@ }, { "constant": false, - "id": 6751, + "id": 6914, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1554:19:25", "stateVariable": false, "storageLocation": "default", @@ -4520,7 +4520,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6750, + "id": 6913, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1554:7:25", @@ -4536,33 +4536,33 @@ "src": "1534:40:25" }, "returnParameters": { - "id": 6755, + "id": 6918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6754, + "id": 6917, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6776, + "scope": 6939, "src": "1598:16:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6753, + "id": 6916, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1598:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -4572,7 +4572,7 @@ ], "src": "1597:18:25" }, - "scope": 6809, + "scope": 6972, "src": "1517:243:25", "stateMutability": "pure", "virtual": false, @@ -4580,7 +4580,7 @@ }, { "body": { - "id": 6791, + "id": 6954, "nodeType": "Block", "src": "1914:54:25", "statements": [ @@ -4594,7 +4594,7 @@ "typeIdentifier": "t_uint224", "typeString": "uint224" }, - "id": 6788, + "id": 6951, "isConstant": false, "isLValue": false, "isPure": false, @@ -4603,25 +4603,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6785, + "id": 6948, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6778, + "referencedDeclaration": 6941, "src": "1939:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 6786, + "id": 6949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1939:7:25", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -4632,11 +4632,11 @@ "operator": ">>", "rightExpression": { "argumentTypes": null, - "id": 6787, + "id": 6950, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "1950:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -4657,7 +4657,7 @@ "typeString": "uint224" } ], - "id": 6784, + "id": 6947, "isConstant": false, "isLValue": false, "isPure": true, @@ -4669,7 +4669,7 @@ "typeString": "type(uint112)" }, "typeName": { - "id": 6783, + "id": 6946, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1931:7:25", @@ -4679,7 +4679,7 @@ } } }, - "id": 6789, + "id": 6952, "isConstant": false, "isLValue": false, "isPure": false, @@ -4694,15 +4694,15 @@ "typeString": "uint112" } }, - "functionReturnParameters": 6782, - "id": 6790, + "functionReturnParameters": 6945, + "id": 6953, "nodeType": "Return", "src": "1924:37:25" } ] }, "documentation": null, - "id": 6792, + "id": 6955, "implemented": true, "kind": "function", "modifiers": [], @@ -4710,33 +4710,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6779, + "id": 6942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6778, + "id": 6941, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6792, + "scope": 6955, "src": "1859:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 6777, + "id": 6940, "name": "uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1859:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -4747,17 +4747,17 @@ "src": "1858:23:25" }, "returnParameters": { - "id": 6782, + "id": 6945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6781, + "id": 6944, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6792, + "scope": 6955, "src": "1905:7:25", "stateVariable": false, "storageLocation": "default", @@ -4766,7 +4766,7 @@ "typeString": "uint112" }, "typeName": { - "id": 6780, + "id": 6943, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1905:7:25", @@ -4781,7 +4781,7 @@ ], "src": "1904:9:25" }, - "scope": 6809, + "scope": 6972, "src": "1843:125:25", "stateMutability": "pure", "virtual": false, @@ -4789,7 +4789,7 @@ }, { "body": { - "id": 6807, + "id": 6970, "nodeType": "Block", "src": "2125:54:25", "statements": [ @@ -4803,7 +4803,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6804, + "id": 6967, "isConstant": false, "isLValue": false, "isPure": false, @@ -4812,25 +4812,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6801, + "id": 6964, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6794, + "referencedDeclaration": 6957, "src": "2150:4:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 6802, + "id": 6965, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6639, + "referencedDeclaration": 6802, "src": "2150:7:25", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4841,11 +4841,11 @@ "operator": ">>", "rightExpression": { "argumentTypes": null, - "id": 6803, + "id": 6966, "name": "RESOLUTION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6643, + "referencedDeclaration": 6806, "src": "2161:10:25", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -4866,7 +4866,7 @@ "typeString": "uint256" } ], - "id": 6800, + "id": 6963, "isConstant": false, "isLValue": false, "isPure": true, @@ -4878,7 +4878,7 @@ "typeString": "type(uint144)" }, "typeName": { - "id": 6799, + "id": 6962, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "2142:7:25", @@ -4888,7 +4888,7 @@ } } }, - "id": 6805, + "id": 6968, "isConstant": false, "isLValue": false, "isPure": false, @@ -4903,15 +4903,15 @@ "typeString": "uint144" } }, - "functionReturnParameters": 6798, - "id": 6806, + "functionReturnParameters": 6961, + "id": 6969, "nodeType": "Return", "src": "2135:37:25" } ] }, "documentation": null, - "id": 6808, + "id": 6971, "implemented": true, "kind": "function", "modifiers": [], @@ -4919,33 +4919,33 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6795, + "id": 6958, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6794, + "id": 6957, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6808, + "scope": 6971, "src": "2070:21:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112" }, "typeName": { "contractScope": null, - "id": 6793, + "id": 6956, "name": "uq144x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6640, + "referencedDeclaration": 6803, "src": "2070:9:25", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_storage_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_storage_ptr", "typeString": "struct FixedPoint.uq144x112" } }, @@ -4956,17 +4956,17 @@ "src": "2069:23:25" }, "returnParameters": { - "id": 6798, + "id": 6961, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6797, + "id": 6960, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6808, + "scope": 6971, "src": "2116:7:25", "stateVariable": false, "storageLocation": "default", @@ -4975,7 +4975,7 @@ "typeString": "uint144" }, "typeName": { - "id": 6796, + "id": 6959, "name": "uint144", "nodeType": "ElementaryTypeName", "src": "2116:7:25", @@ -4990,14 +4990,14 @@ ], "src": "2115:9:25" }, - "scope": 6809, + "scope": 6972, "src": "2051:128:25", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6810, + "scope": 6973, "src": "129:2052:25" } ], @@ -5009,7 +5009,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.048Z", + "updatedAt": "2020-12-12T01:13:52.584Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/IERC20.json b/AskoLend-contracts/build/contracts/IERC20.json index b7b6bf62..cf6eb333 100644 --- a/AskoLend-contracts/build/contracts/IERC20.json +++ b/AskoLend-contracts/build/contracts/IERC20.json @@ -185,34 +185,37 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":[{\"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\":\"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\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":[{\"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\":\"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\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\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 /**\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(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\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 /**\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(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", "sourcePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 11379 + 11538 ] }, - "id": 11380, + "id": 11539, "nodeType": "SourceUnit", "nodes": [ { - "id": 11303, + "id": 11462, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:41" + "src": "33:31:41" }, { "abstract": false, @@ -220,15 +223,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 11304, + "id": 11463, "nodeType": "StructuredDocumentation", - "src": "58:70:41", + "src": "66:70:41", "text": "@dev Interface of the ERC20 standard as defined in the EIP." }, "fullyImplemented": false, - "id": 11379, + "id": 11538, "linearizedBaseContracts": [ - 11379 + 11538 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -236,13 +239,13 @@ { "body": null, "documentation": { - "id": 11305, + "id": 11464, "nodeType": "StructuredDocumentation", - "src": "152:66:41", + "src": "160:66:41", "text": "@dev Returns the amount of tokens in existence." }, "functionSelector": "18160ddd", - "id": 11310, + "id": 11469, "implemented": false, "kind": "function", "modifiers": [], @@ -250,24 +253,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11306, + "id": 11465, "nodeType": "ParameterList", "parameters": [], - "src": "243:2:41" + "src": "251:2:41" }, "returnParameters": { - "id": 11309, + "id": 11468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11308, + "id": 11467, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11310, - "src": "269:7:41", + "scope": 11469, + "src": "277:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -275,10 +278,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11307, + "id": 11466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "269:7:41", + "src": "277:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -288,10 +291,10 @@ "visibility": "internal" } ], - "src": "268:9:41" + "src": "276:9:41" }, - "scope": 11379, - "src": "223:55:41", + "scope": 11538, + "src": "231:55:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -299,13 +302,13 @@ { "body": null, "documentation": { - "id": 11311, + "id": 11470, "nodeType": "StructuredDocumentation", - "src": "284:72:41", + "src": "292:72:41", "text": "@dev Returns the amount of tokens owned by `account`." }, "functionSelector": "70a08231", - "id": 11318, + "id": 11477, "implemented": false, "kind": "function", "modifiers": [], @@ -313,18 +316,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11314, + "id": 11473, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11313, + "id": 11472, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11318, - "src": "380:15:41", + "scope": 11477, + "src": "388:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -332,10 +335,10 @@ "typeString": "address" }, "typeName": { - "id": 11312, + "id": 11471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "380:7:41", + "src": "388:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -346,21 +349,21 @@ "visibility": "internal" } ], - "src": "379:17:41" + "src": "387:17:41" }, "returnParameters": { - "id": 11317, + "id": 11476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11316, + "id": 11475, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11318, - "src": "420:7:41", + "scope": 11477, + "src": "428:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -368,10 +371,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11315, + "id": 11474, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:41", + "src": "428:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -381,10 +384,10 @@ "visibility": "internal" } ], - "src": "419:9:41" + "src": "427:9:41" }, - "scope": 11379, - "src": "361:68:41", + "scope": 11538, + "src": "369:68:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -392,13 +395,13 @@ { "body": null, "documentation": { - "id": 11319, + "id": 11478, "nodeType": "StructuredDocumentation", - "src": "435:209:41", + "src": "443:209:41", "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": 11328, + "id": 11487, "implemented": false, "kind": "function", "modifiers": [], @@ -406,18 +409,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11324, + "id": 11483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11321, + "id": 11480, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "667:17:41", + "scope": 11487, + "src": "675:17:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -425,10 +428,10 @@ "typeString": "address" }, "typeName": { - "id": 11320, + "id": 11479, "name": "address", "nodeType": "ElementaryTypeName", - "src": "667:7:41", + "src": "675:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -440,13 +443,13 @@ }, { "constant": false, - "id": 11323, + "id": 11482, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "686:14:41", + "scope": 11487, + "src": "694:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -454,10 +457,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11322, + "id": 11481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "686:7:41", + "src": "694:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -467,21 +470,21 @@ "visibility": "internal" } ], - "src": "666:35:41" + "src": "674:35:41" }, "returnParameters": { - "id": 11327, + "id": 11486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11326, + "id": 11485, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "720:4:41", + "scope": 11487, + "src": "728:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -489,10 +492,10 @@ "typeString": "bool" }, "typeName": { - "id": 11325, + "id": 11484, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "720:4:41", + "src": "728:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -502,10 +505,10 @@ "visibility": "internal" } ], - "src": "719:6:41" + "src": "727:6:41" }, - "scope": 11379, - "src": "649:77:41", + "scope": 11538, + "src": "657:77:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -513,13 +516,13 @@ { "body": null, "documentation": { - "id": 11329, + "id": 11488, "nodeType": "StructuredDocumentation", - "src": "732:264:41", + "src": "740:264:41", "text": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called." }, "functionSelector": "dd62ed3e", - "id": 11338, + "id": 11497, "implemented": false, "kind": "function", "modifiers": [], @@ -527,18 +530,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11334, + "id": 11493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11331, + "id": 11490, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1020:13:41", + "scope": 11497, + "src": "1028:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -546,10 +549,10 @@ "typeString": "address" }, "typeName": { - "id": 11330, + "id": 11489, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1020:7:41", + "src": "1028:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -561,13 +564,13 @@ }, { "constant": false, - "id": 11333, + "id": 11492, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1035:15:41", + "scope": 11497, + "src": "1043:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -575,10 +578,10 @@ "typeString": "address" }, "typeName": { - "id": 11332, + "id": 11491, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1035:7:41", + "src": "1043:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -589,21 +592,21 @@ "visibility": "internal" } ], - "src": "1019:32:41" + "src": "1027:32:41" }, "returnParameters": { - "id": 11337, + "id": 11496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11336, + "id": 11495, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1075:7:41", + "scope": 11497, + "src": "1083:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -611,10 +614,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11335, + "id": 11494, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1075:7:41", + "src": "1083:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -624,10 +627,10 @@ "visibility": "internal" } ], - "src": "1074:9:41" + "src": "1082:9:41" }, - "scope": 11379, - "src": "1001:83:41", + "scope": 11538, + "src": "1009:83:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -635,13 +638,13 @@ { "body": null, "documentation": { - "id": 11339, + "id": 11498, "nodeType": "StructuredDocumentation", - "src": "1090:642:41", + "src": "1098:642:41", "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\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event." }, "functionSelector": "095ea7b3", - "id": 11348, + "id": 11507, "implemented": false, "kind": "function", "modifiers": [], @@ -649,18 +652,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11344, + "id": 11503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11341, + "id": 11500, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1754:15:41", + "scope": 11507, + "src": "1762:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -668,10 +671,10 @@ "typeString": "address" }, "typeName": { - "id": 11340, + "id": 11499, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1754:7:41", + "src": "1762:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -683,13 +686,13 @@ }, { "constant": false, - "id": 11343, + "id": 11502, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1771:14:41", + "scope": 11507, + "src": "1779:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -697,10 +700,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11342, + "id": 11501, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1771:7:41", + "src": "1779:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -710,21 +713,21 @@ "visibility": "internal" } ], - "src": "1753:33:41" + "src": "1761:33:41" }, "returnParameters": { - "id": 11347, + "id": 11506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11346, + "id": 11505, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1805:4:41", + "scope": 11507, + "src": "1813:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -732,10 +735,10 @@ "typeString": "bool" }, "typeName": { - "id": 11345, + "id": 11504, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1805:4:41", + "src": "1813:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -745,10 +748,10 @@ "visibility": "internal" } ], - "src": "1804:6:41" + "src": "1812:6:41" }, - "scope": 11379, - "src": "1737:74:41", + "scope": 11538, + "src": "1745:74:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -756,13 +759,13 @@ { "body": null, "documentation": { - "id": 11349, + "id": 11508, "nodeType": "StructuredDocumentation", - "src": "1817:296:41", + "src": "1825:296:41", "text": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event." }, "functionSelector": "23b872dd", - "id": 11360, + "id": 11519, "implemented": false, "kind": "function", "modifiers": [], @@ -770,18 +773,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11356, + "id": 11515, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11351, + "id": 11510, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2140:14:41", + "scope": 11519, + "src": "2148:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -789,10 +792,10 @@ "typeString": "address" }, "typeName": { - "id": 11350, + "id": 11509, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2140:7:41", + "src": "2148:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -804,13 +807,13 @@ }, { "constant": false, - "id": 11353, + "id": 11512, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2156:17:41", + "scope": 11519, + "src": "2164:17:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -818,10 +821,10 @@ "typeString": "address" }, "typeName": { - "id": 11352, + "id": 11511, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2156:7:41", + "src": "2164:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -833,13 +836,13 @@ }, { "constant": false, - "id": 11355, + "id": 11514, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2175:14:41", + "scope": 11519, + "src": "2183:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -847,10 +850,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11354, + "id": 11513, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2175:7:41", + "src": "2183:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -860,21 +863,21 @@ "visibility": "internal" } ], - "src": "2139:51:41" + "src": "2147:51:41" }, "returnParameters": { - "id": 11359, + "id": 11518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11358, + "id": 11517, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2209:4:41", + "scope": 11519, + "src": "2217:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -882,10 +885,10 @@ "typeString": "bool" }, "typeName": { - "id": 11357, + "id": 11516, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2209:4:41", + "src": "2217:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -895,10 +898,10 @@ "visibility": "internal" } ], - "src": "2208:6:41" + "src": "2216:6:41" }, - "scope": 11379, - "src": "2118:97:41", + "scope": 11538, + "src": "2126:97:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -906,28 +909,28 @@ { "anonymous": false, "documentation": { - "id": 11361, + "id": 11520, "nodeType": "StructuredDocumentation", - "src": "2221:158:41", + "src": "2229:158:41", "text": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero." }, - "id": 11369, + "id": 11528, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 11368, + "id": 11527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11363, + "id": 11522, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2399:20:41", + "scope": 11528, + "src": "2407:20:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -935,10 +938,10 @@ "typeString": "address" }, "typeName": { - "id": 11362, + "id": 11521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2399:7:41", + "src": "2407:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -950,14 +953,14 @@ }, { "constant": false, - "id": 11365, + "id": 11524, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2421:18:41", + "scope": 11528, + "src": "2429:18:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -965,10 +968,10 @@ "typeString": "address" }, "typeName": { - "id": 11364, + "id": 11523, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2421:7:41", + "src": "2429:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -980,14 +983,14 @@ }, { "constant": false, - "id": 11367, + "id": 11526, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2441:13:41", + "scope": 11528, + "src": "2449:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -995,10 +998,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11366, + "id": 11525, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2441:7:41", + "src": "2449:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1008,35 +1011,35 @@ "visibility": "internal" } ], - "src": "2398:57:41" + "src": "2406:57:41" }, - "src": "2384:72:41" + "src": "2392:72:41" }, { "anonymous": false, "documentation": { - "id": 11370, + "id": 11529, "nodeType": "StructuredDocumentation", - "src": "2462:148:41", + "src": "2470:148:41", "text": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance." }, - "id": 11378, + "id": 11537, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 11377, + "id": 11536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11372, + "id": 11531, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2630:21:41", + "scope": 11537, + "src": "2638:21:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1044,10 +1047,10 @@ "typeString": "address" }, "typeName": { - "id": 11371, + "id": 11530, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2630:7:41", + "src": "2638:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1059,14 +1062,14 @@ }, { "constant": false, - "id": 11374, + "id": 11533, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2653:23:41", + "scope": 11537, + "src": "2661:23:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1074,10 +1077,10 @@ "typeString": "address" }, "typeName": { - "id": 11373, + "id": 11532, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2653:7:41", + "src": "2661:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1089,14 +1092,14 @@ }, { "constant": false, - "id": 11376, + "id": 11535, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2678:13:41", + "scope": 11537, + "src": "2686:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1104,10 +1107,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11375, + "id": 11534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:41", + "src": "2686:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1117,37 +1120,40 @@ "visibility": "internal" } ], - "src": "2629:63:41" + "src": "2637:63:41" }, - "src": "2615:78:41" + "src": "2623:78:41" } ], - "scope": 11380, - "src": "129:2566:41" + "scope": 11539, + "src": "137:2566:41" } ], - "src": "33:2663:41" + "src": "33:2671:41" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 11379 + 11538 ] }, - "id": 11380, + "id": 11539, "nodeType": "SourceUnit", "nodes": [ { - "id": 11303, + "id": 11462, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:41" + "src": "33:31:41" }, { "abstract": false, @@ -1155,15 +1161,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 11304, + "id": 11463, "nodeType": "StructuredDocumentation", - "src": "58:70:41", + "src": "66:70:41", "text": "@dev Interface of the ERC20 standard as defined in the EIP." }, "fullyImplemented": false, - "id": 11379, + "id": 11538, "linearizedBaseContracts": [ - 11379 + 11538 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -1171,13 +1177,13 @@ { "body": null, "documentation": { - "id": 11305, + "id": 11464, "nodeType": "StructuredDocumentation", - "src": "152:66:41", + "src": "160:66:41", "text": "@dev Returns the amount of tokens in existence." }, "functionSelector": "18160ddd", - "id": 11310, + "id": 11469, "implemented": false, "kind": "function", "modifiers": [], @@ -1185,24 +1191,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11306, + "id": 11465, "nodeType": "ParameterList", "parameters": [], - "src": "243:2:41" + "src": "251:2:41" }, "returnParameters": { - "id": 11309, + "id": 11468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11308, + "id": 11467, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11310, - "src": "269:7:41", + "scope": 11469, + "src": "277:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1210,10 +1216,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11307, + "id": 11466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "269:7:41", + "src": "277:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1223,10 +1229,10 @@ "visibility": "internal" } ], - "src": "268:9:41" + "src": "276:9:41" }, - "scope": 11379, - "src": "223:55:41", + "scope": 11538, + "src": "231:55:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1234,13 +1240,13 @@ { "body": null, "documentation": { - "id": 11311, + "id": 11470, "nodeType": "StructuredDocumentation", - "src": "284:72:41", + "src": "292:72:41", "text": "@dev Returns the amount of tokens owned by `account`." }, "functionSelector": "70a08231", - "id": 11318, + "id": 11477, "implemented": false, "kind": "function", "modifiers": [], @@ -1248,18 +1254,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11314, + "id": 11473, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11313, + "id": 11472, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11318, - "src": "380:15:41", + "scope": 11477, + "src": "388:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1267,10 +1273,10 @@ "typeString": "address" }, "typeName": { - "id": 11312, + "id": 11471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "380:7:41", + "src": "388:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1281,21 +1287,21 @@ "visibility": "internal" } ], - "src": "379:17:41" + "src": "387:17:41" }, "returnParameters": { - "id": 11317, + "id": 11476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11316, + "id": 11475, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11318, - "src": "420:7:41", + "scope": 11477, + "src": "428:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1303,10 +1309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11315, + "id": 11474, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:41", + "src": "428:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1316,10 +1322,10 @@ "visibility": "internal" } ], - "src": "419:9:41" + "src": "427:9:41" }, - "scope": 11379, - "src": "361:68:41", + "scope": 11538, + "src": "369:68:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1327,13 +1333,13 @@ { "body": null, "documentation": { - "id": 11319, + "id": 11478, "nodeType": "StructuredDocumentation", - "src": "435:209:41", + "src": "443:209:41", "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": 11328, + "id": 11487, "implemented": false, "kind": "function", "modifiers": [], @@ -1341,18 +1347,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11324, + "id": 11483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11321, + "id": 11480, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "667:17:41", + "scope": 11487, + "src": "675:17:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1360,10 +1366,10 @@ "typeString": "address" }, "typeName": { - "id": 11320, + "id": 11479, "name": "address", "nodeType": "ElementaryTypeName", - "src": "667:7:41", + "src": "675:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1375,13 +1381,13 @@ }, { "constant": false, - "id": 11323, + "id": 11482, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "686:14:41", + "scope": 11487, + "src": "694:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1389,10 +1395,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11322, + "id": 11481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "686:7:41", + "src": "694:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1402,21 +1408,21 @@ "visibility": "internal" } ], - "src": "666:35:41" + "src": "674:35:41" }, "returnParameters": { - "id": 11327, + "id": 11486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11326, + "id": 11485, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11328, - "src": "720:4:41", + "scope": 11487, + "src": "728:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1424,10 +1430,10 @@ "typeString": "bool" }, "typeName": { - "id": 11325, + "id": 11484, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "720:4:41", + "src": "728:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1437,10 +1443,10 @@ "visibility": "internal" } ], - "src": "719:6:41" + "src": "727:6:41" }, - "scope": 11379, - "src": "649:77:41", + "scope": 11538, + "src": "657:77:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1448,13 +1454,13 @@ { "body": null, "documentation": { - "id": 11329, + "id": 11488, "nodeType": "StructuredDocumentation", - "src": "732:264:41", + "src": "740:264:41", "text": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called." }, "functionSelector": "dd62ed3e", - "id": 11338, + "id": 11497, "implemented": false, "kind": "function", "modifiers": [], @@ -1462,18 +1468,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11334, + "id": 11493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11331, + "id": 11490, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1020:13:41", + "scope": 11497, + "src": "1028:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1481,10 +1487,10 @@ "typeString": "address" }, "typeName": { - "id": 11330, + "id": 11489, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1020:7:41", + "src": "1028:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1496,13 +1502,13 @@ }, { "constant": false, - "id": 11333, + "id": 11492, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1035:15:41", + "scope": 11497, + "src": "1043:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1510,10 +1516,10 @@ "typeString": "address" }, "typeName": { - "id": 11332, + "id": 11491, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1035:7:41", + "src": "1043:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1524,21 +1530,21 @@ "visibility": "internal" } ], - "src": "1019:32:41" + "src": "1027:32:41" }, "returnParameters": { - "id": 11337, + "id": 11496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11336, + "id": 11495, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11338, - "src": "1075:7:41", + "scope": 11497, + "src": "1083:7:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1546,10 +1552,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11335, + "id": 11494, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1075:7:41", + "src": "1083:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1559,10 +1565,10 @@ "visibility": "internal" } ], - "src": "1074:9:41" + "src": "1082:9:41" }, - "scope": 11379, - "src": "1001:83:41", + "scope": 11538, + "src": "1009:83:41", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1570,13 +1576,13 @@ { "body": null, "documentation": { - "id": 11339, + "id": 11498, "nodeType": "StructuredDocumentation", - "src": "1090:642:41", + "src": "1098:642:41", "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\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event." }, "functionSelector": "095ea7b3", - "id": 11348, + "id": 11507, "implemented": false, "kind": "function", "modifiers": [], @@ -1584,18 +1590,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11344, + "id": 11503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11341, + "id": 11500, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1754:15:41", + "scope": 11507, + "src": "1762:15:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1603,10 +1609,10 @@ "typeString": "address" }, "typeName": { - "id": 11340, + "id": 11499, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1754:7:41", + "src": "1762:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1618,13 +1624,13 @@ }, { "constant": false, - "id": 11343, + "id": 11502, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1771:14:41", + "scope": 11507, + "src": "1779:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1632,10 +1638,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11342, + "id": 11501, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1771:7:41", + "src": "1779:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1645,21 +1651,21 @@ "visibility": "internal" } ], - "src": "1753:33:41" + "src": "1761:33:41" }, "returnParameters": { - "id": 11347, + "id": 11506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11346, + "id": 11505, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11348, - "src": "1805:4:41", + "scope": 11507, + "src": "1813:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1667,10 +1673,10 @@ "typeString": "bool" }, "typeName": { - "id": 11345, + "id": 11504, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1805:4:41", + "src": "1813:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1680,10 +1686,10 @@ "visibility": "internal" } ], - "src": "1804:6:41" + "src": "1812:6:41" }, - "scope": 11379, - "src": "1737:74:41", + "scope": 11538, + "src": "1745:74:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1691,13 +1697,13 @@ { "body": null, "documentation": { - "id": 11349, + "id": 11508, "nodeType": "StructuredDocumentation", - "src": "1817:296:41", + "src": "1825:296:41", "text": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event." }, "functionSelector": "23b872dd", - "id": 11360, + "id": 11519, "implemented": false, "kind": "function", "modifiers": [], @@ -1705,18 +1711,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 11356, + "id": 11515, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11351, + "id": 11510, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2140:14:41", + "scope": 11519, + "src": "2148:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1724,10 +1730,10 @@ "typeString": "address" }, "typeName": { - "id": 11350, + "id": 11509, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2140:7:41", + "src": "2148:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1739,13 +1745,13 @@ }, { "constant": false, - "id": 11353, + "id": 11512, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2156:17:41", + "scope": 11519, + "src": "2164:17:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1753,10 +1759,10 @@ "typeString": "address" }, "typeName": { - "id": 11352, + "id": 11511, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2156:7:41", + "src": "2164:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1768,13 +1774,13 @@ }, { "constant": false, - "id": 11355, + "id": 11514, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2175:14:41", + "scope": 11519, + "src": "2183:14:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1782,10 +1788,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11354, + "id": 11513, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2175:7:41", + "src": "2183:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1795,21 +1801,21 @@ "visibility": "internal" } ], - "src": "2139:51:41" + "src": "2147:51:41" }, "returnParameters": { - "id": 11359, + "id": 11518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11358, + "id": 11517, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11360, - "src": "2209:4:41", + "scope": 11519, + "src": "2217:4:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1817,10 +1823,10 @@ "typeString": "bool" }, "typeName": { - "id": 11357, + "id": 11516, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2209:4:41", + "src": "2217:4:41", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1830,10 +1836,10 @@ "visibility": "internal" } ], - "src": "2208:6:41" + "src": "2216:6:41" }, - "scope": 11379, - "src": "2118:97:41", + "scope": 11538, + "src": "2126:97:41", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1841,28 +1847,28 @@ { "anonymous": false, "documentation": { - "id": 11361, + "id": 11520, "nodeType": "StructuredDocumentation", - "src": "2221:158:41", + "src": "2229:158:41", "text": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero." }, - "id": 11369, + "id": 11528, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 11368, + "id": 11527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11363, + "id": 11522, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2399:20:41", + "scope": 11528, + "src": "2407:20:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1870,10 +1876,10 @@ "typeString": "address" }, "typeName": { - "id": 11362, + "id": 11521, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2399:7:41", + "src": "2407:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1885,14 +1891,14 @@ }, { "constant": false, - "id": 11365, + "id": 11524, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2421:18:41", + "scope": 11528, + "src": "2429:18:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1900,10 +1906,10 @@ "typeString": "address" }, "typeName": { - "id": 11364, + "id": 11523, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2421:7:41", + "src": "2429:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1915,14 +1921,14 @@ }, { "constant": false, - "id": 11367, + "id": 11526, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11369, - "src": "2441:13:41", + "scope": 11528, + "src": "2449:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1930,10 +1936,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11366, + "id": 11525, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2441:7:41", + "src": "2449:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1943,35 +1949,35 @@ "visibility": "internal" } ], - "src": "2398:57:41" + "src": "2406:57:41" }, - "src": "2384:72:41" + "src": "2392:72:41" }, { "anonymous": false, "documentation": { - "id": 11370, + "id": 11529, "nodeType": "StructuredDocumentation", - "src": "2462:148:41", + "src": "2470:148:41", "text": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance." }, - "id": 11378, + "id": 11537, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 11377, + "id": 11536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 11372, + "id": 11531, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2630:21:41", + "scope": 11537, + "src": "2638:21:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1979,10 +1985,10 @@ "typeString": "address" }, "typeName": { - "id": 11371, + "id": 11530, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2630:7:41", + "src": "2638:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1994,14 +2000,14 @@ }, { "constant": false, - "id": 11374, + "id": 11533, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2653:23:41", + "scope": 11537, + "src": "2661:23:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2009,10 +2015,10 @@ "typeString": "address" }, "typeName": { - "id": 11373, + "id": 11532, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2653:7:41", + "src": "2661:7:41", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2024,14 +2030,14 @@ }, { "constant": false, - "id": 11376, + "id": 11535, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 11378, - "src": "2678:13:41", + "scope": 11537, + "src": "2686:13:41", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2039,10 +2045,10 @@ "typeString": "uint256" }, "typeName": { - "id": 11375, + "id": 11534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:41", + "src": "2686:7:41", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2052,16 +2058,16 @@ "visibility": "internal" } ], - "src": "2629:63:41" + "src": "2637:63:41" }, - "src": "2615:78:41" + "src": "2623:78:41" } ], - "scope": 11380, - "src": "129:2566:41" + "scope": 11539, + "src": "137:2566:41" } ], - "src": "33:2663:41" + "src": "33:2671:41" }, "compiler": { "name": "solc", @@ -2069,7 +2075,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.110Z", + "updatedAt": "2020-12-12T01:13:52.681Z", "devdoc": { "details": "Interface of the ERC20 standard as defined in the EIP.", "methods": { diff --git a/AskoLend-contracts/build/contracts/IUniswapV2Factory.json b/AskoLend-contracts/build/contracts/IUniswapV2Factory.json index 86844c2f..df8fa172 100644 --- a/AskoLend-contracts/build/contracts/IUniswapV2Factory.json +++ b/AskoLend-contracts/build/contracts/IUniswapV2Factory.json @@ -177,14 +177,14 @@ "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "exportedSymbols": { "IUniswapV2Factory": [ - 7032 + 7195 ] }, - "id": 7033, + "id": 7196, "nodeType": "SourceUnit", "nodes": [ { - "id": 6971, + "id": 7134, "literals": [ "solidity", ">=", @@ -201,9 +201,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7032, + "id": 7195, "linearizedBaseContracts": [ - 7032 + 7195 ], "name": "IUniswapV2Factory", "nodeType": "ContractDefinition", @@ -211,22 +211,22 @@ { "anonymous": false, "documentation": null, - "id": 6981, + "id": 7144, "name": "PairCreated", "nodeType": "EventDefinition", "parameters": { - "id": 6980, + "id": 7143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6973, + "id": 7136, "indexed": true, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "78:22:27", "stateVariable": false, "storageLocation": "default", @@ -235,7 +235,7 @@ "typeString": "address" }, "typeName": { - "id": 6972, + "id": 7135, "name": "address", "nodeType": "ElementaryTypeName", "src": "78:7:27", @@ -250,13 +250,13 @@ }, { "constant": false, - "id": 6975, + "id": 7138, "indexed": true, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "102:22:27", "stateVariable": false, "storageLocation": "default", @@ -265,7 +265,7 @@ "typeString": "address" }, "typeName": { - "id": 6974, + "id": 7137, "name": "address", "nodeType": "ElementaryTypeName", "src": "102:7:27", @@ -280,13 +280,13 @@ }, { "constant": false, - "id": 6977, + "id": 7140, "indexed": false, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "126:12:27", "stateVariable": false, "storageLocation": "default", @@ -295,7 +295,7 @@ "typeString": "address" }, "typeName": { - "id": 6976, + "id": 7139, "name": "address", "nodeType": "ElementaryTypeName", "src": "126:7:27", @@ -310,13 +310,13 @@ }, { "constant": false, - "id": 6979, + "id": 7142, "indexed": false, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "140:4:27", "stateVariable": false, "storageLocation": "default", @@ -325,7 +325,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6978, + "id": 7141, "name": "uint", "nodeType": "ElementaryTypeName", "src": "140:4:27", @@ -346,7 +346,7 @@ "body": null, "documentation": null, "functionSelector": "017e7e58", - "id": 6986, + "id": 7149, "implemented": false, "kind": "function", "modifiers": [], @@ -354,23 +354,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6982, + "id": 7145, "nodeType": "ParameterList", "parameters": [], "src": "166:2:27" }, "returnParameters": { - "id": 6985, + "id": 7148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6984, + "id": 7147, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6986, + "scope": 7149, "src": "192:7:27", "stateVariable": false, "storageLocation": "default", @@ -379,7 +379,7 @@ "typeString": "address" }, "typeName": { - "id": 6983, + "id": 7146, "name": "address", "nodeType": "ElementaryTypeName", "src": "192:7:27", @@ -395,7 +395,7 @@ ], "src": "191:9:27" }, - "scope": 7032, + "scope": 7195, "src": "152:49:27", "stateMutability": "view", "virtual": false, @@ -405,7 +405,7 @@ "body": null, "documentation": null, "functionSelector": "094b7415", - "id": 6991, + "id": 7154, "implemented": false, "kind": "function", "modifiers": [], @@ -413,23 +413,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6987, + "id": 7150, "nodeType": "ParameterList", "parameters": [], "src": "226:2:27" }, "returnParameters": { - "id": 6990, + "id": 7153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6989, + "id": 7152, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6991, + "scope": 7154, "src": "252:7:27", "stateVariable": false, "storageLocation": "default", @@ -438,7 +438,7 @@ "typeString": "address" }, "typeName": { - "id": 6988, + "id": 7151, "name": "address", "nodeType": "ElementaryTypeName", "src": "252:7:27", @@ -454,7 +454,7 @@ ], "src": "251:9:27" }, - "scope": 7032, + "scope": 7195, "src": "206:55:27", "stateMutability": "view", "virtual": false, @@ -464,7 +464,7 @@ "body": null, "documentation": null, "functionSelector": "e6a43905", - "id": 7000, + "id": 7163, "implemented": false, "kind": "function", "modifiers": [], @@ -472,17 +472,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6996, + "id": 7159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6993, + "id": 7156, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "284:14:27", "stateVariable": false, "storageLocation": "default", @@ -491,7 +491,7 @@ "typeString": "address" }, "typeName": { - "id": 6992, + "id": 7155, "name": "address", "nodeType": "ElementaryTypeName", "src": "284:7:27", @@ -506,12 +506,12 @@ }, { "constant": false, - "id": 6995, + "id": 7158, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "300:14:27", "stateVariable": false, "storageLocation": "default", @@ -520,7 +520,7 @@ "typeString": "address" }, "typeName": { - "id": 6994, + "id": 7157, "name": "address", "nodeType": "ElementaryTypeName", "src": "300:7:27", @@ -537,17 +537,17 @@ "src": "283:32:27" }, "returnParameters": { - "id": 6999, + "id": 7162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6998, + "id": 7161, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "339:12:27", "stateVariable": false, "storageLocation": "default", @@ -556,7 +556,7 @@ "typeString": "address" }, "typeName": { - "id": 6997, + "id": 7160, "name": "address", "nodeType": "ElementaryTypeName", "src": "339:7:27", @@ -572,7 +572,7 @@ ], "src": "338:14:27" }, - "scope": 7032, + "scope": 7195, "src": "267:86:27", "stateMutability": "view", "virtual": false, @@ -582,7 +582,7 @@ "body": null, "documentation": null, "functionSelector": "1e3dd18b", - "id": 7007, + "id": 7170, "implemented": false, "kind": "function", "modifiers": [], @@ -590,17 +590,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7003, + "id": 7166, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7002, + "id": 7165, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7007, + "scope": 7170, "src": "376:4:27", "stateVariable": false, "storageLocation": "default", @@ -609,7 +609,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7001, + "id": 7164, "name": "uint", "nodeType": "ElementaryTypeName", "src": "376:4:27", @@ -625,17 +625,17 @@ "src": "375:6:27" }, "returnParameters": { - "id": 7006, + "id": 7169, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7005, + "id": 7168, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7007, + "scope": 7170, "src": "405:12:27", "stateVariable": false, "storageLocation": "default", @@ -644,7 +644,7 @@ "typeString": "address" }, "typeName": { - "id": 7004, + "id": 7167, "name": "address", "nodeType": "ElementaryTypeName", "src": "405:7:27", @@ -660,7 +660,7 @@ ], "src": "404:14:27" }, - "scope": 7032, + "scope": 7195, "src": "358:61:27", "stateMutability": "view", "virtual": false, @@ -670,7 +670,7 @@ "body": null, "documentation": null, "functionSelector": "574f2ba3", - "id": 7012, + "id": 7175, "implemented": false, "kind": "function", "modifiers": [], @@ -678,23 +678,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7008, + "id": 7171, "nodeType": "ParameterList", "parameters": [], "src": "447:2:27" }, "returnParameters": { - "id": 7011, + "id": 7174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7010, + "id": 7173, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7012, + "scope": 7175, "src": "473:4:27", "stateVariable": false, "storageLocation": "default", @@ -703,7 +703,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7009, + "id": 7172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "473:4:27", @@ -718,7 +718,7 @@ ], "src": "472:6:27" }, - "scope": 7032, + "scope": 7195, "src": "424:55:27", "stateMutability": "view", "virtual": false, @@ -728,7 +728,7 @@ "body": null, "documentation": null, "functionSelector": "c9c65396", - "id": 7021, + "id": 7184, "implemented": false, "kind": "function", "modifiers": [], @@ -736,17 +736,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7017, + "id": 7180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7014, + "id": 7177, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "505:14:27", "stateVariable": false, "storageLocation": "default", @@ -755,7 +755,7 @@ "typeString": "address" }, "typeName": { - "id": 7013, + "id": 7176, "name": "address", "nodeType": "ElementaryTypeName", "src": "505:7:27", @@ -770,12 +770,12 @@ }, { "constant": false, - "id": 7016, + "id": 7179, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "521:14:27", "stateVariable": false, "storageLocation": "default", @@ -784,7 +784,7 @@ "typeString": "address" }, "typeName": { - "id": 7015, + "id": 7178, "name": "address", "nodeType": "ElementaryTypeName", "src": "521:7:27", @@ -801,17 +801,17 @@ "src": "504:32:27" }, "returnParameters": { - "id": 7020, + "id": 7183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7019, + "id": 7182, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "555:12:27", "stateVariable": false, "storageLocation": "default", @@ -820,7 +820,7 @@ "typeString": "address" }, "typeName": { - "id": 7018, + "id": 7181, "name": "address", "nodeType": "ElementaryTypeName", "src": "555:7:27", @@ -836,7 +836,7 @@ ], "src": "554:14:27" }, - "scope": 7032, + "scope": 7195, "src": "485:84:27", "stateMutability": "nonpayable", "virtual": false, @@ -846,7 +846,7 @@ "body": null, "documentation": null, "functionSelector": "f46901ed", - "id": 7026, + "id": 7189, "implemented": false, "kind": "function", "modifiers": [], @@ -854,17 +854,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7024, + "id": 7187, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7023, + "id": 7186, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7026, + "scope": 7189, "src": "593:7:27", "stateVariable": false, "storageLocation": "default", @@ -873,7 +873,7 @@ "typeString": "address" }, "typeName": { - "id": 7022, + "id": 7185, "name": "address", "nodeType": "ElementaryTypeName", "src": "593:7:27", @@ -890,12 +890,12 @@ "src": "592:9:27" }, "returnParameters": { - "id": 7025, + "id": 7188, "nodeType": "ParameterList", "parameters": [], "src": "610:0:27" }, - "scope": 7032, + "scope": 7195, "src": "575:36:27", "stateMutability": "nonpayable", "virtual": false, @@ -905,7 +905,7 @@ "body": null, "documentation": null, "functionSelector": "a2e74af6", - "id": 7031, + "id": 7194, "implemented": false, "kind": "function", "modifiers": [], @@ -913,17 +913,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7029, + "id": 7192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7028, + "id": 7191, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7031, + "scope": 7194, "src": "640:7:27", "stateVariable": false, "storageLocation": "default", @@ -932,7 +932,7 @@ "typeString": "address" }, "typeName": { - "id": 7027, + "id": 7190, "name": "address", "nodeType": "ElementaryTypeName", "src": "640:7:27", @@ -949,19 +949,19 @@ "src": "639:9:27" }, "returnParameters": { - "id": 7030, + "id": 7193, "nodeType": "ParameterList", "parameters": [], "src": "657:0:27" }, - "scope": 7032, + "scope": 7195, "src": "616:42:27", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 7033, + "scope": 7196, "src": "26:634:27" } ], @@ -971,14 +971,14 @@ "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "exportedSymbols": { "IUniswapV2Factory": [ - 7032 + 7195 ] }, - "id": 7033, + "id": 7196, "nodeType": "SourceUnit", "nodes": [ { - "id": 6971, + "id": 7134, "literals": [ "solidity", ">=", @@ -995,9 +995,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7032, + "id": 7195, "linearizedBaseContracts": [ - 7032 + 7195 ], "name": "IUniswapV2Factory", "nodeType": "ContractDefinition", @@ -1005,22 +1005,22 @@ { "anonymous": false, "documentation": null, - "id": 6981, + "id": 7144, "name": "PairCreated", "nodeType": "EventDefinition", "parameters": { - "id": 6980, + "id": 7143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6973, + "id": 7136, "indexed": true, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "78:22:27", "stateVariable": false, "storageLocation": "default", @@ -1029,7 +1029,7 @@ "typeString": "address" }, "typeName": { - "id": 6972, + "id": 7135, "name": "address", "nodeType": "ElementaryTypeName", "src": "78:7:27", @@ -1044,13 +1044,13 @@ }, { "constant": false, - "id": 6975, + "id": 7138, "indexed": true, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "102:22:27", "stateVariable": false, "storageLocation": "default", @@ -1059,7 +1059,7 @@ "typeString": "address" }, "typeName": { - "id": 6974, + "id": 7137, "name": "address", "nodeType": "ElementaryTypeName", "src": "102:7:27", @@ -1074,13 +1074,13 @@ }, { "constant": false, - "id": 6977, + "id": 7140, "indexed": false, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "126:12:27", "stateVariable": false, "storageLocation": "default", @@ -1089,7 +1089,7 @@ "typeString": "address" }, "typeName": { - "id": 6976, + "id": 7139, "name": "address", "nodeType": "ElementaryTypeName", "src": "126:7:27", @@ -1104,13 +1104,13 @@ }, { "constant": false, - "id": 6979, + "id": 7142, "indexed": false, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6981, + "scope": 7144, "src": "140:4:27", "stateVariable": false, "storageLocation": "default", @@ -1119,7 +1119,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6978, + "id": 7141, "name": "uint", "nodeType": "ElementaryTypeName", "src": "140:4:27", @@ -1140,7 +1140,7 @@ "body": null, "documentation": null, "functionSelector": "017e7e58", - "id": 6986, + "id": 7149, "implemented": false, "kind": "function", "modifiers": [], @@ -1148,23 +1148,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6982, + "id": 7145, "nodeType": "ParameterList", "parameters": [], "src": "166:2:27" }, "returnParameters": { - "id": 6985, + "id": 7148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6984, + "id": 7147, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6986, + "scope": 7149, "src": "192:7:27", "stateVariable": false, "storageLocation": "default", @@ -1173,7 +1173,7 @@ "typeString": "address" }, "typeName": { - "id": 6983, + "id": 7146, "name": "address", "nodeType": "ElementaryTypeName", "src": "192:7:27", @@ -1189,7 +1189,7 @@ ], "src": "191:9:27" }, - "scope": 7032, + "scope": 7195, "src": "152:49:27", "stateMutability": "view", "virtual": false, @@ -1199,7 +1199,7 @@ "body": null, "documentation": null, "functionSelector": "094b7415", - "id": 6991, + "id": 7154, "implemented": false, "kind": "function", "modifiers": [], @@ -1207,23 +1207,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6987, + "id": 7150, "nodeType": "ParameterList", "parameters": [], "src": "226:2:27" }, "returnParameters": { - "id": 6990, + "id": 7153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6989, + "id": 7152, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6991, + "scope": 7154, "src": "252:7:27", "stateVariable": false, "storageLocation": "default", @@ -1232,7 +1232,7 @@ "typeString": "address" }, "typeName": { - "id": 6988, + "id": 7151, "name": "address", "nodeType": "ElementaryTypeName", "src": "252:7:27", @@ -1248,7 +1248,7 @@ ], "src": "251:9:27" }, - "scope": 7032, + "scope": 7195, "src": "206:55:27", "stateMutability": "view", "virtual": false, @@ -1258,7 +1258,7 @@ "body": null, "documentation": null, "functionSelector": "e6a43905", - "id": 7000, + "id": 7163, "implemented": false, "kind": "function", "modifiers": [], @@ -1266,17 +1266,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6996, + "id": 7159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6993, + "id": 7156, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "284:14:27", "stateVariable": false, "storageLocation": "default", @@ -1285,7 +1285,7 @@ "typeString": "address" }, "typeName": { - "id": 6992, + "id": 7155, "name": "address", "nodeType": "ElementaryTypeName", "src": "284:7:27", @@ -1300,12 +1300,12 @@ }, { "constant": false, - "id": 6995, + "id": 7158, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "300:14:27", "stateVariable": false, "storageLocation": "default", @@ -1314,7 +1314,7 @@ "typeString": "address" }, "typeName": { - "id": 6994, + "id": 7157, "name": "address", "nodeType": "ElementaryTypeName", "src": "300:7:27", @@ -1331,17 +1331,17 @@ "src": "283:32:27" }, "returnParameters": { - "id": 6999, + "id": 7162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6998, + "id": 7161, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7000, + "scope": 7163, "src": "339:12:27", "stateVariable": false, "storageLocation": "default", @@ -1350,7 +1350,7 @@ "typeString": "address" }, "typeName": { - "id": 6997, + "id": 7160, "name": "address", "nodeType": "ElementaryTypeName", "src": "339:7:27", @@ -1366,7 +1366,7 @@ ], "src": "338:14:27" }, - "scope": 7032, + "scope": 7195, "src": "267:86:27", "stateMutability": "view", "virtual": false, @@ -1376,7 +1376,7 @@ "body": null, "documentation": null, "functionSelector": "1e3dd18b", - "id": 7007, + "id": 7170, "implemented": false, "kind": "function", "modifiers": [], @@ -1384,17 +1384,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7003, + "id": 7166, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7002, + "id": 7165, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7007, + "scope": 7170, "src": "376:4:27", "stateVariable": false, "storageLocation": "default", @@ -1403,7 +1403,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7001, + "id": 7164, "name": "uint", "nodeType": "ElementaryTypeName", "src": "376:4:27", @@ -1419,17 +1419,17 @@ "src": "375:6:27" }, "returnParameters": { - "id": 7006, + "id": 7169, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7005, + "id": 7168, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7007, + "scope": 7170, "src": "405:12:27", "stateVariable": false, "storageLocation": "default", @@ -1438,7 +1438,7 @@ "typeString": "address" }, "typeName": { - "id": 7004, + "id": 7167, "name": "address", "nodeType": "ElementaryTypeName", "src": "405:7:27", @@ -1454,7 +1454,7 @@ ], "src": "404:14:27" }, - "scope": 7032, + "scope": 7195, "src": "358:61:27", "stateMutability": "view", "virtual": false, @@ -1464,7 +1464,7 @@ "body": null, "documentation": null, "functionSelector": "574f2ba3", - "id": 7012, + "id": 7175, "implemented": false, "kind": "function", "modifiers": [], @@ -1472,23 +1472,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7008, + "id": 7171, "nodeType": "ParameterList", "parameters": [], "src": "447:2:27" }, "returnParameters": { - "id": 7011, + "id": 7174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7010, + "id": 7173, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7012, + "scope": 7175, "src": "473:4:27", "stateVariable": false, "storageLocation": "default", @@ -1497,7 +1497,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7009, + "id": 7172, "name": "uint", "nodeType": "ElementaryTypeName", "src": "473:4:27", @@ -1512,7 +1512,7 @@ ], "src": "472:6:27" }, - "scope": 7032, + "scope": 7195, "src": "424:55:27", "stateMutability": "view", "virtual": false, @@ -1522,7 +1522,7 @@ "body": null, "documentation": null, "functionSelector": "c9c65396", - "id": 7021, + "id": 7184, "implemented": false, "kind": "function", "modifiers": [], @@ -1530,17 +1530,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7017, + "id": 7180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7014, + "id": 7177, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "505:14:27", "stateVariable": false, "storageLocation": "default", @@ -1549,7 +1549,7 @@ "typeString": "address" }, "typeName": { - "id": 7013, + "id": 7176, "name": "address", "nodeType": "ElementaryTypeName", "src": "505:7:27", @@ -1564,12 +1564,12 @@ }, { "constant": false, - "id": 7016, + "id": 7179, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "521:14:27", "stateVariable": false, "storageLocation": "default", @@ -1578,7 +1578,7 @@ "typeString": "address" }, "typeName": { - "id": 7015, + "id": 7178, "name": "address", "nodeType": "ElementaryTypeName", "src": "521:7:27", @@ -1595,17 +1595,17 @@ "src": "504:32:27" }, "returnParameters": { - "id": 7020, + "id": 7183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7019, + "id": 7182, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7021, + "scope": 7184, "src": "555:12:27", "stateVariable": false, "storageLocation": "default", @@ -1614,7 +1614,7 @@ "typeString": "address" }, "typeName": { - "id": 7018, + "id": 7181, "name": "address", "nodeType": "ElementaryTypeName", "src": "555:7:27", @@ -1630,7 +1630,7 @@ ], "src": "554:14:27" }, - "scope": 7032, + "scope": 7195, "src": "485:84:27", "stateMutability": "nonpayable", "virtual": false, @@ -1640,7 +1640,7 @@ "body": null, "documentation": null, "functionSelector": "f46901ed", - "id": 7026, + "id": 7189, "implemented": false, "kind": "function", "modifiers": [], @@ -1648,17 +1648,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7024, + "id": 7187, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7023, + "id": 7186, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7026, + "scope": 7189, "src": "593:7:27", "stateVariable": false, "storageLocation": "default", @@ -1667,7 +1667,7 @@ "typeString": "address" }, "typeName": { - "id": 7022, + "id": 7185, "name": "address", "nodeType": "ElementaryTypeName", "src": "593:7:27", @@ -1684,12 +1684,12 @@ "src": "592:9:27" }, "returnParameters": { - "id": 7025, + "id": 7188, "nodeType": "ParameterList", "parameters": [], "src": "610:0:27" }, - "scope": 7032, + "scope": 7195, "src": "575:36:27", "stateMutability": "nonpayable", "virtual": false, @@ -1699,7 +1699,7 @@ "body": null, "documentation": null, "functionSelector": "a2e74af6", - "id": 7031, + "id": 7194, "implemented": false, "kind": "function", "modifiers": [], @@ -1707,17 +1707,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7029, + "id": 7192, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7028, + "id": 7191, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7031, + "scope": 7194, "src": "640:7:27", "stateVariable": false, "storageLocation": "default", @@ -1726,7 +1726,7 @@ "typeString": "address" }, "typeName": { - "id": 7027, + "id": 7190, "name": "address", "nodeType": "ElementaryTypeName", "src": "640:7:27", @@ -1743,19 +1743,19 @@ "src": "639:9:27" }, "returnParameters": { - "id": 7030, + "id": 7193, "nodeType": "ParameterList", "parameters": [], "src": "657:0:27" }, - "scope": 7032, + "scope": 7195, "src": "616:42:27", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 7033, + "scope": 7196, "src": "26:634:27" } ], @@ -1767,7 +1767,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.059Z", + "updatedAt": "2020-12-12T01:13:52.596Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/IUniswapV2Pair.json b/AskoLend-contracts/build/contracts/IUniswapV2Pair.json index 645d2d66..8774cca7 100644 --- a/AskoLend-contracts/build/contracts/IUniswapV2Pair.json +++ b/AskoLend-contracts/build/contracts/IUniswapV2Pair.json @@ -665,14 +665,14 @@ "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "exportedSymbols": { "IUniswapV2Pair": [ - 7274 + 7437 ] }, - "id": 7275, + "id": 7438, "nodeType": "SourceUnit", "nodes": [ { - "id": 7034, + "id": 7197, "literals": [ "solidity", ">=", @@ -689,9 +689,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7274, + "id": 7437, "linearizedBaseContracts": [ - 7274 + 7437 ], "name": "IUniswapV2Pair", "nodeType": "ContractDefinition", @@ -699,22 +699,22 @@ { "anonymous": false, "documentation": null, - "id": 7042, + "id": 7205, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 7041, + "id": 7204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7036, + "id": 7199, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "72:21:28", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 7035, + "id": 7198, "name": "address", "nodeType": "ElementaryTypeName", "src": "72:7:28", @@ -738,13 +738,13 @@ }, { "constant": false, - "id": 7038, + "id": 7201, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "95:23:28", "stateVariable": false, "storageLocation": "default", @@ -753,7 +753,7 @@ "typeString": "address" }, "typeName": { - "id": 7037, + "id": 7200, "name": "address", "nodeType": "ElementaryTypeName", "src": "95:7:28", @@ -768,13 +768,13 @@ }, { "constant": false, - "id": 7040, + "id": 7203, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "120:10:28", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7039, + "id": 7202, "name": "uint", "nodeType": "ElementaryTypeName", "src": "120:4:28", @@ -803,22 +803,22 @@ { "anonymous": false, "documentation": null, - "id": 7050, + "id": 7213, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 7049, + "id": 7212, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7044, + "id": 7207, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "152:20:28", "stateVariable": false, "storageLocation": "default", @@ -827,7 +827,7 @@ "typeString": "address" }, "typeName": { - "id": 7043, + "id": 7206, "name": "address", "nodeType": "ElementaryTypeName", "src": "152:7:28", @@ -842,13 +842,13 @@ }, { "constant": false, - "id": 7046, + "id": 7209, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "174:18:28", "stateVariable": false, "storageLocation": "default", @@ -857,7 +857,7 @@ "typeString": "address" }, "typeName": { - "id": 7045, + "id": 7208, "name": "address", "nodeType": "ElementaryTypeName", "src": "174:7:28", @@ -872,13 +872,13 @@ }, { "constant": false, - "id": 7048, + "id": 7211, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "194:10:28", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7047, + "id": 7210, "name": "uint", "nodeType": "ElementaryTypeName", "src": "194:4:28", @@ -908,7 +908,7 @@ "body": null, "documentation": null, "functionSelector": "06fdde03", - "id": 7055, + "id": 7218, "implemented": false, "kind": "function", "modifiers": [], @@ -916,23 +916,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7051, + "id": 7214, "nodeType": "ParameterList", "parameters": [], "src": "225:2:28" }, "returnParameters": { - "id": 7054, + "id": 7217, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7053, + "id": 7216, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7055, + "scope": 7218, "src": "251:13:28", "stateVariable": false, "storageLocation": "memory", @@ -941,7 +941,7 @@ "typeString": "string" }, "typeName": { - "id": 7052, + "id": 7215, "name": "string", "nodeType": "ElementaryTypeName", "src": "251:6:28", @@ -956,7 +956,7 @@ ], "src": "250:15:28" }, - "scope": 7274, + "scope": 7437, "src": "212:54:28", "stateMutability": "pure", "virtual": false, @@ -966,7 +966,7 @@ "body": null, "documentation": null, "functionSelector": "95d89b41", - "id": 7060, + "id": 7223, "implemented": false, "kind": "function", "modifiers": [], @@ -974,23 +974,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7056, + "id": 7219, "nodeType": "ParameterList", "parameters": [], "src": "286:2:28" }, "returnParameters": { - "id": 7059, + "id": 7222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7058, + "id": 7221, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7060, + "scope": 7223, "src": "312:13:28", "stateVariable": false, "storageLocation": "memory", @@ -999,7 +999,7 @@ "typeString": "string" }, "typeName": { - "id": 7057, + "id": 7220, "name": "string", "nodeType": "ElementaryTypeName", "src": "312:6:28", @@ -1014,7 +1014,7 @@ ], "src": "311:15:28" }, - "scope": 7274, + "scope": 7437, "src": "271:56:28", "stateMutability": "pure", "virtual": false, @@ -1024,7 +1024,7 @@ "body": null, "documentation": null, "functionSelector": "313ce567", - "id": 7065, + "id": 7228, "implemented": false, "kind": "function", "modifiers": [], @@ -1032,23 +1032,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7061, + "id": 7224, "nodeType": "ParameterList", "parameters": [], "src": "349:2:28" }, "returnParameters": { - "id": 7064, + "id": 7227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7063, + "id": 7226, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7065, + "scope": 7228, "src": "375:5:28", "stateVariable": false, "storageLocation": "default", @@ -1057,7 +1057,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7062, + "id": 7225, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "375:5:28", @@ -1072,7 +1072,7 @@ ], "src": "374:7:28" }, - "scope": 7274, + "scope": 7437, "src": "332:50:28", "stateMutability": "pure", "virtual": false, @@ -1082,7 +1082,7 @@ "body": null, "documentation": null, "functionSelector": "18160ddd", - "id": 7070, + "id": 7233, "implemented": false, "kind": "function", "modifiers": [], @@ -1090,23 +1090,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7066, + "id": 7229, "nodeType": "ParameterList", "parameters": [], "src": "407:2:28" }, "returnParameters": { - "id": 7069, + "id": 7232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7068, + "id": 7231, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7070, + "scope": 7233, "src": "433:4:28", "stateVariable": false, "storageLocation": "default", @@ -1115,7 +1115,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7067, + "id": 7230, "name": "uint", "nodeType": "ElementaryTypeName", "src": "433:4:28", @@ -1130,7 +1130,7 @@ ], "src": "432:6:28" }, - "scope": 7274, + "scope": 7437, "src": "387:52:28", "stateMutability": "view", "virtual": false, @@ -1140,7 +1140,7 @@ "body": null, "documentation": null, "functionSelector": "70a08231", - "id": 7077, + "id": 7240, "implemented": false, "kind": "function", "modifiers": [], @@ -1148,17 +1148,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7073, + "id": 7236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7072, + "id": 7235, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7077, + "scope": 7240, "src": "463:13:28", "stateVariable": false, "storageLocation": "default", @@ -1167,7 +1167,7 @@ "typeString": "address" }, "typeName": { - "id": 7071, + "id": 7234, "name": "address", "nodeType": "ElementaryTypeName", "src": "463:7:28", @@ -1184,17 +1184,17 @@ "src": "462:15:28" }, "returnParameters": { - "id": 7076, + "id": 7239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7075, + "id": 7238, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7077, + "scope": 7240, "src": "501:4:28", "stateVariable": false, "storageLocation": "default", @@ -1203,7 +1203,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7074, + "id": 7237, "name": "uint", "nodeType": "ElementaryTypeName", "src": "501:4:28", @@ -1218,7 +1218,7 @@ ], "src": "500:6:28" }, - "scope": 7274, + "scope": 7437, "src": "444:63:28", "stateMutability": "view", "virtual": false, @@ -1228,7 +1228,7 @@ "body": null, "documentation": null, "functionSelector": "dd62ed3e", - "id": 7086, + "id": 7249, "implemented": false, "kind": "function", "modifiers": [], @@ -1236,17 +1236,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7082, + "id": 7245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7079, + "id": 7242, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "531:13:28", "stateVariable": false, "storageLocation": "default", @@ -1255,7 +1255,7 @@ "typeString": "address" }, "typeName": { - "id": 7078, + "id": 7241, "name": "address", "nodeType": "ElementaryTypeName", "src": "531:7:28", @@ -1270,12 +1270,12 @@ }, { "constant": false, - "id": 7081, + "id": 7244, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "546:15:28", "stateVariable": false, "storageLocation": "default", @@ -1284,7 +1284,7 @@ "typeString": "address" }, "typeName": { - "id": 7080, + "id": 7243, "name": "address", "nodeType": "ElementaryTypeName", "src": "546:7:28", @@ -1301,17 +1301,17 @@ "src": "530:32:28" }, "returnParameters": { - "id": 7085, + "id": 7248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7084, + "id": 7247, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "586:4:28", "stateVariable": false, "storageLocation": "default", @@ -1320,7 +1320,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7083, + "id": 7246, "name": "uint", "nodeType": "ElementaryTypeName", "src": "586:4:28", @@ -1335,7 +1335,7 @@ ], "src": "585:6:28" }, - "scope": 7274, + "scope": 7437, "src": "512:80:28", "stateMutability": "view", "virtual": false, @@ -1345,7 +1345,7 @@ "body": null, "documentation": null, "functionSelector": "095ea7b3", - "id": 7095, + "id": 7258, "implemented": false, "kind": "function", "modifiers": [], @@ -1353,17 +1353,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7091, + "id": 7254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7088, + "id": 7251, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "615:15:28", "stateVariable": false, "storageLocation": "default", @@ -1372,7 +1372,7 @@ "typeString": "address" }, "typeName": { - "id": 7087, + "id": 7250, "name": "address", "nodeType": "ElementaryTypeName", "src": "615:7:28", @@ -1387,12 +1387,12 @@ }, { "constant": false, - "id": 7090, + "id": 7253, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "632:10:28", "stateVariable": false, "storageLocation": "default", @@ -1401,7 +1401,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7089, + "id": 7252, "name": "uint", "nodeType": "ElementaryTypeName", "src": "632:4:28", @@ -1417,17 +1417,17 @@ "src": "614:29:28" }, "returnParameters": { - "id": 7094, + "id": 7257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7093, + "id": 7256, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "662:4:28", "stateVariable": false, "storageLocation": "default", @@ -1436,7 +1436,7 @@ "typeString": "bool" }, "typeName": { - "id": 7092, + "id": 7255, "name": "bool", "nodeType": "ElementaryTypeName", "src": "662:4:28", @@ -1451,7 +1451,7 @@ ], "src": "661:6:28" }, - "scope": 7274, + "scope": 7437, "src": "598:70:28", "stateMutability": "nonpayable", "virtual": false, @@ -1461,7 +1461,7 @@ "body": null, "documentation": null, "functionSelector": "a9059cbb", - "id": 7104, + "id": 7267, "implemented": false, "kind": "function", "modifiers": [], @@ -1469,17 +1469,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7100, + "id": 7263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7097, + "id": 7260, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "691:10:28", "stateVariable": false, "storageLocation": "default", @@ -1488,7 +1488,7 @@ "typeString": "address" }, "typeName": { - "id": 7096, + "id": 7259, "name": "address", "nodeType": "ElementaryTypeName", "src": "691:7:28", @@ -1503,12 +1503,12 @@ }, { "constant": false, - "id": 7099, + "id": 7262, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "703:10:28", "stateVariable": false, "storageLocation": "default", @@ -1517,7 +1517,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7098, + "id": 7261, "name": "uint", "nodeType": "ElementaryTypeName", "src": "703:4:28", @@ -1533,17 +1533,17 @@ "src": "690:24:28" }, "returnParameters": { - "id": 7103, + "id": 7266, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7102, + "id": 7265, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "733:4:28", "stateVariable": false, "storageLocation": "default", @@ -1552,7 +1552,7 @@ "typeString": "bool" }, "typeName": { - "id": 7101, + "id": 7264, "name": "bool", "nodeType": "ElementaryTypeName", "src": "733:4:28", @@ -1567,7 +1567,7 @@ ], "src": "732:6:28" }, - "scope": 7274, + "scope": 7437, "src": "673:66:28", "stateMutability": "nonpayable", "virtual": false, @@ -1577,7 +1577,7 @@ "body": null, "documentation": null, "functionSelector": "23b872dd", - "id": 7115, + "id": 7278, "implemented": false, "kind": "function", "modifiers": [], @@ -1585,17 +1585,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7111, + "id": 7274, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7106, + "id": 7269, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "766:12:28", "stateVariable": false, "storageLocation": "default", @@ -1604,7 +1604,7 @@ "typeString": "address" }, "typeName": { - "id": 7105, + "id": 7268, "name": "address", "nodeType": "ElementaryTypeName", "src": "766:7:28", @@ -1619,12 +1619,12 @@ }, { "constant": false, - "id": 7108, + "id": 7271, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "780:10:28", "stateVariable": false, "storageLocation": "default", @@ -1633,7 +1633,7 @@ "typeString": "address" }, "typeName": { - "id": 7107, + "id": 7270, "name": "address", "nodeType": "ElementaryTypeName", "src": "780:7:28", @@ -1648,12 +1648,12 @@ }, { "constant": false, - "id": 7110, + "id": 7273, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "792:10:28", "stateVariable": false, "storageLocation": "default", @@ -1662,7 +1662,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7109, + "id": 7272, "name": "uint", "nodeType": "ElementaryTypeName", "src": "792:4:28", @@ -1678,17 +1678,17 @@ "src": "765:38:28" }, "returnParameters": { - "id": 7114, + "id": 7277, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7113, + "id": 7276, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "822:4:28", "stateVariable": false, "storageLocation": "default", @@ -1697,7 +1697,7 @@ "typeString": "bool" }, "typeName": { - "id": 7112, + "id": 7275, "name": "bool", "nodeType": "ElementaryTypeName", "src": "822:4:28", @@ -1712,7 +1712,7 @@ ], "src": "821:6:28" }, - "scope": 7274, + "scope": 7437, "src": "744:84:28", "stateMutability": "nonpayable", "virtual": false, @@ -1722,7 +1722,7 @@ "body": null, "documentation": null, "functionSelector": "3644e515", - "id": 7120, + "id": 7283, "implemented": false, "kind": "function", "modifiers": [], @@ -1730,23 +1730,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7116, + "id": 7279, "nodeType": "ParameterList", "parameters": [], "src": "859:2:28" }, "returnParameters": { - "id": 7119, + "id": 7282, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7118, + "id": 7281, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7120, + "scope": 7283, "src": "885:7:28", "stateVariable": false, "storageLocation": "default", @@ -1755,7 +1755,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7117, + "id": 7280, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "885:7:28", @@ -1770,7 +1770,7 @@ ], "src": "884:9:28" }, - "scope": 7274, + "scope": 7437, "src": "834:60:28", "stateMutability": "view", "virtual": false, @@ -1780,7 +1780,7 @@ "body": null, "documentation": null, "functionSelector": "30adf81f", - "id": 7125, + "id": 7288, "implemented": false, "kind": "function", "modifiers": [], @@ -1788,23 +1788,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7121, + "id": 7284, "nodeType": "ParameterList", "parameters": [], "src": "923:2:28" }, "returnParameters": { - "id": 7124, + "id": 7287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7123, + "id": 7286, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7125, + "scope": 7288, "src": "949:7:28", "stateVariable": false, "storageLocation": "default", @@ -1813,7 +1813,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7122, + "id": 7285, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "949:7:28", @@ -1828,7 +1828,7 @@ ], "src": "948:9:28" }, - "scope": 7274, + "scope": 7437, "src": "899:59:28", "stateMutability": "pure", "virtual": false, @@ -1838,7 +1838,7 @@ "body": null, "documentation": null, "functionSelector": "7ecebe00", - "id": 7132, + "id": 7295, "implemented": false, "kind": "function", "modifiers": [], @@ -1846,17 +1846,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7128, + "id": 7291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7127, + "id": 7290, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7132, + "scope": 7295, "src": "979:13:28", "stateVariable": false, "storageLocation": "default", @@ -1865,7 +1865,7 @@ "typeString": "address" }, "typeName": { - "id": 7126, + "id": 7289, "name": "address", "nodeType": "ElementaryTypeName", "src": "979:7:28", @@ -1882,17 +1882,17 @@ "src": "978:15:28" }, "returnParameters": { - "id": 7131, + "id": 7294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7130, + "id": 7293, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7132, + "scope": 7295, "src": "1017:4:28", "stateVariable": false, "storageLocation": "default", @@ -1901,7 +1901,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7129, + "id": 7292, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1017:4:28", @@ -1916,7 +1916,7 @@ ], "src": "1016:6:28" }, - "scope": 7274, + "scope": 7437, "src": "963:60:28", "stateMutability": "view", "virtual": false, @@ -1926,7 +1926,7 @@ "body": null, "documentation": null, "functionSelector": "d505accf", - "id": 7149, + "id": 7312, "implemented": false, "kind": "function", "modifiers": [], @@ -1934,17 +1934,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7147, + "id": 7310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7134, + "id": 7297, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1045:13:28", "stateVariable": false, "storageLocation": "default", @@ -1953,7 +1953,7 @@ "typeString": "address" }, "typeName": { - "id": 7133, + "id": 7296, "name": "address", "nodeType": "ElementaryTypeName", "src": "1045:7:28", @@ -1968,12 +1968,12 @@ }, { "constant": false, - "id": 7136, + "id": 7299, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1060:15:28", "stateVariable": false, "storageLocation": "default", @@ -1982,7 +1982,7 @@ "typeString": "address" }, "typeName": { - "id": 7135, + "id": 7298, "name": "address", "nodeType": "ElementaryTypeName", "src": "1060:7:28", @@ -1997,12 +1997,12 @@ }, { "constant": false, - "id": 7138, + "id": 7301, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1077:10:28", "stateVariable": false, "storageLocation": "default", @@ -2011,7 +2011,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7137, + "id": 7300, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1077:4:28", @@ -2025,12 +2025,12 @@ }, { "constant": false, - "id": 7140, + "id": 7303, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1089:13:28", "stateVariable": false, "storageLocation": "default", @@ -2039,7 +2039,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7139, + "id": 7302, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1089:4:28", @@ -2053,12 +2053,12 @@ }, { "constant": false, - "id": 7142, + "id": 7305, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1104:7:28", "stateVariable": false, "storageLocation": "default", @@ -2067,7 +2067,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7141, + "id": 7304, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1104:5:28", @@ -2081,12 +2081,12 @@ }, { "constant": false, - "id": 7144, + "id": 7307, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1113:9:28", "stateVariable": false, "storageLocation": "default", @@ -2095,7 +2095,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7143, + "id": 7306, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1113:7:28", @@ -2109,12 +2109,12 @@ }, { "constant": false, - "id": 7146, + "id": 7309, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1124:9:28", "stateVariable": false, "storageLocation": "default", @@ -2123,7 +2123,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7145, + "id": 7308, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1124:7:28", @@ -2139,12 +2139,12 @@ "src": "1044:90:28" }, "returnParameters": { - "id": 7148, + "id": 7311, "nodeType": "ParameterList", "parameters": [], "src": "1143:0:28" }, - "scope": 7274, + "scope": 7437, "src": "1029:115:28", "stateMutability": "nonpayable", "virtual": false, @@ -2153,22 +2153,22 @@ { "anonymous": false, "documentation": null, - "id": 7157, + "id": 7320, "name": "Mint", "nodeType": "EventDefinition", "parameters": { - "id": 7156, + "id": 7319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7151, + "id": 7314, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1161:22:28", "stateVariable": false, "storageLocation": "default", @@ -2177,7 +2177,7 @@ "typeString": "address" }, "typeName": { - "id": 7150, + "id": 7313, "name": "address", "nodeType": "ElementaryTypeName", "src": "1161:7:28", @@ -2192,13 +2192,13 @@ }, { "constant": false, - "id": 7153, + "id": 7316, "indexed": false, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1185:12:28", "stateVariable": false, "storageLocation": "default", @@ -2207,7 +2207,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7152, + "id": 7315, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1185:4:28", @@ -2221,13 +2221,13 @@ }, { "constant": false, - "id": 7155, + "id": 7318, "indexed": false, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1199:12:28", "stateVariable": false, "storageLocation": "default", @@ -2236,7 +2236,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7154, + "id": 7317, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1199:4:28", @@ -2256,22 +2256,22 @@ { "anonymous": false, "documentation": null, - "id": 7167, + "id": 7330, "name": "Burn", "nodeType": "EventDefinition", "parameters": { - "id": 7166, + "id": 7329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7159, + "id": 7322, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1229:22:28", "stateVariable": false, "storageLocation": "default", @@ -2280,7 +2280,7 @@ "typeString": "address" }, "typeName": { - "id": 7158, + "id": 7321, "name": "address", "nodeType": "ElementaryTypeName", "src": "1229:7:28", @@ -2295,13 +2295,13 @@ }, { "constant": false, - "id": 7161, + "id": 7324, "indexed": false, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1253:12:28", "stateVariable": false, "storageLocation": "default", @@ -2310,7 +2310,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7160, + "id": 7323, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1253:4:28", @@ -2324,13 +2324,13 @@ }, { "constant": false, - "id": 7163, + "id": 7326, "indexed": false, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1267:12:28", "stateVariable": false, "storageLocation": "default", @@ -2339,7 +2339,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7162, + "id": 7325, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1267:4:28", @@ -2353,13 +2353,13 @@ }, { "constant": false, - "id": 7165, + "id": 7328, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1281:18:28", "stateVariable": false, "storageLocation": "default", @@ -2368,7 +2368,7 @@ "typeString": "address" }, "typeName": { - "id": 7164, + "id": 7327, "name": "address", "nodeType": "ElementaryTypeName", "src": "1281:7:28", @@ -2389,22 +2389,22 @@ { "anonymous": false, "documentation": null, - "id": 7181, + "id": 7344, "name": "Swap", "nodeType": "EventDefinition", "parameters": { - "id": 7180, + "id": 7343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7169, + "id": 7332, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1326:22:28", "stateVariable": false, "storageLocation": "default", @@ -2413,7 +2413,7 @@ "typeString": "address" }, "typeName": { - "id": 7168, + "id": 7331, "name": "address", "nodeType": "ElementaryTypeName", "src": "1326:7:28", @@ -2428,13 +2428,13 @@ }, { "constant": false, - "id": 7171, + "id": 7334, "indexed": false, "mutability": "mutable", "name": "amount0In", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1358:14:28", "stateVariable": false, "storageLocation": "default", @@ -2443,7 +2443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7170, + "id": 7333, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1358:4:28", @@ -2457,13 +2457,13 @@ }, { "constant": false, - "id": 7173, + "id": 7336, "indexed": false, "mutability": "mutable", "name": "amount1In", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1382:14:28", "stateVariable": false, "storageLocation": "default", @@ -2472,7 +2472,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7172, + "id": 7335, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1382:4:28", @@ -2486,13 +2486,13 @@ }, { "constant": false, - "id": 7175, + "id": 7338, "indexed": false, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1406:15:28", "stateVariable": false, "storageLocation": "default", @@ -2501,7 +2501,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7174, + "id": 7337, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1406:4:28", @@ -2515,13 +2515,13 @@ }, { "constant": false, - "id": 7177, + "id": 7340, "indexed": false, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1431:15:28", "stateVariable": false, "storageLocation": "default", @@ -2530,7 +2530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7176, + "id": 7339, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1431:4:28", @@ -2544,13 +2544,13 @@ }, { "constant": false, - "id": 7179, + "id": 7342, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1456:18:28", "stateVariable": false, "storageLocation": "default", @@ -2559,7 +2559,7 @@ "typeString": "address" }, "typeName": { - "id": 7178, + "id": 7341, "name": "address", "nodeType": "ElementaryTypeName", "src": "1456:7:28", @@ -2580,22 +2580,22 @@ { "anonymous": false, "documentation": null, - "id": 7187, + "id": 7350, "name": "Sync", "nodeType": "EventDefinition", "parameters": { - "id": 7186, + "id": 7349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7183, + "id": 7346, "indexed": false, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7187, + "scope": 7350, "src": "1497:16:28", "stateVariable": false, "storageLocation": "default", @@ -2604,7 +2604,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7182, + "id": 7345, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1497:7:28", @@ -2618,13 +2618,13 @@ }, { "constant": false, - "id": 7185, + "id": 7348, "indexed": false, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7187, + "scope": 7350, "src": "1515:16:28", "stateVariable": false, "storageLocation": "default", @@ -2633,7 +2633,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7184, + "id": 7347, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1515:7:28", @@ -2654,7 +2654,7 @@ "body": null, "documentation": null, "functionSelector": "ba9a7a56", - "id": 7192, + "id": 7355, "implemented": false, "kind": "function", "modifiers": [], @@ -2662,23 +2662,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7188, + "id": 7351, "nodeType": "ParameterList", "parameters": [], "src": "1565:2:28" }, "returnParameters": { - "id": 7191, + "id": 7354, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7190, + "id": 7353, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7192, + "scope": 7355, "src": "1591:4:28", "stateVariable": false, "storageLocation": "default", @@ -2687,7 +2687,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7189, + "id": 7352, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1591:4:28", @@ -2702,7 +2702,7 @@ ], "src": "1590:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1539:58:28", "stateMutability": "pure", "virtual": false, @@ -2712,7 +2712,7 @@ "body": null, "documentation": null, "functionSelector": "c45a0155", - "id": 7197, + "id": 7360, "implemented": false, "kind": "function", "modifiers": [], @@ -2720,23 +2720,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7193, + "id": 7356, "nodeType": "ParameterList", "parameters": [], "src": "1618:2:28" }, "returnParameters": { - "id": 7196, + "id": 7359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7195, + "id": 7358, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7197, + "scope": 7360, "src": "1644:7:28", "stateVariable": false, "storageLocation": "default", @@ -2745,7 +2745,7 @@ "typeString": "address" }, "typeName": { - "id": 7194, + "id": 7357, "name": "address", "nodeType": "ElementaryTypeName", "src": "1644:7:28", @@ -2761,7 +2761,7 @@ ], "src": "1643:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1602:51:28", "stateMutability": "view", "virtual": false, @@ -2771,7 +2771,7 @@ "body": null, "documentation": null, "functionSelector": "0dfe1681", - "id": 7202, + "id": 7365, "implemented": false, "kind": "function", "modifiers": [], @@ -2779,23 +2779,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7198, + "id": 7361, "nodeType": "ParameterList", "parameters": [], "src": "1673:2:28" }, "returnParameters": { - "id": 7201, + "id": 7364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7200, + "id": 7363, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7202, + "scope": 7365, "src": "1699:7:28", "stateVariable": false, "storageLocation": "default", @@ -2804,7 +2804,7 @@ "typeString": "address" }, "typeName": { - "id": 7199, + "id": 7362, "name": "address", "nodeType": "ElementaryTypeName", "src": "1699:7:28", @@ -2820,7 +2820,7 @@ ], "src": "1698:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1658:50:28", "stateMutability": "view", "virtual": false, @@ -2830,7 +2830,7 @@ "body": null, "documentation": null, "functionSelector": "d21220a7", - "id": 7207, + "id": 7370, "implemented": false, "kind": "function", "modifiers": [], @@ -2838,23 +2838,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7203, + "id": 7366, "nodeType": "ParameterList", "parameters": [], "src": "1728:2:28" }, "returnParameters": { - "id": 7206, + "id": 7369, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7205, + "id": 7368, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7207, + "scope": 7370, "src": "1754:7:28", "stateVariable": false, "storageLocation": "default", @@ -2863,7 +2863,7 @@ "typeString": "address" }, "typeName": { - "id": 7204, + "id": 7367, "name": "address", "nodeType": "ElementaryTypeName", "src": "1754:7:28", @@ -2879,7 +2879,7 @@ ], "src": "1753:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1713:50:28", "stateMutability": "view", "virtual": false, @@ -2889,7 +2889,7 @@ "body": null, "documentation": null, "functionSelector": "0902f1ac", - "id": 7216, + "id": 7379, "implemented": false, "kind": "function", "modifiers": [], @@ -2897,23 +2897,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7208, + "id": 7371, "nodeType": "ParameterList", "parameters": [], "src": "1788:2:28" }, "returnParameters": { - "id": 7215, + "id": 7378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7210, + "id": 7373, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1814:16:28", "stateVariable": false, "storageLocation": "default", @@ -2922,7 +2922,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7209, + "id": 7372, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1814:7:28", @@ -2936,12 +2936,12 @@ }, { "constant": false, - "id": 7212, + "id": 7375, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1832:16:28", "stateVariable": false, "storageLocation": "default", @@ -2950,7 +2950,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7211, + "id": 7374, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1832:7:28", @@ -2964,12 +2964,12 @@ }, { "constant": false, - "id": 7214, + "id": 7377, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1850:25:28", "stateVariable": false, "storageLocation": "default", @@ -2978,7 +2978,7 @@ "typeString": "uint32" }, "typeName": { - "id": 7213, + "id": 7376, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1850:6:28", @@ -2993,7 +2993,7 @@ ], "src": "1813:63:28" }, - "scope": 7274, + "scope": 7437, "src": "1768:109:28", "stateMutability": "view", "virtual": false, @@ -3003,7 +3003,7 @@ "body": null, "documentation": null, "functionSelector": "5909c0d5", - "id": 7221, + "id": 7384, "implemented": false, "kind": "function", "modifiers": [], @@ -3011,23 +3011,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7217, + "id": 7380, "nodeType": "ParameterList", "parameters": [], "src": "1911:2:28" }, "returnParameters": { - "id": 7220, + "id": 7383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7219, + "id": 7382, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7221, + "scope": 7384, "src": "1937:4:28", "stateVariable": false, "storageLocation": "default", @@ -3036,7 +3036,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7218, + "id": 7381, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1937:4:28", @@ -3051,7 +3051,7 @@ ], "src": "1936:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1882:61:28", "stateMutability": "view", "virtual": false, @@ -3061,7 +3061,7 @@ "body": null, "documentation": null, "functionSelector": "5a3d5493", - "id": 7226, + "id": 7389, "implemented": false, "kind": "function", "modifiers": [], @@ -3069,23 +3069,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7222, + "id": 7385, "nodeType": "ParameterList", "parameters": [], "src": "1977:2:28" }, "returnParameters": { - "id": 7225, + "id": 7388, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7224, + "id": 7387, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7226, + "scope": 7389, "src": "2003:4:28", "stateVariable": false, "storageLocation": "default", @@ -3094,7 +3094,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7223, + "id": 7386, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2003:4:28", @@ -3109,7 +3109,7 @@ ], "src": "2002:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1948:61:28", "stateMutability": "view", "virtual": false, @@ -3119,7 +3119,7 @@ "body": null, "documentation": null, "functionSelector": "7464fc3d", - "id": 7231, + "id": 7394, "implemented": false, "kind": "function", "modifiers": [], @@ -3127,23 +3127,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7227, + "id": 7390, "nodeType": "ParameterList", "parameters": [], "src": "2028:2:28" }, "returnParameters": { - "id": 7230, + "id": 7393, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7229, + "id": 7392, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7231, + "scope": 7394, "src": "2054:4:28", "stateVariable": false, "storageLocation": "default", @@ -3152,7 +3152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7228, + "id": 7391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2054:4:28", @@ -3167,7 +3167,7 @@ ], "src": "2053:6:28" }, - "scope": 7274, + "scope": 7437, "src": "2014:46:28", "stateMutability": "view", "virtual": false, @@ -3177,7 +3177,7 @@ "body": null, "documentation": null, "functionSelector": "6a627842", - "id": 7238, + "id": 7401, "implemented": false, "kind": "function", "modifiers": [], @@ -3185,17 +3185,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7234, + "id": 7397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7233, + "id": 7396, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7238, + "scope": 7401, "src": "2080:10:28", "stateVariable": false, "storageLocation": "default", @@ -3204,7 +3204,7 @@ "typeString": "address" }, "typeName": { - "id": 7232, + "id": 7395, "name": "address", "nodeType": "ElementaryTypeName", "src": "2080:7:28", @@ -3221,17 +3221,17 @@ "src": "2079:12:28" }, "returnParameters": { - "id": 7237, + "id": 7400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7236, + "id": 7399, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7238, + "scope": 7401, "src": "2110:14:28", "stateVariable": false, "storageLocation": "default", @@ -3240,7 +3240,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7235, + "id": 7398, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2110:4:28", @@ -3255,7 +3255,7 @@ ], "src": "2109:16:28" }, - "scope": 7274, + "scope": 7437, "src": "2066:60:28", "stateMutability": "nonpayable", "virtual": false, @@ -3265,7 +3265,7 @@ "body": null, "documentation": null, "functionSelector": "89afcb44", - "id": 7247, + "id": 7410, "implemented": false, "kind": "function", "modifiers": [], @@ -3273,17 +3273,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7241, + "id": 7404, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7240, + "id": 7403, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2145:10:28", "stateVariable": false, "storageLocation": "default", @@ -3292,7 +3292,7 @@ "typeString": "address" }, "typeName": { - "id": 7239, + "id": 7402, "name": "address", "nodeType": "ElementaryTypeName", "src": "2145:7:28", @@ -3309,17 +3309,17 @@ "src": "2144:12:28" }, "returnParameters": { - "id": 7246, + "id": 7409, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7243, + "id": 7406, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2175:12:28", "stateVariable": false, "storageLocation": "default", @@ -3328,7 +3328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7242, + "id": 7405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2175:4:28", @@ -3342,12 +3342,12 @@ }, { "constant": false, - "id": 7245, + "id": 7408, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2189:12:28", "stateVariable": false, "storageLocation": "default", @@ -3356,7 +3356,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7244, + "id": 7407, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2189:4:28", @@ -3371,7 +3371,7 @@ ], "src": "2174:28:28" }, - "scope": 7274, + "scope": 7437, "src": "2131:72:28", "stateMutability": "nonpayable", "virtual": false, @@ -3381,7 +3381,7 @@ "body": null, "documentation": null, "functionSelector": "022c0d9f", - "id": 7258, + "id": 7421, "implemented": false, "kind": "function", "modifiers": [], @@ -3389,17 +3389,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7256, + "id": 7419, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7249, + "id": 7412, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2222:15:28", "stateVariable": false, "storageLocation": "default", @@ -3408,7 +3408,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7248, + "id": 7411, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2222:4:28", @@ -3422,12 +3422,12 @@ }, { "constant": false, - "id": 7251, + "id": 7414, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2239:15:28", "stateVariable": false, "storageLocation": "default", @@ -3436,7 +3436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7250, + "id": 7413, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2239:4:28", @@ -3450,12 +3450,12 @@ }, { "constant": false, - "id": 7253, + "id": 7416, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2256:10:28", "stateVariable": false, "storageLocation": "default", @@ -3464,7 +3464,7 @@ "typeString": "address" }, "typeName": { - "id": 7252, + "id": 7415, "name": "address", "nodeType": "ElementaryTypeName", "src": "2256:7:28", @@ -3479,12 +3479,12 @@ }, { "constant": false, - "id": 7255, + "id": 7418, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2268:19:28", "stateVariable": false, "storageLocation": "calldata", @@ -3493,7 +3493,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7254, + "id": 7417, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2268:5:28", @@ -3509,12 +3509,12 @@ "src": "2221:67:28" }, "returnParameters": { - "id": 7257, + "id": 7420, "nodeType": "ParameterList", "parameters": [], "src": "2297:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2208:90:28", "stateMutability": "nonpayable", "virtual": false, @@ -3524,7 +3524,7 @@ "body": null, "documentation": null, "functionSelector": "bc25cf77", - "id": 7263, + "id": 7426, "implemented": false, "kind": "function", "modifiers": [], @@ -3532,17 +3532,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7261, + "id": 7424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7260, + "id": 7423, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7263, + "scope": 7426, "src": "2317:10:28", "stateVariable": false, "storageLocation": "default", @@ -3551,7 +3551,7 @@ "typeString": "address" }, "typeName": { - "id": 7259, + "id": 7422, "name": "address", "nodeType": "ElementaryTypeName", "src": "2317:7:28", @@ -3568,12 +3568,12 @@ "src": "2316:12:28" }, "returnParameters": { - "id": 7262, + "id": 7425, "nodeType": "ParameterList", "parameters": [], "src": "2337:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2303:35:28", "stateMutability": "nonpayable", "virtual": false, @@ -3583,7 +3583,7 @@ "body": null, "documentation": null, "functionSelector": "fff6cae9", - "id": 7266, + "id": 7429, "implemented": false, "kind": "function", "modifiers": [], @@ -3591,18 +3591,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7264, + "id": 7427, "nodeType": "ParameterList", "parameters": [], "src": "2356:2:28" }, "returnParameters": { - "id": 7265, + "id": 7428, "nodeType": "ParameterList", "parameters": [], "src": "2367:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2343:25:28", "stateMutability": "nonpayable", "virtual": false, @@ -3612,7 +3612,7 @@ "body": null, "documentation": null, "functionSelector": "485cc955", - "id": 7273, + "id": 7436, "implemented": false, "kind": "function", "modifiers": [], @@ -3620,17 +3620,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7271, + "id": 7434, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7268, + "id": 7431, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7273, + "scope": 7436, "src": "2394:7:28", "stateVariable": false, "storageLocation": "default", @@ -3639,7 +3639,7 @@ "typeString": "address" }, "typeName": { - "id": 7267, + "id": 7430, "name": "address", "nodeType": "ElementaryTypeName", "src": "2394:7:28", @@ -3654,12 +3654,12 @@ }, { "constant": false, - "id": 7270, + "id": 7433, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7273, + "scope": 7436, "src": "2403:7:28", "stateVariable": false, "storageLocation": "default", @@ -3668,7 +3668,7 @@ "typeString": "address" }, "typeName": { - "id": 7269, + "id": 7432, "name": "address", "nodeType": "ElementaryTypeName", "src": "2403:7:28", @@ -3685,19 +3685,19 @@ "src": "2393:18:28" }, "returnParameters": { - "id": 7272, + "id": 7435, "nodeType": "ParameterList", "parameters": [], "src": "2420:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2374:47:28", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 7275, + "scope": 7438, "src": "26:2397:28" } ], @@ -3707,14 +3707,14 @@ "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "exportedSymbols": { "IUniswapV2Pair": [ - 7274 + 7437 ] }, - "id": 7275, + "id": 7438, "nodeType": "SourceUnit", "nodes": [ { - "id": 7034, + "id": 7197, "literals": [ "solidity", ">=", @@ -3731,9 +3731,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 7274, + "id": 7437, "linearizedBaseContracts": [ - 7274 + 7437 ], "name": "IUniswapV2Pair", "nodeType": "ContractDefinition", @@ -3741,22 +3741,22 @@ { "anonymous": false, "documentation": null, - "id": 7042, + "id": 7205, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 7041, + "id": 7204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7036, + "id": 7199, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "72:21:28", "stateVariable": false, "storageLocation": "default", @@ -3765,7 +3765,7 @@ "typeString": "address" }, "typeName": { - "id": 7035, + "id": 7198, "name": "address", "nodeType": "ElementaryTypeName", "src": "72:7:28", @@ -3780,13 +3780,13 @@ }, { "constant": false, - "id": 7038, + "id": 7201, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "95:23:28", "stateVariable": false, "storageLocation": "default", @@ -3795,7 +3795,7 @@ "typeString": "address" }, "typeName": { - "id": 7037, + "id": 7200, "name": "address", "nodeType": "ElementaryTypeName", "src": "95:7:28", @@ -3810,13 +3810,13 @@ }, { "constant": false, - "id": 7040, + "id": 7203, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7042, + "scope": 7205, "src": "120:10:28", "stateVariable": false, "storageLocation": "default", @@ -3825,7 +3825,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7039, + "id": 7202, "name": "uint", "nodeType": "ElementaryTypeName", "src": "120:4:28", @@ -3845,22 +3845,22 @@ { "anonymous": false, "documentation": null, - "id": 7050, + "id": 7213, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 7049, + "id": 7212, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7044, + "id": 7207, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "152:20:28", "stateVariable": false, "storageLocation": "default", @@ -3869,7 +3869,7 @@ "typeString": "address" }, "typeName": { - "id": 7043, + "id": 7206, "name": "address", "nodeType": "ElementaryTypeName", "src": "152:7:28", @@ -3884,13 +3884,13 @@ }, { "constant": false, - "id": 7046, + "id": 7209, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "174:18:28", "stateVariable": false, "storageLocation": "default", @@ -3899,7 +3899,7 @@ "typeString": "address" }, "typeName": { - "id": 7045, + "id": 7208, "name": "address", "nodeType": "ElementaryTypeName", "src": "174:7:28", @@ -3914,13 +3914,13 @@ }, { "constant": false, - "id": 7048, + "id": 7211, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7050, + "scope": 7213, "src": "194:10:28", "stateVariable": false, "storageLocation": "default", @@ -3929,7 +3929,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7047, + "id": 7210, "name": "uint", "nodeType": "ElementaryTypeName", "src": "194:4:28", @@ -3950,7 +3950,7 @@ "body": null, "documentation": null, "functionSelector": "06fdde03", - "id": 7055, + "id": 7218, "implemented": false, "kind": "function", "modifiers": [], @@ -3958,23 +3958,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7051, + "id": 7214, "nodeType": "ParameterList", "parameters": [], "src": "225:2:28" }, "returnParameters": { - "id": 7054, + "id": 7217, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7053, + "id": 7216, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7055, + "scope": 7218, "src": "251:13:28", "stateVariable": false, "storageLocation": "memory", @@ -3983,7 +3983,7 @@ "typeString": "string" }, "typeName": { - "id": 7052, + "id": 7215, "name": "string", "nodeType": "ElementaryTypeName", "src": "251:6:28", @@ -3998,7 +3998,7 @@ ], "src": "250:15:28" }, - "scope": 7274, + "scope": 7437, "src": "212:54:28", "stateMutability": "pure", "virtual": false, @@ -4008,7 +4008,7 @@ "body": null, "documentation": null, "functionSelector": "95d89b41", - "id": 7060, + "id": 7223, "implemented": false, "kind": "function", "modifiers": [], @@ -4016,23 +4016,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7056, + "id": 7219, "nodeType": "ParameterList", "parameters": [], "src": "286:2:28" }, "returnParameters": { - "id": 7059, + "id": 7222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7058, + "id": 7221, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7060, + "scope": 7223, "src": "312:13:28", "stateVariable": false, "storageLocation": "memory", @@ -4041,7 +4041,7 @@ "typeString": "string" }, "typeName": { - "id": 7057, + "id": 7220, "name": "string", "nodeType": "ElementaryTypeName", "src": "312:6:28", @@ -4056,7 +4056,7 @@ ], "src": "311:15:28" }, - "scope": 7274, + "scope": 7437, "src": "271:56:28", "stateMutability": "pure", "virtual": false, @@ -4066,7 +4066,7 @@ "body": null, "documentation": null, "functionSelector": "313ce567", - "id": 7065, + "id": 7228, "implemented": false, "kind": "function", "modifiers": [], @@ -4074,23 +4074,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7061, + "id": 7224, "nodeType": "ParameterList", "parameters": [], "src": "349:2:28" }, "returnParameters": { - "id": 7064, + "id": 7227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7063, + "id": 7226, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7065, + "scope": 7228, "src": "375:5:28", "stateVariable": false, "storageLocation": "default", @@ -4099,7 +4099,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7062, + "id": 7225, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "375:5:28", @@ -4114,7 +4114,7 @@ ], "src": "374:7:28" }, - "scope": 7274, + "scope": 7437, "src": "332:50:28", "stateMutability": "pure", "virtual": false, @@ -4124,7 +4124,7 @@ "body": null, "documentation": null, "functionSelector": "18160ddd", - "id": 7070, + "id": 7233, "implemented": false, "kind": "function", "modifiers": [], @@ -4132,23 +4132,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7066, + "id": 7229, "nodeType": "ParameterList", "parameters": [], "src": "407:2:28" }, "returnParameters": { - "id": 7069, + "id": 7232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7068, + "id": 7231, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7070, + "scope": 7233, "src": "433:4:28", "stateVariable": false, "storageLocation": "default", @@ -4157,7 +4157,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7067, + "id": 7230, "name": "uint", "nodeType": "ElementaryTypeName", "src": "433:4:28", @@ -4172,7 +4172,7 @@ ], "src": "432:6:28" }, - "scope": 7274, + "scope": 7437, "src": "387:52:28", "stateMutability": "view", "virtual": false, @@ -4182,7 +4182,7 @@ "body": null, "documentation": null, "functionSelector": "70a08231", - "id": 7077, + "id": 7240, "implemented": false, "kind": "function", "modifiers": [], @@ -4190,17 +4190,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7073, + "id": 7236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7072, + "id": 7235, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7077, + "scope": 7240, "src": "463:13:28", "stateVariable": false, "storageLocation": "default", @@ -4209,7 +4209,7 @@ "typeString": "address" }, "typeName": { - "id": 7071, + "id": 7234, "name": "address", "nodeType": "ElementaryTypeName", "src": "463:7:28", @@ -4226,17 +4226,17 @@ "src": "462:15:28" }, "returnParameters": { - "id": 7076, + "id": 7239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7075, + "id": 7238, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7077, + "scope": 7240, "src": "501:4:28", "stateVariable": false, "storageLocation": "default", @@ -4245,7 +4245,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7074, + "id": 7237, "name": "uint", "nodeType": "ElementaryTypeName", "src": "501:4:28", @@ -4260,7 +4260,7 @@ ], "src": "500:6:28" }, - "scope": 7274, + "scope": 7437, "src": "444:63:28", "stateMutability": "view", "virtual": false, @@ -4270,7 +4270,7 @@ "body": null, "documentation": null, "functionSelector": "dd62ed3e", - "id": 7086, + "id": 7249, "implemented": false, "kind": "function", "modifiers": [], @@ -4278,17 +4278,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7082, + "id": 7245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7079, + "id": 7242, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "531:13:28", "stateVariable": false, "storageLocation": "default", @@ -4297,7 +4297,7 @@ "typeString": "address" }, "typeName": { - "id": 7078, + "id": 7241, "name": "address", "nodeType": "ElementaryTypeName", "src": "531:7:28", @@ -4312,12 +4312,12 @@ }, { "constant": false, - "id": 7081, + "id": 7244, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "546:15:28", "stateVariable": false, "storageLocation": "default", @@ -4326,7 +4326,7 @@ "typeString": "address" }, "typeName": { - "id": 7080, + "id": 7243, "name": "address", "nodeType": "ElementaryTypeName", "src": "546:7:28", @@ -4343,17 +4343,17 @@ "src": "530:32:28" }, "returnParameters": { - "id": 7085, + "id": 7248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7084, + "id": 7247, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7086, + "scope": 7249, "src": "586:4:28", "stateVariable": false, "storageLocation": "default", @@ -4362,7 +4362,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7083, + "id": 7246, "name": "uint", "nodeType": "ElementaryTypeName", "src": "586:4:28", @@ -4377,7 +4377,7 @@ ], "src": "585:6:28" }, - "scope": 7274, + "scope": 7437, "src": "512:80:28", "stateMutability": "view", "virtual": false, @@ -4387,7 +4387,7 @@ "body": null, "documentation": null, "functionSelector": "095ea7b3", - "id": 7095, + "id": 7258, "implemented": false, "kind": "function", "modifiers": [], @@ -4395,17 +4395,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7091, + "id": 7254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7088, + "id": 7251, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "615:15:28", "stateVariable": false, "storageLocation": "default", @@ -4414,7 +4414,7 @@ "typeString": "address" }, "typeName": { - "id": 7087, + "id": 7250, "name": "address", "nodeType": "ElementaryTypeName", "src": "615:7:28", @@ -4429,12 +4429,12 @@ }, { "constant": false, - "id": 7090, + "id": 7253, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "632:10:28", "stateVariable": false, "storageLocation": "default", @@ -4443,7 +4443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7089, + "id": 7252, "name": "uint", "nodeType": "ElementaryTypeName", "src": "632:4:28", @@ -4459,17 +4459,17 @@ "src": "614:29:28" }, "returnParameters": { - "id": 7094, + "id": 7257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7093, + "id": 7256, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7095, + "scope": 7258, "src": "662:4:28", "stateVariable": false, "storageLocation": "default", @@ -4478,7 +4478,7 @@ "typeString": "bool" }, "typeName": { - "id": 7092, + "id": 7255, "name": "bool", "nodeType": "ElementaryTypeName", "src": "662:4:28", @@ -4493,7 +4493,7 @@ ], "src": "661:6:28" }, - "scope": 7274, + "scope": 7437, "src": "598:70:28", "stateMutability": "nonpayable", "virtual": false, @@ -4503,7 +4503,7 @@ "body": null, "documentation": null, "functionSelector": "a9059cbb", - "id": 7104, + "id": 7267, "implemented": false, "kind": "function", "modifiers": [], @@ -4511,17 +4511,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7100, + "id": 7263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7097, + "id": 7260, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "691:10:28", "stateVariable": false, "storageLocation": "default", @@ -4530,7 +4530,7 @@ "typeString": "address" }, "typeName": { - "id": 7096, + "id": 7259, "name": "address", "nodeType": "ElementaryTypeName", "src": "691:7:28", @@ -4545,12 +4545,12 @@ }, { "constant": false, - "id": 7099, + "id": 7262, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "703:10:28", "stateVariable": false, "storageLocation": "default", @@ -4559,7 +4559,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7098, + "id": 7261, "name": "uint", "nodeType": "ElementaryTypeName", "src": "703:4:28", @@ -4575,17 +4575,17 @@ "src": "690:24:28" }, "returnParameters": { - "id": 7103, + "id": 7266, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7102, + "id": 7265, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7104, + "scope": 7267, "src": "733:4:28", "stateVariable": false, "storageLocation": "default", @@ -4594,7 +4594,7 @@ "typeString": "bool" }, "typeName": { - "id": 7101, + "id": 7264, "name": "bool", "nodeType": "ElementaryTypeName", "src": "733:4:28", @@ -4609,7 +4609,7 @@ ], "src": "732:6:28" }, - "scope": 7274, + "scope": 7437, "src": "673:66:28", "stateMutability": "nonpayable", "virtual": false, @@ -4619,7 +4619,7 @@ "body": null, "documentation": null, "functionSelector": "23b872dd", - "id": 7115, + "id": 7278, "implemented": false, "kind": "function", "modifiers": [], @@ -4627,17 +4627,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7111, + "id": 7274, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7106, + "id": 7269, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "766:12:28", "stateVariable": false, "storageLocation": "default", @@ -4646,7 +4646,7 @@ "typeString": "address" }, "typeName": { - "id": 7105, + "id": 7268, "name": "address", "nodeType": "ElementaryTypeName", "src": "766:7:28", @@ -4661,12 +4661,12 @@ }, { "constant": false, - "id": 7108, + "id": 7271, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "780:10:28", "stateVariable": false, "storageLocation": "default", @@ -4675,7 +4675,7 @@ "typeString": "address" }, "typeName": { - "id": 7107, + "id": 7270, "name": "address", "nodeType": "ElementaryTypeName", "src": "780:7:28", @@ -4690,12 +4690,12 @@ }, { "constant": false, - "id": 7110, + "id": 7273, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "792:10:28", "stateVariable": false, "storageLocation": "default", @@ -4704,7 +4704,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7109, + "id": 7272, "name": "uint", "nodeType": "ElementaryTypeName", "src": "792:4:28", @@ -4720,17 +4720,17 @@ "src": "765:38:28" }, "returnParameters": { - "id": 7114, + "id": 7277, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7113, + "id": 7276, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7115, + "scope": 7278, "src": "822:4:28", "stateVariable": false, "storageLocation": "default", @@ -4739,7 +4739,7 @@ "typeString": "bool" }, "typeName": { - "id": 7112, + "id": 7275, "name": "bool", "nodeType": "ElementaryTypeName", "src": "822:4:28", @@ -4754,7 +4754,7 @@ ], "src": "821:6:28" }, - "scope": 7274, + "scope": 7437, "src": "744:84:28", "stateMutability": "nonpayable", "virtual": false, @@ -4764,7 +4764,7 @@ "body": null, "documentation": null, "functionSelector": "3644e515", - "id": 7120, + "id": 7283, "implemented": false, "kind": "function", "modifiers": [], @@ -4772,23 +4772,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7116, + "id": 7279, "nodeType": "ParameterList", "parameters": [], "src": "859:2:28" }, "returnParameters": { - "id": 7119, + "id": 7282, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7118, + "id": 7281, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7120, + "scope": 7283, "src": "885:7:28", "stateVariable": false, "storageLocation": "default", @@ -4797,7 +4797,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7117, + "id": 7280, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "885:7:28", @@ -4812,7 +4812,7 @@ ], "src": "884:9:28" }, - "scope": 7274, + "scope": 7437, "src": "834:60:28", "stateMutability": "view", "virtual": false, @@ -4822,7 +4822,7 @@ "body": null, "documentation": null, "functionSelector": "30adf81f", - "id": 7125, + "id": 7288, "implemented": false, "kind": "function", "modifiers": [], @@ -4830,23 +4830,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7121, + "id": 7284, "nodeType": "ParameterList", "parameters": [], "src": "923:2:28" }, "returnParameters": { - "id": 7124, + "id": 7287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7123, + "id": 7286, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7125, + "scope": 7288, "src": "949:7:28", "stateVariable": false, "storageLocation": "default", @@ -4855,7 +4855,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7122, + "id": 7285, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "949:7:28", @@ -4870,7 +4870,7 @@ ], "src": "948:9:28" }, - "scope": 7274, + "scope": 7437, "src": "899:59:28", "stateMutability": "pure", "virtual": false, @@ -4880,7 +4880,7 @@ "body": null, "documentation": null, "functionSelector": "7ecebe00", - "id": 7132, + "id": 7295, "implemented": false, "kind": "function", "modifiers": [], @@ -4888,17 +4888,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7128, + "id": 7291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7127, + "id": 7290, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7132, + "scope": 7295, "src": "979:13:28", "stateVariable": false, "storageLocation": "default", @@ -4907,7 +4907,7 @@ "typeString": "address" }, "typeName": { - "id": 7126, + "id": 7289, "name": "address", "nodeType": "ElementaryTypeName", "src": "979:7:28", @@ -4924,17 +4924,17 @@ "src": "978:15:28" }, "returnParameters": { - "id": 7131, + "id": 7294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7130, + "id": 7293, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7132, + "scope": 7295, "src": "1017:4:28", "stateVariable": false, "storageLocation": "default", @@ -4943,7 +4943,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7129, + "id": 7292, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1017:4:28", @@ -4958,7 +4958,7 @@ ], "src": "1016:6:28" }, - "scope": 7274, + "scope": 7437, "src": "963:60:28", "stateMutability": "view", "virtual": false, @@ -4968,7 +4968,7 @@ "body": null, "documentation": null, "functionSelector": "d505accf", - "id": 7149, + "id": 7312, "implemented": false, "kind": "function", "modifiers": [], @@ -4976,17 +4976,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7147, + "id": 7310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7134, + "id": 7297, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1045:13:28", "stateVariable": false, "storageLocation": "default", @@ -4995,7 +4995,7 @@ "typeString": "address" }, "typeName": { - "id": 7133, + "id": 7296, "name": "address", "nodeType": "ElementaryTypeName", "src": "1045:7:28", @@ -5010,12 +5010,12 @@ }, { "constant": false, - "id": 7136, + "id": 7299, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1060:15:28", "stateVariable": false, "storageLocation": "default", @@ -5024,7 +5024,7 @@ "typeString": "address" }, "typeName": { - "id": 7135, + "id": 7298, "name": "address", "nodeType": "ElementaryTypeName", "src": "1060:7:28", @@ -5039,12 +5039,12 @@ }, { "constant": false, - "id": 7138, + "id": 7301, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1077:10:28", "stateVariable": false, "storageLocation": "default", @@ -5053,7 +5053,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7137, + "id": 7300, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1077:4:28", @@ -5067,12 +5067,12 @@ }, { "constant": false, - "id": 7140, + "id": 7303, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1089:13:28", "stateVariable": false, "storageLocation": "default", @@ -5081,7 +5081,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7139, + "id": 7302, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1089:4:28", @@ -5095,12 +5095,12 @@ }, { "constant": false, - "id": 7142, + "id": 7305, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1104:7:28", "stateVariable": false, "storageLocation": "default", @@ -5109,7 +5109,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7141, + "id": 7304, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1104:5:28", @@ -5123,12 +5123,12 @@ }, { "constant": false, - "id": 7144, + "id": 7307, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1113:9:28", "stateVariable": false, "storageLocation": "default", @@ -5137,7 +5137,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7143, + "id": 7306, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1113:7:28", @@ -5151,12 +5151,12 @@ }, { "constant": false, - "id": 7146, + "id": 7309, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7149, + "scope": 7312, "src": "1124:9:28", "stateVariable": false, "storageLocation": "default", @@ -5165,7 +5165,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7145, + "id": 7308, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1124:7:28", @@ -5181,12 +5181,12 @@ "src": "1044:90:28" }, "returnParameters": { - "id": 7148, + "id": 7311, "nodeType": "ParameterList", "parameters": [], "src": "1143:0:28" }, - "scope": 7274, + "scope": 7437, "src": "1029:115:28", "stateMutability": "nonpayable", "virtual": false, @@ -5195,22 +5195,22 @@ { "anonymous": false, "documentation": null, - "id": 7157, + "id": 7320, "name": "Mint", "nodeType": "EventDefinition", "parameters": { - "id": 7156, + "id": 7319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7151, + "id": 7314, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1161:22:28", "stateVariable": false, "storageLocation": "default", @@ -5219,7 +5219,7 @@ "typeString": "address" }, "typeName": { - "id": 7150, + "id": 7313, "name": "address", "nodeType": "ElementaryTypeName", "src": "1161:7:28", @@ -5234,13 +5234,13 @@ }, { "constant": false, - "id": 7153, + "id": 7316, "indexed": false, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1185:12:28", "stateVariable": false, "storageLocation": "default", @@ -5249,7 +5249,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7152, + "id": 7315, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1185:4:28", @@ -5263,13 +5263,13 @@ }, { "constant": false, - "id": 7155, + "id": 7318, "indexed": false, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7157, + "scope": 7320, "src": "1199:12:28", "stateVariable": false, "storageLocation": "default", @@ -5278,7 +5278,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7154, + "id": 7317, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1199:4:28", @@ -5298,22 +5298,22 @@ { "anonymous": false, "documentation": null, - "id": 7167, + "id": 7330, "name": "Burn", "nodeType": "EventDefinition", "parameters": { - "id": 7166, + "id": 7329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7159, + "id": 7322, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1229:22:28", "stateVariable": false, "storageLocation": "default", @@ -5322,7 +5322,7 @@ "typeString": "address" }, "typeName": { - "id": 7158, + "id": 7321, "name": "address", "nodeType": "ElementaryTypeName", "src": "1229:7:28", @@ -5337,13 +5337,13 @@ }, { "constant": false, - "id": 7161, + "id": 7324, "indexed": false, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1253:12:28", "stateVariable": false, "storageLocation": "default", @@ -5352,7 +5352,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7160, + "id": 7323, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1253:4:28", @@ -5366,13 +5366,13 @@ }, { "constant": false, - "id": 7163, + "id": 7326, "indexed": false, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1267:12:28", "stateVariable": false, "storageLocation": "default", @@ -5381,7 +5381,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7162, + "id": 7325, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1267:4:28", @@ -5395,13 +5395,13 @@ }, { "constant": false, - "id": 7165, + "id": 7328, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7167, + "scope": 7330, "src": "1281:18:28", "stateVariable": false, "storageLocation": "default", @@ -5410,7 +5410,7 @@ "typeString": "address" }, "typeName": { - "id": 7164, + "id": 7327, "name": "address", "nodeType": "ElementaryTypeName", "src": "1281:7:28", @@ -5431,22 +5431,22 @@ { "anonymous": false, "documentation": null, - "id": 7181, + "id": 7344, "name": "Swap", "nodeType": "EventDefinition", "parameters": { - "id": 7180, + "id": 7343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7169, + "id": 7332, "indexed": true, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1326:22:28", "stateVariable": false, "storageLocation": "default", @@ -5455,7 +5455,7 @@ "typeString": "address" }, "typeName": { - "id": 7168, + "id": 7331, "name": "address", "nodeType": "ElementaryTypeName", "src": "1326:7:28", @@ -5470,13 +5470,13 @@ }, { "constant": false, - "id": 7171, + "id": 7334, "indexed": false, "mutability": "mutable", "name": "amount0In", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1358:14:28", "stateVariable": false, "storageLocation": "default", @@ -5485,7 +5485,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7170, + "id": 7333, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1358:4:28", @@ -5499,13 +5499,13 @@ }, { "constant": false, - "id": 7173, + "id": 7336, "indexed": false, "mutability": "mutable", "name": "amount1In", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1382:14:28", "stateVariable": false, "storageLocation": "default", @@ -5514,7 +5514,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7172, + "id": 7335, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1382:4:28", @@ -5528,13 +5528,13 @@ }, { "constant": false, - "id": 7175, + "id": 7338, "indexed": false, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1406:15:28", "stateVariable": false, "storageLocation": "default", @@ -5543,7 +5543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7174, + "id": 7337, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1406:4:28", @@ -5557,13 +5557,13 @@ }, { "constant": false, - "id": 7177, + "id": 7340, "indexed": false, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1431:15:28", "stateVariable": false, "storageLocation": "default", @@ -5572,7 +5572,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7176, + "id": 7339, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1431:4:28", @@ -5586,13 +5586,13 @@ }, { "constant": false, - "id": 7179, + "id": 7342, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7181, + "scope": 7344, "src": "1456:18:28", "stateVariable": false, "storageLocation": "default", @@ -5601,7 +5601,7 @@ "typeString": "address" }, "typeName": { - "id": 7178, + "id": 7341, "name": "address", "nodeType": "ElementaryTypeName", "src": "1456:7:28", @@ -5622,22 +5622,22 @@ { "anonymous": false, "documentation": null, - "id": 7187, + "id": 7350, "name": "Sync", "nodeType": "EventDefinition", "parameters": { - "id": 7186, + "id": 7349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7183, + "id": 7346, "indexed": false, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7187, + "scope": 7350, "src": "1497:16:28", "stateVariable": false, "storageLocation": "default", @@ -5646,7 +5646,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7182, + "id": 7345, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1497:7:28", @@ -5660,13 +5660,13 @@ }, { "constant": false, - "id": 7185, + "id": 7348, "indexed": false, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7187, + "scope": 7350, "src": "1515:16:28", "stateVariable": false, "storageLocation": "default", @@ -5675,7 +5675,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7184, + "id": 7347, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1515:7:28", @@ -5696,7 +5696,7 @@ "body": null, "documentation": null, "functionSelector": "ba9a7a56", - "id": 7192, + "id": 7355, "implemented": false, "kind": "function", "modifiers": [], @@ -5704,23 +5704,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7188, + "id": 7351, "nodeType": "ParameterList", "parameters": [], "src": "1565:2:28" }, "returnParameters": { - "id": 7191, + "id": 7354, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7190, + "id": 7353, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7192, + "scope": 7355, "src": "1591:4:28", "stateVariable": false, "storageLocation": "default", @@ -5729,7 +5729,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7189, + "id": 7352, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1591:4:28", @@ -5744,7 +5744,7 @@ ], "src": "1590:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1539:58:28", "stateMutability": "pure", "virtual": false, @@ -5754,7 +5754,7 @@ "body": null, "documentation": null, "functionSelector": "c45a0155", - "id": 7197, + "id": 7360, "implemented": false, "kind": "function", "modifiers": [], @@ -5762,23 +5762,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7193, + "id": 7356, "nodeType": "ParameterList", "parameters": [], "src": "1618:2:28" }, "returnParameters": { - "id": 7196, + "id": 7359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7195, + "id": 7358, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7197, + "scope": 7360, "src": "1644:7:28", "stateVariable": false, "storageLocation": "default", @@ -5787,7 +5787,7 @@ "typeString": "address" }, "typeName": { - "id": 7194, + "id": 7357, "name": "address", "nodeType": "ElementaryTypeName", "src": "1644:7:28", @@ -5803,7 +5803,7 @@ ], "src": "1643:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1602:51:28", "stateMutability": "view", "virtual": false, @@ -5813,7 +5813,7 @@ "body": null, "documentation": null, "functionSelector": "0dfe1681", - "id": 7202, + "id": 7365, "implemented": false, "kind": "function", "modifiers": [], @@ -5821,23 +5821,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7198, + "id": 7361, "nodeType": "ParameterList", "parameters": [], "src": "1673:2:28" }, "returnParameters": { - "id": 7201, + "id": 7364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7200, + "id": 7363, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7202, + "scope": 7365, "src": "1699:7:28", "stateVariable": false, "storageLocation": "default", @@ -5846,7 +5846,7 @@ "typeString": "address" }, "typeName": { - "id": 7199, + "id": 7362, "name": "address", "nodeType": "ElementaryTypeName", "src": "1699:7:28", @@ -5862,7 +5862,7 @@ ], "src": "1698:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1658:50:28", "stateMutability": "view", "virtual": false, @@ -5872,7 +5872,7 @@ "body": null, "documentation": null, "functionSelector": "d21220a7", - "id": 7207, + "id": 7370, "implemented": false, "kind": "function", "modifiers": [], @@ -5880,23 +5880,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7203, + "id": 7366, "nodeType": "ParameterList", "parameters": [], "src": "1728:2:28" }, "returnParameters": { - "id": 7206, + "id": 7369, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7205, + "id": 7368, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7207, + "scope": 7370, "src": "1754:7:28", "stateVariable": false, "storageLocation": "default", @@ -5905,7 +5905,7 @@ "typeString": "address" }, "typeName": { - "id": 7204, + "id": 7367, "name": "address", "nodeType": "ElementaryTypeName", "src": "1754:7:28", @@ -5921,7 +5921,7 @@ ], "src": "1753:9:28" }, - "scope": 7274, + "scope": 7437, "src": "1713:50:28", "stateMutability": "view", "virtual": false, @@ -5931,7 +5931,7 @@ "body": null, "documentation": null, "functionSelector": "0902f1ac", - "id": 7216, + "id": 7379, "implemented": false, "kind": "function", "modifiers": [], @@ -5939,23 +5939,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7208, + "id": 7371, "nodeType": "ParameterList", "parameters": [], "src": "1788:2:28" }, "returnParameters": { - "id": 7215, + "id": 7378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7210, + "id": 7373, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1814:16:28", "stateVariable": false, "storageLocation": "default", @@ -5964,7 +5964,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7209, + "id": 7372, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1814:7:28", @@ -5978,12 +5978,12 @@ }, { "constant": false, - "id": 7212, + "id": 7375, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1832:16:28", "stateVariable": false, "storageLocation": "default", @@ -5992,7 +5992,7 @@ "typeString": "uint112" }, "typeName": { - "id": 7211, + "id": 7374, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1832:7:28", @@ -6006,12 +6006,12 @@ }, { "constant": false, - "id": 7214, + "id": 7377, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7216, + "scope": 7379, "src": "1850:25:28", "stateVariable": false, "storageLocation": "default", @@ -6020,7 +6020,7 @@ "typeString": "uint32" }, "typeName": { - "id": 7213, + "id": 7376, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1850:6:28", @@ -6035,7 +6035,7 @@ ], "src": "1813:63:28" }, - "scope": 7274, + "scope": 7437, "src": "1768:109:28", "stateMutability": "view", "virtual": false, @@ -6045,7 +6045,7 @@ "body": null, "documentation": null, "functionSelector": "5909c0d5", - "id": 7221, + "id": 7384, "implemented": false, "kind": "function", "modifiers": [], @@ -6053,23 +6053,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7217, + "id": 7380, "nodeType": "ParameterList", "parameters": [], "src": "1911:2:28" }, "returnParameters": { - "id": 7220, + "id": 7383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7219, + "id": 7382, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7221, + "scope": 7384, "src": "1937:4:28", "stateVariable": false, "storageLocation": "default", @@ -6078,7 +6078,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7218, + "id": 7381, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1937:4:28", @@ -6093,7 +6093,7 @@ ], "src": "1936:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1882:61:28", "stateMutability": "view", "virtual": false, @@ -6103,7 +6103,7 @@ "body": null, "documentation": null, "functionSelector": "5a3d5493", - "id": 7226, + "id": 7389, "implemented": false, "kind": "function", "modifiers": [], @@ -6111,23 +6111,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7222, + "id": 7385, "nodeType": "ParameterList", "parameters": [], "src": "1977:2:28" }, "returnParameters": { - "id": 7225, + "id": 7388, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7224, + "id": 7387, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7226, + "scope": 7389, "src": "2003:4:28", "stateVariable": false, "storageLocation": "default", @@ -6136,7 +6136,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7223, + "id": 7386, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2003:4:28", @@ -6151,7 +6151,7 @@ ], "src": "2002:6:28" }, - "scope": 7274, + "scope": 7437, "src": "1948:61:28", "stateMutability": "view", "virtual": false, @@ -6161,7 +6161,7 @@ "body": null, "documentation": null, "functionSelector": "7464fc3d", - "id": 7231, + "id": 7394, "implemented": false, "kind": "function", "modifiers": [], @@ -6169,23 +6169,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7227, + "id": 7390, "nodeType": "ParameterList", "parameters": [], "src": "2028:2:28" }, "returnParameters": { - "id": 7230, + "id": 7393, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7229, + "id": 7392, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7231, + "scope": 7394, "src": "2054:4:28", "stateVariable": false, "storageLocation": "default", @@ -6194,7 +6194,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7228, + "id": 7391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2054:4:28", @@ -6209,7 +6209,7 @@ ], "src": "2053:6:28" }, - "scope": 7274, + "scope": 7437, "src": "2014:46:28", "stateMutability": "view", "virtual": false, @@ -6219,7 +6219,7 @@ "body": null, "documentation": null, "functionSelector": "6a627842", - "id": 7238, + "id": 7401, "implemented": false, "kind": "function", "modifiers": [], @@ -6227,17 +6227,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7234, + "id": 7397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7233, + "id": 7396, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7238, + "scope": 7401, "src": "2080:10:28", "stateVariable": false, "storageLocation": "default", @@ -6246,7 +6246,7 @@ "typeString": "address" }, "typeName": { - "id": 7232, + "id": 7395, "name": "address", "nodeType": "ElementaryTypeName", "src": "2080:7:28", @@ -6263,17 +6263,17 @@ "src": "2079:12:28" }, "returnParameters": { - "id": 7237, + "id": 7400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7236, + "id": 7399, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7238, + "scope": 7401, "src": "2110:14:28", "stateVariable": false, "storageLocation": "default", @@ -6282,7 +6282,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7235, + "id": 7398, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2110:4:28", @@ -6297,7 +6297,7 @@ ], "src": "2109:16:28" }, - "scope": 7274, + "scope": 7437, "src": "2066:60:28", "stateMutability": "nonpayable", "virtual": false, @@ -6307,7 +6307,7 @@ "body": null, "documentation": null, "functionSelector": "89afcb44", - "id": 7247, + "id": 7410, "implemented": false, "kind": "function", "modifiers": [], @@ -6315,17 +6315,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7241, + "id": 7404, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7240, + "id": 7403, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2145:10:28", "stateVariable": false, "storageLocation": "default", @@ -6334,7 +6334,7 @@ "typeString": "address" }, "typeName": { - "id": 7239, + "id": 7402, "name": "address", "nodeType": "ElementaryTypeName", "src": "2145:7:28", @@ -6351,17 +6351,17 @@ "src": "2144:12:28" }, "returnParameters": { - "id": 7246, + "id": 7409, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7243, + "id": 7406, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2175:12:28", "stateVariable": false, "storageLocation": "default", @@ -6370,7 +6370,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7242, + "id": 7405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2175:4:28", @@ -6384,12 +6384,12 @@ }, { "constant": false, - "id": 7245, + "id": 7408, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7247, + "scope": 7410, "src": "2189:12:28", "stateVariable": false, "storageLocation": "default", @@ -6398,7 +6398,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7244, + "id": 7407, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2189:4:28", @@ -6413,7 +6413,7 @@ ], "src": "2174:28:28" }, - "scope": 7274, + "scope": 7437, "src": "2131:72:28", "stateMutability": "nonpayable", "virtual": false, @@ -6423,7 +6423,7 @@ "body": null, "documentation": null, "functionSelector": "022c0d9f", - "id": 7258, + "id": 7421, "implemented": false, "kind": "function", "modifiers": [], @@ -6431,17 +6431,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7256, + "id": 7419, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7249, + "id": 7412, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2222:15:28", "stateVariable": false, "storageLocation": "default", @@ -6450,7 +6450,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7248, + "id": 7411, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2222:4:28", @@ -6464,12 +6464,12 @@ }, { "constant": false, - "id": 7251, + "id": 7414, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2239:15:28", "stateVariable": false, "storageLocation": "default", @@ -6478,7 +6478,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7250, + "id": 7413, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2239:4:28", @@ -6492,12 +6492,12 @@ }, { "constant": false, - "id": 7253, + "id": 7416, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2256:10:28", "stateVariable": false, "storageLocation": "default", @@ -6506,7 +6506,7 @@ "typeString": "address" }, "typeName": { - "id": 7252, + "id": 7415, "name": "address", "nodeType": "ElementaryTypeName", "src": "2256:7:28", @@ -6521,12 +6521,12 @@ }, { "constant": false, - "id": 7255, + "id": 7418, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7258, + "scope": 7421, "src": "2268:19:28", "stateVariable": false, "storageLocation": "calldata", @@ -6535,7 +6535,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7254, + "id": 7417, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2268:5:28", @@ -6551,12 +6551,12 @@ "src": "2221:67:28" }, "returnParameters": { - "id": 7257, + "id": 7420, "nodeType": "ParameterList", "parameters": [], "src": "2297:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2208:90:28", "stateMutability": "nonpayable", "virtual": false, @@ -6566,7 +6566,7 @@ "body": null, "documentation": null, "functionSelector": "bc25cf77", - "id": 7263, + "id": 7426, "implemented": false, "kind": "function", "modifiers": [], @@ -6574,17 +6574,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7261, + "id": 7424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7260, + "id": 7423, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7263, + "scope": 7426, "src": "2317:10:28", "stateVariable": false, "storageLocation": "default", @@ -6593,7 +6593,7 @@ "typeString": "address" }, "typeName": { - "id": 7259, + "id": 7422, "name": "address", "nodeType": "ElementaryTypeName", "src": "2317:7:28", @@ -6610,12 +6610,12 @@ "src": "2316:12:28" }, "returnParameters": { - "id": 7262, + "id": 7425, "nodeType": "ParameterList", "parameters": [], "src": "2337:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2303:35:28", "stateMutability": "nonpayable", "virtual": false, @@ -6625,7 +6625,7 @@ "body": null, "documentation": null, "functionSelector": "fff6cae9", - "id": 7266, + "id": 7429, "implemented": false, "kind": "function", "modifiers": [], @@ -6633,18 +6633,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7264, + "id": 7427, "nodeType": "ParameterList", "parameters": [], "src": "2356:2:28" }, "returnParameters": { - "id": 7265, + "id": 7428, "nodeType": "ParameterList", "parameters": [], "src": "2367:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2343:25:28", "stateMutability": "nonpayable", "virtual": false, @@ -6654,7 +6654,7 @@ "body": null, "documentation": null, "functionSelector": "485cc955", - "id": 7273, + "id": 7436, "implemented": false, "kind": "function", "modifiers": [], @@ -6662,17 +6662,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7271, + "id": 7434, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7268, + "id": 7431, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7273, + "scope": 7436, "src": "2394:7:28", "stateVariable": false, "storageLocation": "default", @@ -6681,7 +6681,7 @@ "typeString": "address" }, "typeName": { - "id": 7267, + "id": 7430, "name": "address", "nodeType": "ElementaryTypeName", "src": "2394:7:28", @@ -6696,12 +6696,12 @@ }, { "constant": false, - "id": 7270, + "id": 7433, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7273, + "scope": 7436, "src": "2403:7:28", "stateVariable": false, "storageLocation": "default", @@ -6710,7 +6710,7 @@ "typeString": "address" }, "typeName": { - "id": 7269, + "id": 7432, "name": "address", "nodeType": "ElementaryTypeName", "src": "2403:7:28", @@ -6727,19 +6727,19 @@ "src": "2393:18:28" }, "returnParameters": { - "id": 7272, + "id": 7435, "nodeType": "ParameterList", "parameters": [], "src": "2420:0:28" }, - "scope": 7274, + "scope": 7437, "src": "2374:47:28", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 7275, + "scope": 7438, "src": "26:2397:28" } ], @@ -6751,7 +6751,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.060Z", + "updatedAt": "2020-12-12T01:13:52.603Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/IUniswapV2Router01.json b/AskoLend-contracts/build/contracts/IUniswapV2Router01.json index bc5149e2..84f602b2 100644 --- a/AskoLend-contracts/build/contracts/IUniswapV2Router01.json +++ b/AskoLend-contracts/build/contracts/IUniswapV2Router01.json @@ -763,14 +763,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "exportedSymbols": { "IUniswapV2Router01": [ - 9704 + 9867 ] }, - "id": 9705, + "id": 9868, "nodeType": "SourceUnit", "nodes": [ { - "id": 9398, + "id": 9561, "literals": [ "solidity", ">=", @@ -787,9 +787,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9704, + "id": 9867, "linearizedBaseContracts": [ - 9704 + 9867 ], "name": "IUniswapV2Router01", "nodeType": "ContractDefinition", @@ -798,7 +798,7 @@ "body": null, "documentation": null, "functionSelector": "c45a0155", - "id": 9403, + "id": 9566, "implemented": false, "kind": "function", "modifiers": [], @@ -806,23 +806,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9399, + "id": 9562, "nodeType": "ParameterList", "parameters": [], "src": "77:2:31" }, "returnParameters": { - "id": 9402, + "id": 9565, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9401, + "id": 9564, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9403, + "scope": 9566, "src": "103:7:31", "stateVariable": false, "storageLocation": "default", @@ -831,7 +831,7 @@ "typeString": "address" }, "typeName": { - "id": 9400, + "id": 9563, "name": "address", "nodeType": "ElementaryTypeName", "src": "103:7:31", @@ -847,7 +847,7 @@ ], "src": "102:9:31" }, - "scope": 9704, + "scope": 9867, "src": "61:51:31", "stateMutability": "pure", "virtual": false, @@ -857,7 +857,7 @@ "body": null, "documentation": null, "functionSelector": "ad5c4648", - "id": 9408, + "id": 9571, "implemented": false, "kind": "function", "modifiers": [], @@ -865,23 +865,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9404, + "id": 9567, "nodeType": "ParameterList", "parameters": [], "src": "130:2:31" }, "returnParameters": { - "id": 9407, + "id": 9570, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9406, + "id": 9569, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9408, + "scope": 9571, "src": "156:7:31", "stateVariable": false, "storageLocation": "default", @@ -890,7 +890,7 @@ "typeString": "address" }, "typeName": { - "id": 9405, + "id": 9568, "name": "address", "nodeType": "ElementaryTypeName", "src": "156:7:31", @@ -906,7 +906,7 @@ ], "src": "155:9:31" }, - "scope": 9704, + "scope": 9867, "src": "117:48:31", "stateMutability": "pure", "virtual": false, @@ -916,7 +916,7 @@ "body": null, "documentation": null, "functionSelector": "e8e33700", - "id": 9433, + "id": 9596, "implemented": false, "kind": "function", "modifiers": [], @@ -924,17 +924,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9425, + "id": 9588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9410, + "id": 9573, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "202:14:31", "stateVariable": false, "storageLocation": "default", @@ -943,7 +943,7 @@ "typeString": "address" }, "typeName": { - "id": 9409, + "id": 9572, "name": "address", "nodeType": "ElementaryTypeName", "src": "202:7:31", @@ -958,12 +958,12 @@ }, { "constant": false, - "id": 9412, + "id": 9575, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "226:14:31", "stateVariable": false, "storageLocation": "default", @@ -972,7 +972,7 @@ "typeString": "address" }, "typeName": { - "id": 9411, + "id": 9574, "name": "address", "nodeType": "ElementaryTypeName", "src": "226:7:31", @@ -987,12 +987,12 @@ }, { "constant": false, - "id": 9414, + "id": 9577, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "250:19:31", "stateVariable": false, "storageLocation": "default", @@ -1001,7 +1001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9413, + "id": 9576, "name": "uint", "nodeType": "ElementaryTypeName", "src": "250:4:31", @@ -1015,12 +1015,12 @@ }, { "constant": false, - "id": 9416, + "id": 9579, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "279:19:31", "stateVariable": false, "storageLocation": "default", @@ -1029,7 +1029,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9415, + "id": 9578, "name": "uint", "nodeType": "ElementaryTypeName", "src": "279:4:31", @@ -1043,12 +1043,12 @@ }, { "constant": false, - "id": 9418, + "id": 9581, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "308:15:31", "stateVariable": false, "storageLocation": "default", @@ -1057,7 +1057,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9417, + "id": 9580, "name": "uint", "nodeType": "ElementaryTypeName", "src": "308:4:31", @@ -1071,12 +1071,12 @@ }, { "constant": false, - "id": 9420, + "id": 9583, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "333:15:31", "stateVariable": false, "storageLocation": "default", @@ -1085,7 +1085,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9419, + "id": 9582, "name": "uint", "nodeType": "ElementaryTypeName", "src": "333:4:31", @@ -1099,12 +1099,12 @@ }, { "constant": false, - "id": 9422, + "id": 9585, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "358:10:31", "stateVariable": false, "storageLocation": "default", @@ -1113,7 +1113,7 @@ "typeString": "address" }, "typeName": { - "id": 9421, + "id": 9584, "name": "address", "nodeType": "ElementaryTypeName", "src": "358:7:31", @@ -1128,12 +1128,12 @@ }, { "constant": false, - "id": 9424, + "id": 9587, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "378:13:31", "stateVariable": false, "storageLocation": "default", @@ -1142,7 +1142,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9423, + "id": 9586, "name": "uint", "nodeType": "ElementaryTypeName", "src": "378:4:31", @@ -1158,17 +1158,17 @@ "src": "192:205:31" }, "returnParameters": { - "id": 9432, + "id": 9595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9427, + "id": 9590, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "416:12:31", "stateVariable": false, "storageLocation": "default", @@ -1177,7 +1177,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9426, + "id": 9589, "name": "uint", "nodeType": "ElementaryTypeName", "src": "416:4:31", @@ -1191,12 +1191,12 @@ }, { "constant": false, - "id": 9429, + "id": 9592, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "430:12:31", "stateVariable": false, "storageLocation": "default", @@ -1205,7 +1205,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9428, + "id": 9591, "name": "uint", "nodeType": "ElementaryTypeName", "src": "430:4:31", @@ -1219,12 +1219,12 @@ }, { "constant": false, - "id": 9431, + "id": 9594, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "444:14:31", "stateVariable": false, "storageLocation": "default", @@ -1233,7 +1233,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9430, + "id": 9593, "name": "uint", "nodeType": "ElementaryTypeName", "src": "444:4:31", @@ -1248,7 +1248,7 @@ ], "src": "415:44:31" }, - "scope": 9704, + "scope": 9867, "src": "171:289:31", "stateMutability": "nonpayable", "virtual": false, @@ -1258,7 +1258,7 @@ "body": null, "documentation": null, "functionSelector": "f305d719", - "id": 9454, + "id": 9617, "implemented": false, "kind": "function", "modifiers": [], @@ -1266,17 +1266,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9446, + "id": 9609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9435, + "id": 9598, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "499:13:31", "stateVariable": false, "storageLocation": "default", @@ -1285,7 +1285,7 @@ "typeString": "address" }, "typeName": { - "id": 9434, + "id": 9597, "name": "address", "nodeType": "ElementaryTypeName", "src": "499:7:31", @@ -1300,12 +1300,12 @@ }, { "constant": false, - "id": 9437, + "id": 9600, "mutability": "mutable", "name": "amountTokenDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "522:23:31", "stateVariable": false, "storageLocation": "default", @@ -1314,7 +1314,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9436, + "id": 9599, "name": "uint", "nodeType": "ElementaryTypeName", "src": "522:4:31", @@ -1328,12 +1328,12 @@ }, { "constant": false, - "id": 9439, + "id": 9602, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "555:19:31", "stateVariable": false, "storageLocation": "default", @@ -1342,7 +1342,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9438, + "id": 9601, "name": "uint", "nodeType": "ElementaryTypeName", "src": "555:4:31", @@ -1356,12 +1356,12 @@ }, { "constant": false, - "id": 9441, + "id": 9604, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "584:17:31", "stateVariable": false, "storageLocation": "default", @@ -1370,7 +1370,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9440, + "id": 9603, "name": "uint", "nodeType": "ElementaryTypeName", "src": "584:4:31", @@ -1384,12 +1384,12 @@ }, { "constant": false, - "id": 9443, + "id": 9606, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "611:10:31", "stateVariable": false, "storageLocation": "default", @@ -1398,7 +1398,7 @@ "typeString": "address" }, "typeName": { - "id": 9442, + "id": 9605, "name": "address", "nodeType": "ElementaryTypeName", "src": "611:7:31", @@ -1413,12 +1413,12 @@ }, { "constant": false, - "id": 9445, + "id": 9608, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "631:13:31", "stateVariable": false, "storageLocation": "default", @@ -1427,7 +1427,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9444, + "id": 9607, "name": "uint", "nodeType": "ElementaryTypeName", "src": "631:4:31", @@ -1443,17 +1443,17 @@ "src": "489:161:31" }, "returnParameters": { - "id": 9453, + "id": 9616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9448, + "id": 9611, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "677:16:31", "stateVariable": false, "storageLocation": "default", @@ -1462,7 +1462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9447, + "id": 9610, "name": "uint", "nodeType": "ElementaryTypeName", "src": "677:4:31", @@ -1476,12 +1476,12 @@ }, { "constant": false, - "id": 9450, + "id": 9613, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "695:14:31", "stateVariable": false, "storageLocation": "default", @@ -1490,7 +1490,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9449, + "id": 9612, "name": "uint", "nodeType": "ElementaryTypeName", "src": "695:4:31", @@ -1504,12 +1504,12 @@ }, { "constant": false, - "id": 9452, + "id": 9615, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "711:14:31", "stateVariable": false, "storageLocation": "default", @@ -1518,7 +1518,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9451, + "id": 9614, "name": "uint", "nodeType": "ElementaryTypeName", "src": "711:4:31", @@ -1533,7 +1533,7 @@ ], "src": "676:50:31" }, - "scope": 9704, + "scope": 9867, "src": "465:262:31", "stateMutability": "payable", "virtual": false, @@ -1543,7 +1543,7 @@ "body": null, "documentation": null, "functionSelector": "baa2abde", - "id": 9475, + "id": 9638, "implemented": false, "kind": "function", "modifiers": [], @@ -1551,17 +1551,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9469, + "id": 9632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9456, + "id": 9619, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "766:14:31", "stateVariable": false, "storageLocation": "default", @@ -1570,7 +1570,7 @@ "typeString": "address" }, "typeName": { - "id": 9455, + "id": 9618, "name": "address", "nodeType": "ElementaryTypeName", "src": "766:7:31", @@ -1585,12 +1585,12 @@ }, { "constant": false, - "id": 9458, + "id": 9621, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "790:14:31", "stateVariable": false, "storageLocation": "default", @@ -1599,7 +1599,7 @@ "typeString": "address" }, "typeName": { - "id": 9457, + "id": 9620, "name": "address", "nodeType": "ElementaryTypeName", "src": "790:7:31", @@ -1614,12 +1614,12 @@ }, { "constant": false, - "id": 9460, + "id": 9623, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "814:14:31", "stateVariable": false, "storageLocation": "default", @@ -1628,7 +1628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9459, + "id": 9622, "name": "uint", "nodeType": "ElementaryTypeName", "src": "814:4:31", @@ -1642,12 +1642,12 @@ }, { "constant": false, - "id": 9462, + "id": 9625, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "838:15:31", "stateVariable": false, "storageLocation": "default", @@ -1656,7 +1656,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9461, + "id": 9624, "name": "uint", "nodeType": "ElementaryTypeName", "src": "838:4:31", @@ -1670,12 +1670,12 @@ }, { "constant": false, - "id": 9464, + "id": 9627, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "863:15:31", "stateVariable": false, "storageLocation": "default", @@ -1684,7 +1684,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9463, + "id": 9626, "name": "uint", "nodeType": "ElementaryTypeName", "src": "863:4:31", @@ -1698,12 +1698,12 @@ }, { "constant": false, - "id": 9466, + "id": 9629, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "888:10:31", "stateVariable": false, "storageLocation": "default", @@ -1712,7 +1712,7 @@ "typeString": "address" }, "typeName": { - "id": 9465, + "id": 9628, "name": "address", "nodeType": "ElementaryTypeName", "src": "888:7:31", @@ -1727,12 +1727,12 @@ }, { "constant": false, - "id": 9468, + "id": 9631, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "908:13:31", "stateVariable": false, "storageLocation": "default", @@ -1741,7 +1741,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9467, + "id": 9630, "name": "uint", "nodeType": "ElementaryTypeName", "src": "908:4:31", @@ -1757,17 +1757,17 @@ "src": "756:171:31" }, "returnParameters": { - "id": 9474, + "id": 9637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9471, + "id": 9634, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "946:12:31", "stateVariable": false, "storageLocation": "default", @@ -1776,7 +1776,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9470, + "id": 9633, "name": "uint", "nodeType": "ElementaryTypeName", "src": "946:4:31", @@ -1790,12 +1790,12 @@ }, { "constant": false, - "id": 9473, + "id": 9636, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "960:12:31", "stateVariable": false, "storageLocation": "default", @@ -1804,7 +1804,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9472, + "id": 9635, "name": "uint", "nodeType": "ElementaryTypeName", "src": "960:4:31", @@ -1819,7 +1819,7 @@ ], "src": "945:28:31" }, - "scope": 9704, + "scope": 9867, "src": "732:242:31", "stateMutability": "nonpayable", "virtual": false, @@ -1829,7 +1829,7 @@ "body": null, "documentation": null, "functionSelector": "02751cec", - "id": 9494, + "id": 9657, "implemented": false, "kind": "function", "modifiers": [], @@ -1837,17 +1837,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9488, + "id": 9651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9477, + "id": 9640, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1016:13:31", "stateVariable": false, "storageLocation": "default", @@ -1856,7 +1856,7 @@ "typeString": "address" }, "typeName": { - "id": 9476, + "id": 9639, "name": "address", "nodeType": "ElementaryTypeName", "src": "1016:7:31", @@ -1871,12 +1871,12 @@ }, { "constant": false, - "id": 9479, + "id": 9642, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1039:14:31", "stateVariable": false, "storageLocation": "default", @@ -1885,7 +1885,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9478, + "id": 9641, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1039:4:31", @@ -1899,12 +1899,12 @@ }, { "constant": false, - "id": 9481, + "id": 9644, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1063:19:31", "stateVariable": false, "storageLocation": "default", @@ -1913,7 +1913,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9480, + "id": 9643, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1063:4:31", @@ -1927,12 +1927,12 @@ }, { "constant": false, - "id": 9483, + "id": 9646, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1092:17:31", "stateVariable": false, "storageLocation": "default", @@ -1941,7 +1941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9482, + "id": 9645, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1092:4:31", @@ -1955,12 +1955,12 @@ }, { "constant": false, - "id": 9485, + "id": 9648, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1119:10:31", "stateVariable": false, "storageLocation": "default", @@ -1969,7 +1969,7 @@ "typeString": "address" }, "typeName": { - "id": 9484, + "id": 9647, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:31", @@ -1984,12 +1984,12 @@ }, { "constant": false, - "id": 9487, + "id": 9650, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1139:13:31", "stateVariable": false, "storageLocation": "default", @@ -1998,7 +1998,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9486, + "id": 9649, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1139:4:31", @@ -2014,17 +2014,17 @@ "src": "1006:152:31" }, "returnParameters": { - "id": 9493, + "id": 9656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9490, + "id": 9653, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1177:16:31", "stateVariable": false, "storageLocation": "default", @@ -2033,7 +2033,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9489, + "id": 9652, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1177:4:31", @@ -2047,12 +2047,12 @@ }, { "constant": false, - "id": 9492, + "id": 9655, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1195:14:31", "stateVariable": false, "storageLocation": "default", @@ -2061,7 +2061,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9491, + "id": 9654, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1195:4:31", @@ -2076,7 +2076,7 @@ ], "src": "1176:34:31" }, - "scope": 9704, + "scope": 9867, "src": "979:232:31", "stateMutability": "nonpayable", "virtual": false, @@ -2086,7 +2086,7 @@ "body": null, "documentation": null, "functionSelector": "2195995c", - "id": 9523, + "id": 9686, "implemented": false, "kind": "function", "modifiers": [], @@ -2094,17 +2094,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9517, + "id": 9680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9496, + "id": 9659, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1260:14:31", "stateVariable": false, "storageLocation": "default", @@ -2113,7 +2113,7 @@ "typeString": "address" }, "typeName": { - "id": 9495, + "id": 9658, "name": "address", "nodeType": "ElementaryTypeName", "src": "1260:7:31", @@ -2128,12 +2128,12 @@ }, { "constant": false, - "id": 9498, + "id": 9661, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1284:14:31", "stateVariable": false, "storageLocation": "default", @@ -2142,7 +2142,7 @@ "typeString": "address" }, "typeName": { - "id": 9497, + "id": 9660, "name": "address", "nodeType": "ElementaryTypeName", "src": "1284:7:31", @@ -2157,12 +2157,12 @@ }, { "constant": false, - "id": 9500, + "id": 9663, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1308:14:31", "stateVariable": false, "storageLocation": "default", @@ -2171,7 +2171,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9499, + "id": 9662, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1308:4:31", @@ -2185,12 +2185,12 @@ }, { "constant": false, - "id": 9502, + "id": 9665, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1332:15:31", "stateVariable": false, "storageLocation": "default", @@ -2199,7 +2199,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9501, + "id": 9664, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1332:4:31", @@ -2213,12 +2213,12 @@ }, { "constant": false, - "id": 9504, + "id": 9667, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1357:15:31", "stateVariable": false, "storageLocation": "default", @@ -2227,7 +2227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9503, + "id": 9666, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1357:4:31", @@ -2241,12 +2241,12 @@ }, { "constant": false, - "id": 9506, + "id": 9669, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1382:10:31", "stateVariable": false, "storageLocation": "default", @@ -2255,7 +2255,7 @@ "typeString": "address" }, "typeName": { - "id": 9505, + "id": 9668, "name": "address", "nodeType": "ElementaryTypeName", "src": "1382:7:31", @@ -2270,12 +2270,12 @@ }, { "constant": false, - "id": 9508, + "id": 9671, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1402:13:31", "stateVariable": false, "storageLocation": "default", @@ -2284,7 +2284,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9507, + "id": 9670, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1402:4:31", @@ -2298,12 +2298,12 @@ }, { "constant": false, - "id": 9510, + "id": 9673, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1425:15:31", "stateVariable": false, "storageLocation": "default", @@ -2312,7 +2312,7 @@ "typeString": "bool" }, "typeName": { - "id": 9509, + "id": 9672, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1425:4:31", @@ -2326,12 +2326,12 @@ }, { "constant": false, - "id": 9512, + "id": 9675, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1442:7:31", "stateVariable": false, "storageLocation": "default", @@ -2340,7 +2340,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9511, + "id": 9674, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1442:5:31", @@ -2354,12 +2354,12 @@ }, { "constant": false, - "id": 9514, + "id": 9677, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1451:9:31", "stateVariable": false, "storageLocation": "default", @@ -2368,7 +2368,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9513, + "id": 9676, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1451:7:31", @@ -2382,12 +2382,12 @@ }, { "constant": false, - "id": 9516, + "id": 9679, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1462:9:31", "stateVariable": false, "storageLocation": "default", @@ -2396,7 +2396,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9515, + "id": 9678, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1462:7:31", @@ -2412,17 +2412,17 @@ "src": "1250:227:31" }, "returnParameters": { - "id": 9522, + "id": 9685, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9519, + "id": 9682, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1496:12:31", "stateVariable": false, "storageLocation": "default", @@ -2431,7 +2431,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9518, + "id": 9681, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1496:4:31", @@ -2445,12 +2445,12 @@ }, { "constant": false, - "id": 9521, + "id": 9684, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1510:12:31", "stateVariable": false, "storageLocation": "default", @@ -2459,7 +2459,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9520, + "id": 9683, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1510:4:31", @@ -2474,7 +2474,7 @@ ], "src": "1495:28:31" }, - "scope": 9704, + "scope": 9867, "src": "1216:308:31", "stateMutability": "nonpayable", "virtual": false, @@ -2484,7 +2484,7 @@ "body": null, "documentation": null, "functionSelector": "ded9382a", - "id": 9550, + "id": 9713, "implemented": false, "kind": "function", "modifiers": [], @@ -2492,17 +2492,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9544, + "id": 9707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9525, + "id": 9688, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1576:13:31", "stateVariable": false, "storageLocation": "default", @@ -2511,7 +2511,7 @@ "typeString": "address" }, "typeName": { - "id": 9524, + "id": 9687, "name": "address", "nodeType": "ElementaryTypeName", "src": "1576:7:31", @@ -2526,12 +2526,12 @@ }, { "constant": false, - "id": 9527, + "id": 9690, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1599:14:31", "stateVariable": false, "storageLocation": "default", @@ -2540,7 +2540,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9526, + "id": 9689, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1599:4:31", @@ -2554,12 +2554,12 @@ }, { "constant": false, - "id": 9529, + "id": 9692, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1623:19:31", "stateVariable": false, "storageLocation": "default", @@ -2568,7 +2568,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9528, + "id": 9691, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1623:4:31", @@ -2582,12 +2582,12 @@ }, { "constant": false, - "id": 9531, + "id": 9694, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1652:17:31", "stateVariable": false, "storageLocation": "default", @@ -2596,7 +2596,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9530, + "id": 9693, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1652:4:31", @@ -2610,12 +2610,12 @@ }, { "constant": false, - "id": 9533, + "id": 9696, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1679:10:31", "stateVariable": false, "storageLocation": "default", @@ -2624,7 +2624,7 @@ "typeString": "address" }, "typeName": { - "id": 9532, + "id": 9695, "name": "address", "nodeType": "ElementaryTypeName", "src": "1679:7:31", @@ -2639,12 +2639,12 @@ }, { "constant": false, - "id": 9535, + "id": 9698, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1699:13:31", "stateVariable": false, "storageLocation": "default", @@ -2653,7 +2653,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9534, + "id": 9697, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1699:4:31", @@ -2667,12 +2667,12 @@ }, { "constant": false, - "id": 9537, + "id": 9700, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1722:15:31", "stateVariable": false, "storageLocation": "default", @@ -2681,7 +2681,7 @@ "typeString": "bool" }, "typeName": { - "id": 9536, + "id": 9699, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1722:4:31", @@ -2695,12 +2695,12 @@ }, { "constant": false, - "id": 9539, + "id": 9702, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1739:7:31", "stateVariable": false, "storageLocation": "default", @@ -2709,7 +2709,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9538, + "id": 9701, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1739:5:31", @@ -2723,12 +2723,12 @@ }, { "constant": false, - "id": 9541, + "id": 9704, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1748:9:31", "stateVariable": false, "storageLocation": "default", @@ -2737,7 +2737,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9540, + "id": 9703, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1748:7:31", @@ -2751,12 +2751,12 @@ }, { "constant": false, - "id": 9543, + "id": 9706, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1759:9:31", "stateVariable": false, "storageLocation": "default", @@ -2765,7 +2765,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9542, + "id": 9705, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1759:7:31", @@ -2781,17 +2781,17 @@ "src": "1566:208:31" }, "returnParameters": { - "id": 9549, + "id": 9712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9546, + "id": 9709, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1793:16:31", "stateVariable": false, "storageLocation": "default", @@ -2800,7 +2800,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9545, + "id": 9708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1793:4:31", @@ -2814,12 +2814,12 @@ }, { "constant": false, - "id": 9548, + "id": 9711, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1811:14:31", "stateVariable": false, "storageLocation": "default", @@ -2828,7 +2828,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9547, + "id": 9710, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1811:4:31", @@ -2843,7 +2843,7 @@ ], "src": "1792:34:31" }, - "scope": 9704, + "scope": 9867, "src": "1529:298:31", "stateMutability": "nonpayable", "virtual": false, @@ -2853,7 +2853,7 @@ "body": null, "documentation": null, "functionSelector": "38ed1739", - "id": 9567, + "id": 9730, "implemented": false, "kind": "function", "modifiers": [], @@ -2861,17 +2861,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9562, + "id": 9725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9552, + "id": 9715, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1875:13:31", "stateVariable": false, "storageLocation": "default", @@ -2880,7 +2880,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9551, + "id": 9714, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1875:4:31", @@ -2894,12 +2894,12 @@ }, { "constant": false, - "id": 9554, + "id": 9717, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1898:17:31", "stateVariable": false, "storageLocation": "default", @@ -2908,7 +2908,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9553, + "id": 9716, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1898:4:31", @@ -2922,12 +2922,12 @@ }, { "constant": false, - "id": 9557, + "id": 9720, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1925:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -2937,7 +2937,7 @@ }, "typeName": { "baseType": { - "id": 9555, + "id": 9718, "name": "address", "nodeType": "ElementaryTypeName", "src": "1925:7:31", @@ -2947,7 +2947,7 @@ "typeString": "address" } }, - "id": 9556, + "id": 9719, "length": null, "nodeType": "ArrayTypeName", "src": "1925:9:31", @@ -2961,12 +2961,12 @@ }, { "constant": false, - "id": 9559, + "id": 9722, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1958:10:31", "stateVariable": false, "storageLocation": "default", @@ -2975,7 +2975,7 @@ "typeString": "address" }, "typeName": { - "id": 9558, + "id": 9721, "name": "address", "nodeType": "ElementaryTypeName", "src": "1958:7:31", @@ -2990,12 +2990,12 @@ }, { "constant": false, - "id": 9561, + "id": 9724, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1978:13:31", "stateVariable": false, "storageLocation": "default", @@ -3004,7 +3004,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9560, + "id": 9723, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1978:4:31", @@ -3020,17 +3020,17 @@ "src": "1865:132:31" }, "returnParameters": { - "id": 9566, + "id": 9729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9565, + "id": 9728, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "2016:21:31", "stateVariable": false, "storageLocation": "memory", @@ -3040,7 +3040,7 @@ }, "typeName": { "baseType": { - "id": 9563, + "id": 9726, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2016:4:31", @@ -3049,7 +3049,7 @@ "typeString": "uint256" } }, - "id": 9564, + "id": 9727, "length": null, "nodeType": "ArrayTypeName", "src": "2016:6:31", @@ -3064,7 +3064,7 @@ ], "src": "2015:23:31" }, - "scope": 9704, + "scope": 9867, "src": "1832:207:31", "stateMutability": "nonpayable", "virtual": false, @@ -3074,7 +3074,7 @@ "body": null, "documentation": null, "functionSelector": "8803dbee", - "id": 9584, + "id": 9747, "implemented": false, "kind": "function", "modifiers": [], @@ -3082,17 +3082,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9579, + "id": 9742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9569, + "id": 9732, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2087:14:31", "stateVariable": false, "storageLocation": "default", @@ -3101,7 +3101,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9568, + "id": 9731, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2087:4:31", @@ -3115,12 +3115,12 @@ }, { "constant": false, - "id": 9571, + "id": 9734, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2111:16:31", "stateVariable": false, "storageLocation": "default", @@ -3129,7 +3129,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9570, + "id": 9733, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2111:4:31", @@ -3143,12 +3143,12 @@ }, { "constant": false, - "id": 9574, + "id": 9737, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2137:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -3158,7 +3158,7 @@ }, "typeName": { "baseType": { - "id": 9572, + "id": 9735, "name": "address", "nodeType": "ElementaryTypeName", "src": "2137:7:31", @@ -3168,7 +3168,7 @@ "typeString": "address" } }, - "id": 9573, + "id": 9736, "length": null, "nodeType": "ArrayTypeName", "src": "2137:9:31", @@ -3182,12 +3182,12 @@ }, { "constant": false, - "id": 9576, + "id": 9739, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2170:10:31", "stateVariable": false, "storageLocation": "default", @@ -3196,7 +3196,7 @@ "typeString": "address" }, "typeName": { - "id": 9575, + "id": 9738, "name": "address", "nodeType": "ElementaryTypeName", "src": "2170:7:31", @@ -3211,12 +3211,12 @@ }, { "constant": false, - "id": 9578, + "id": 9741, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2190:13:31", "stateVariable": false, "storageLocation": "default", @@ -3225,7 +3225,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9577, + "id": 9740, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2190:4:31", @@ -3241,17 +3241,17 @@ "src": "2077:132:31" }, "returnParameters": { - "id": 9583, + "id": 9746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9582, + "id": 9745, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2228:21:31", "stateVariable": false, "storageLocation": "memory", @@ -3261,7 +3261,7 @@ }, "typeName": { "baseType": { - "id": 9580, + "id": 9743, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2228:4:31", @@ -3270,7 +3270,7 @@ "typeString": "uint256" } }, - "id": 9581, + "id": 9744, "length": null, "nodeType": "ArrayTypeName", "src": "2228:6:31", @@ -3285,7 +3285,7 @@ ], "src": "2227:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2044:207:31", "stateMutability": "nonpayable", "virtual": false, @@ -3295,7 +3295,7 @@ "body": null, "documentation": null, "functionSelector": "7ff36ab5", - "id": 9599, + "id": 9762, "implemented": false, "kind": "function", "modifiers": [], @@ -3303,17 +3303,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9594, + "id": 9757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9586, + "id": 9749, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2287:17:31", "stateVariable": false, "storageLocation": "default", @@ -3322,7 +3322,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9585, + "id": 9748, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2287:4:31", @@ -3336,12 +3336,12 @@ }, { "constant": false, - "id": 9589, + "id": 9752, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2306:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -3351,7 +3351,7 @@ }, "typeName": { "baseType": { - "id": 9587, + "id": 9750, "name": "address", "nodeType": "ElementaryTypeName", "src": "2306:7:31", @@ -3361,7 +3361,7 @@ "typeString": "address" } }, - "id": 9588, + "id": 9751, "length": null, "nodeType": "ArrayTypeName", "src": "2306:9:31", @@ -3375,12 +3375,12 @@ }, { "constant": false, - "id": 9591, + "id": 9754, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2331:10:31", "stateVariable": false, "storageLocation": "default", @@ -3389,7 +3389,7 @@ "typeString": "address" }, "typeName": { - "id": 9590, + "id": 9753, "name": "address", "nodeType": "ElementaryTypeName", "src": "2331:7:31", @@ -3404,12 +3404,12 @@ }, { "constant": false, - "id": 9593, + "id": 9756, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2343:13:31", "stateVariable": false, "storageLocation": "default", @@ -3418,7 +3418,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9592, + "id": 9755, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2343:4:31", @@ -3434,17 +3434,17 @@ "src": "2286:71:31" }, "returnParameters": { - "id": 9598, + "id": 9761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9597, + "id": 9760, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2408:21:31", "stateVariable": false, "storageLocation": "memory", @@ -3454,7 +3454,7 @@ }, "typeName": { "baseType": { - "id": 9595, + "id": 9758, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2408:4:31", @@ -3463,7 +3463,7 @@ "typeString": "uint256" } }, - "id": 9596, + "id": 9759, "length": null, "nodeType": "ArrayTypeName", "src": "2408:6:31", @@ -3478,7 +3478,7 @@ ], "src": "2407:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2256:175:31", "stateMutability": "payable", "virtual": false, @@ -3488,7 +3488,7 @@ "body": null, "documentation": null, "functionSelector": "4a25d94a", - "id": 9616, + "id": 9779, "implemented": false, "kind": "function", "modifiers": [], @@ -3496,17 +3496,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9611, + "id": 9774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9601, + "id": 9764, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2467:14:31", "stateVariable": false, "storageLocation": "default", @@ -3515,7 +3515,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9600, + "id": 9763, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2467:4:31", @@ -3529,12 +3529,12 @@ }, { "constant": false, - "id": 9603, + "id": 9766, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2483:16:31", "stateVariable": false, "storageLocation": "default", @@ -3543,7 +3543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9602, + "id": 9765, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2483:4:31", @@ -3557,12 +3557,12 @@ }, { "constant": false, - "id": 9606, + "id": 9769, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2501:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -3572,7 +3572,7 @@ }, "typeName": { "baseType": { - "id": 9604, + "id": 9767, "name": "address", "nodeType": "ElementaryTypeName", "src": "2501:7:31", @@ -3582,7 +3582,7 @@ "typeString": "address" } }, - "id": 9605, + "id": 9768, "length": null, "nodeType": "ArrayTypeName", "src": "2501:9:31", @@ -3596,12 +3596,12 @@ }, { "constant": false, - "id": 9608, + "id": 9771, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2526:10:31", "stateVariable": false, "storageLocation": "default", @@ -3610,7 +3610,7 @@ "typeString": "address" }, "typeName": { - "id": 9607, + "id": 9770, "name": "address", "nodeType": "ElementaryTypeName", "src": "2526:7:31", @@ -3625,12 +3625,12 @@ }, { "constant": false, - "id": 9610, + "id": 9773, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2538:13:31", "stateVariable": false, "storageLocation": "default", @@ -3639,7 +3639,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9609, + "id": 9772, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2538:4:31", @@ -3655,17 +3655,17 @@ "src": "2466:86:31" }, "returnParameters": { - "id": 9615, + "id": 9778, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9614, + "id": 9777, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2587:21:31", "stateVariable": false, "storageLocation": "memory", @@ -3675,7 +3675,7 @@ }, "typeName": { "baseType": { - "id": 9612, + "id": 9775, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2587:4:31", @@ -3684,7 +3684,7 @@ "typeString": "uint256" } }, - "id": 9613, + "id": 9776, "length": null, "nodeType": "ArrayTypeName", "src": "2587:6:31", @@ -3699,7 +3699,7 @@ ], "src": "2586:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2436:174:31", "stateMutability": "nonpayable", "virtual": false, @@ -3709,7 +3709,7 @@ "body": null, "documentation": null, "functionSelector": "18cbafe5", - "id": 9633, + "id": 9796, "implemented": false, "kind": "function", "modifiers": [], @@ -3717,17 +3717,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9628, + "id": 9791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9618, + "id": 9781, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2646:13:31", "stateVariable": false, "storageLocation": "default", @@ -3736,7 +3736,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9617, + "id": 9780, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2646:4:31", @@ -3750,12 +3750,12 @@ }, { "constant": false, - "id": 9620, + "id": 9783, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2661:17:31", "stateVariable": false, "storageLocation": "default", @@ -3764,7 +3764,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9619, + "id": 9782, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2661:4:31", @@ -3778,12 +3778,12 @@ }, { "constant": false, - "id": 9623, + "id": 9786, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2680:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -3793,7 +3793,7 @@ }, "typeName": { "baseType": { - "id": 9621, + "id": 9784, "name": "address", "nodeType": "ElementaryTypeName", "src": "2680:7:31", @@ -3803,7 +3803,7 @@ "typeString": "address" } }, - "id": 9622, + "id": 9785, "length": null, "nodeType": "ArrayTypeName", "src": "2680:9:31", @@ -3817,12 +3817,12 @@ }, { "constant": false, - "id": 9625, + "id": 9788, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2705:10:31", "stateVariable": false, "storageLocation": "default", @@ -3831,7 +3831,7 @@ "typeString": "address" }, "typeName": { - "id": 9624, + "id": 9787, "name": "address", "nodeType": "ElementaryTypeName", "src": "2705:7:31", @@ -3846,12 +3846,12 @@ }, { "constant": false, - "id": 9627, + "id": 9790, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2717:13:31", "stateVariable": false, "storageLocation": "default", @@ -3860,7 +3860,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9626, + "id": 9789, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2717:4:31", @@ -3876,17 +3876,17 @@ "src": "2645:86:31" }, "returnParameters": { - "id": 9632, + "id": 9795, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9631, + "id": 9794, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2766:21:31", "stateVariable": false, "storageLocation": "memory", @@ -3896,7 +3896,7 @@ }, "typeName": { "baseType": { - "id": 9629, + "id": 9792, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2766:4:31", @@ -3905,7 +3905,7 @@ "typeString": "uint256" } }, - "id": 9630, + "id": 9793, "length": null, "nodeType": "ArrayTypeName", "src": "2766:6:31", @@ -3920,7 +3920,7 @@ ], "src": "2765:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2615:174:31", "stateMutability": "nonpayable", "virtual": false, @@ -3930,7 +3930,7 @@ "body": null, "documentation": null, "functionSelector": "fb3bdb41", - "id": 9648, + "id": 9811, "implemented": false, "kind": "function", "modifiers": [], @@ -3938,17 +3938,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9643, + "id": 9806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9635, + "id": 9798, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2825:14:31", "stateVariable": false, "storageLocation": "default", @@ -3957,7 +3957,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9634, + "id": 9797, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2825:4:31", @@ -3971,12 +3971,12 @@ }, { "constant": false, - "id": 9638, + "id": 9801, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2841:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -3986,7 +3986,7 @@ }, "typeName": { "baseType": { - "id": 9636, + "id": 9799, "name": "address", "nodeType": "ElementaryTypeName", "src": "2841:7:31", @@ -3996,7 +3996,7 @@ "typeString": "address" } }, - "id": 9637, + "id": 9800, "length": null, "nodeType": "ArrayTypeName", "src": "2841:9:31", @@ -4010,12 +4010,12 @@ }, { "constant": false, - "id": 9640, + "id": 9803, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2866:10:31", "stateVariable": false, "storageLocation": "default", @@ -4024,7 +4024,7 @@ "typeString": "address" }, "typeName": { - "id": 9639, + "id": 9802, "name": "address", "nodeType": "ElementaryTypeName", "src": "2866:7:31", @@ -4039,12 +4039,12 @@ }, { "constant": false, - "id": 9642, + "id": 9805, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2878:13:31", "stateVariable": false, "storageLocation": "default", @@ -4053,7 +4053,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9641, + "id": 9804, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2878:4:31", @@ -4069,17 +4069,17 @@ "src": "2824:68:31" }, "returnParameters": { - "id": 9647, + "id": 9810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9646, + "id": 9809, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2943:21:31", "stateVariable": false, "storageLocation": "memory", @@ -4089,7 +4089,7 @@ }, "typeName": { "baseType": { - "id": 9644, + "id": 9807, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2943:4:31", @@ -4098,7 +4098,7 @@ "typeString": "uint256" } }, - "id": 9645, + "id": 9808, "length": null, "nodeType": "ArrayTypeName", "src": "2943:6:31", @@ -4113,7 +4113,7 @@ ], "src": "2942:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2794:172:31", "stateMutability": "payable", "virtual": false, @@ -4123,7 +4123,7 @@ "body": null, "documentation": null, "functionSelector": "ad615dec", - "id": 9659, + "id": 9822, "implemented": false, "kind": "function", "modifiers": [], @@ -4131,17 +4131,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9655, + "id": 9818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9650, + "id": 9813, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "2987:12:31", "stateVariable": false, "storageLocation": "default", @@ -4150,7 +4150,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9649, + "id": 9812, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2987:4:31", @@ -4164,12 +4164,12 @@ }, { "constant": false, - "id": 9652, + "id": 9815, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3001:13:31", "stateVariable": false, "storageLocation": "default", @@ -4178,7 +4178,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9651, + "id": 9814, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3001:4:31", @@ -4192,12 +4192,12 @@ }, { "constant": false, - "id": 9654, + "id": 9817, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3016:13:31", "stateVariable": false, "storageLocation": "default", @@ -4206,7 +4206,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9653, + "id": 9816, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3016:4:31", @@ -4222,17 +4222,17 @@ "src": "2986:44:31" }, "returnParameters": { - "id": 9658, + "id": 9821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9657, + "id": 9820, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3054:12:31", "stateVariable": false, "storageLocation": "default", @@ -4241,7 +4241,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9656, + "id": 9819, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3054:4:31", @@ -4256,7 +4256,7 @@ ], "src": "3053:14:31" }, - "scope": 9704, + "scope": 9867, "src": "2972:96:31", "stateMutability": "pure", "virtual": false, @@ -4266,7 +4266,7 @@ "body": null, "documentation": null, "functionSelector": "054d50d4", - "id": 9670, + "id": 9833, "implemented": false, "kind": "function", "modifiers": [], @@ -4274,17 +4274,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9666, + "id": 9829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9661, + "id": 9824, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3095:13:31", "stateVariable": false, "storageLocation": "default", @@ -4293,7 +4293,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9660, + "id": 9823, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3095:4:31", @@ -4307,12 +4307,12 @@ }, { "constant": false, - "id": 9663, + "id": 9826, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3110:14:31", "stateVariable": false, "storageLocation": "default", @@ -4321,7 +4321,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9662, + "id": 9825, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3110:4:31", @@ -4335,12 +4335,12 @@ }, { "constant": false, - "id": 9665, + "id": 9828, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3126:15:31", "stateVariable": false, "storageLocation": "default", @@ -4349,7 +4349,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9664, + "id": 9827, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3126:4:31", @@ -4365,17 +4365,17 @@ "src": "3094:48:31" }, "returnParameters": { - "id": 9669, + "id": 9832, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9668, + "id": 9831, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3166:14:31", "stateVariable": false, "storageLocation": "default", @@ -4384,7 +4384,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9667, + "id": 9830, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3166:4:31", @@ -4399,7 +4399,7 @@ ], "src": "3165:16:31" }, - "scope": 9704, + "scope": 9867, "src": "3073:109:31", "stateMutability": "pure", "virtual": false, @@ -4409,7 +4409,7 @@ "body": null, "documentation": null, "functionSelector": "85f8c259", - "id": 9681, + "id": 9844, "implemented": false, "kind": "function", "modifiers": [], @@ -4417,17 +4417,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9677, + "id": 9840, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9672, + "id": 9835, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3208:14:31", "stateVariable": false, "storageLocation": "default", @@ -4436,7 +4436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9671, + "id": 9834, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3208:4:31", @@ -4450,12 +4450,12 @@ }, { "constant": false, - "id": 9674, + "id": 9837, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3224:14:31", "stateVariable": false, "storageLocation": "default", @@ -4464,7 +4464,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9673, + "id": 9836, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3224:4:31", @@ -4478,12 +4478,12 @@ }, { "constant": false, - "id": 9676, + "id": 9839, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3240:15:31", "stateVariable": false, "storageLocation": "default", @@ -4492,7 +4492,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9675, + "id": 9838, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3240:4:31", @@ -4508,17 +4508,17 @@ "src": "3207:49:31" }, "returnParameters": { - "id": 9680, + "id": 9843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9679, + "id": 9842, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3280:13:31", "stateVariable": false, "storageLocation": "default", @@ -4527,7 +4527,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9678, + "id": 9841, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3280:4:31", @@ -4542,7 +4542,7 @@ ], "src": "3279:15:31" }, - "scope": 9704, + "scope": 9867, "src": "3187:108:31", "stateMutability": "pure", "virtual": false, @@ -4552,7 +4552,7 @@ "body": null, "documentation": null, "functionSelector": "d06ca61f", - "id": 9692, + "id": 9855, "implemented": false, "kind": "function", "modifiers": [], @@ -4560,17 +4560,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9687, + "id": 9850, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9683, + "id": 9846, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3323:13:31", "stateVariable": false, "storageLocation": "default", @@ -4579,7 +4579,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9682, + "id": 9845, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3323:4:31", @@ -4593,12 +4593,12 @@ }, { "constant": false, - "id": 9686, + "id": 9849, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3338:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -4608,7 +4608,7 @@ }, "typeName": { "baseType": { - "id": 9684, + "id": 9847, "name": "address", "nodeType": "ElementaryTypeName", "src": "3338:7:31", @@ -4618,7 +4618,7 @@ "typeString": "address" } }, - "id": 9685, + "id": 9848, "length": null, "nodeType": "ArrayTypeName", "src": "3338:9:31", @@ -4634,17 +4634,17 @@ "src": "3322:40:31" }, "returnParameters": { - "id": 9691, + "id": 9854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9690, + "id": 9853, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3386:21:31", "stateVariable": false, "storageLocation": "memory", @@ -4654,7 +4654,7 @@ }, "typeName": { "baseType": { - "id": 9688, + "id": 9851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3386:4:31", @@ -4663,7 +4663,7 @@ "typeString": "uint256" } }, - "id": 9689, + "id": 9852, "length": null, "nodeType": "ArrayTypeName", "src": "3386:6:31", @@ -4678,7 +4678,7 @@ ], "src": "3385:23:31" }, - "scope": 9704, + "scope": 9867, "src": "3300:109:31", "stateMutability": "view", "virtual": false, @@ -4688,7 +4688,7 @@ "body": null, "documentation": null, "functionSelector": "1f00ca74", - "id": 9703, + "id": 9866, "implemented": false, "kind": "function", "modifiers": [], @@ -4696,17 +4696,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9698, + "id": 9861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9694, + "id": 9857, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3436:14:31", "stateVariable": false, "storageLocation": "default", @@ -4715,7 +4715,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9693, + "id": 9856, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3436:4:31", @@ -4729,12 +4729,12 @@ }, { "constant": false, - "id": 9697, + "id": 9860, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3452:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -4744,7 +4744,7 @@ }, "typeName": { "baseType": { - "id": 9695, + "id": 9858, "name": "address", "nodeType": "ElementaryTypeName", "src": "3452:7:31", @@ -4754,7 +4754,7 @@ "typeString": "address" } }, - "id": 9696, + "id": 9859, "length": null, "nodeType": "ArrayTypeName", "src": "3452:9:31", @@ -4770,17 +4770,17 @@ "src": "3435:41:31" }, "returnParameters": { - "id": 9702, + "id": 9865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9701, + "id": 9864, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3500:21:31", "stateVariable": false, "storageLocation": "memory", @@ -4790,7 +4790,7 @@ }, "typeName": { "baseType": { - "id": 9699, + "id": 9862, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3500:4:31", @@ -4799,7 +4799,7 @@ "typeString": "uint256" } }, - "id": 9700, + "id": 9863, "length": null, "nodeType": "ArrayTypeName", "src": "3500:6:31", @@ -4814,14 +4814,14 @@ ], "src": "3499:23:31" }, - "scope": 9704, + "scope": 9867, "src": "3414:109:31", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 9705, + "scope": 9868, "src": "26:3499:31" } ], @@ -4831,14 +4831,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "exportedSymbols": { "IUniswapV2Router01": [ - 9704 + 9867 ] }, - "id": 9705, + "id": 9868, "nodeType": "SourceUnit", "nodes": [ { - "id": 9398, + "id": 9561, "literals": [ "solidity", ">=", @@ -4855,9 +4855,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9704, + "id": 9867, "linearizedBaseContracts": [ - 9704 + 9867 ], "name": "IUniswapV2Router01", "nodeType": "ContractDefinition", @@ -4866,7 +4866,7 @@ "body": null, "documentation": null, "functionSelector": "c45a0155", - "id": 9403, + "id": 9566, "implemented": false, "kind": "function", "modifiers": [], @@ -4874,23 +4874,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9399, + "id": 9562, "nodeType": "ParameterList", "parameters": [], "src": "77:2:31" }, "returnParameters": { - "id": 9402, + "id": 9565, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9401, + "id": 9564, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9403, + "scope": 9566, "src": "103:7:31", "stateVariable": false, "storageLocation": "default", @@ -4899,7 +4899,7 @@ "typeString": "address" }, "typeName": { - "id": 9400, + "id": 9563, "name": "address", "nodeType": "ElementaryTypeName", "src": "103:7:31", @@ -4915,7 +4915,7 @@ ], "src": "102:9:31" }, - "scope": 9704, + "scope": 9867, "src": "61:51:31", "stateMutability": "pure", "virtual": false, @@ -4925,7 +4925,7 @@ "body": null, "documentation": null, "functionSelector": "ad5c4648", - "id": 9408, + "id": 9571, "implemented": false, "kind": "function", "modifiers": [], @@ -4933,23 +4933,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9404, + "id": 9567, "nodeType": "ParameterList", "parameters": [], "src": "130:2:31" }, "returnParameters": { - "id": 9407, + "id": 9570, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9406, + "id": 9569, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9408, + "scope": 9571, "src": "156:7:31", "stateVariable": false, "storageLocation": "default", @@ -4958,7 +4958,7 @@ "typeString": "address" }, "typeName": { - "id": 9405, + "id": 9568, "name": "address", "nodeType": "ElementaryTypeName", "src": "156:7:31", @@ -4974,7 +4974,7 @@ ], "src": "155:9:31" }, - "scope": 9704, + "scope": 9867, "src": "117:48:31", "stateMutability": "pure", "virtual": false, @@ -4984,7 +4984,7 @@ "body": null, "documentation": null, "functionSelector": "e8e33700", - "id": 9433, + "id": 9596, "implemented": false, "kind": "function", "modifiers": [], @@ -4992,17 +4992,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9425, + "id": 9588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9410, + "id": 9573, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "202:14:31", "stateVariable": false, "storageLocation": "default", @@ -5011,7 +5011,7 @@ "typeString": "address" }, "typeName": { - "id": 9409, + "id": 9572, "name": "address", "nodeType": "ElementaryTypeName", "src": "202:7:31", @@ -5026,12 +5026,12 @@ }, { "constant": false, - "id": 9412, + "id": 9575, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "226:14:31", "stateVariable": false, "storageLocation": "default", @@ -5040,7 +5040,7 @@ "typeString": "address" }, "typeName": { - "id": 9411, + "id": 9574, "name": "address", "nodeType": "ElementaryTypeName", "src": "226:7:31", @@ -5055,12 +5055,12 @@ }, { "constant": false, - "id": 9414, + "id": 9577, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "250:19:31", "stateVariable": false, "storageLocation": "default", @@ -5069,7 +5069,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9413, + "id": 9576, "name": "uint", "nodeType": "ElementaryTypeName", "src": "250:4:31", @@ -5083,12 +5083,12 @@ }, { "constant": false, - "id": 9416, + "id": 9579, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "279:19:31", "stateVariable": false, "storageLocation": "default", @@ -5097,7 +5097,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9415, + "id": 9578, "name": "uint", "nodeType": "ElementaryTypeName", "src": "279:4:31", @@ -5111,12 +5111,12 @@ }, { "constant": false, - "id": 9418, + "id": 9581, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "308:15:31", "stateVariable": false, "storageLocation": "default", @@ -5125,7 +5125,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9417, + "id": 9580, "name": "uint", "nodeType": "ElementaryTypeName", "src": "308:4:31", @@ -5139,12 +5139,12 @@ }, { "constant": false, - "id": 9420, + "id": 9583, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "333:15:31", "stateVariable": false, "storageLocation": "default", @@ -5153,7 +5153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9419, + "id": 9582, "name": "uint", "nodeType": "ElementaryTypeName", "src": "333:4:31", @@ -5167,12 +5167,12 @@ }, { "constant": false, - "id": 9422, + "id": 9585, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "358:10:31", "stateVariable": false, "storageLocation": "default", @@ -5181,7 +5181,7 @@ "typeString": "address" }, "typeName": { - "id": 9421, + "id": 9584, "name": "address", "nodeType": "ElementaryTypeName", "src": "358:7:31", @@ -5196,12 +5196,12 @@ }, { "constant": false, - "id": 9424, + "id": 9587, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "378:13:31", "stateVariable": false, "storageLocation": "default", @@ -5210,7 +5210,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9423, + "id": 9586, "name": "uint", "nodeType": "ElementaryTypeName", "src": "378:4:31", @@ -5226,17 +5226,17 @@ "src": "192:205:31" }, "returnParameters": { - "id": 9432, + "id": 9595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9427, + "id": 9590, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "416:12:31", "stateVariable": false, "storageLocation": "default", @@ -5245,7 +5245,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9426, + "id": 9589, "name": "uint", "nodeType": "ElementaryTypeName", "src": "416:4:31", @@ -5259,12 +5259,12 @@ }, { "constant": false, - "id": 9429, + "id": 9592, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "430:12:31", "stateVariable": false, "storageLocation": "default", @@ -5273,7 +5273,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9428, + "id": 9591, "name": "uint", "nodeType": "ElementaryTypeName", "src": "430:4:31", @@ -5287,12 +5287,12 @@ }, { "constant": false, - "id": 9431, + "id": 9594, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9433, + "scope": 9596, "src": "444:14:31", "stateVariable": false, "storageLocation": "default", @@ -5301,7 +5301,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9430, + "id": 9593, "name": "uint", "nodeType": "ElementaryTypeName", "src": "444:4:31", @@ -5316,7 +5316,7 @@ ], "src": "415:44:31" }, - "scope": 9704, + "scope": 9867, "src": "171:289:31", "stateMutability": "nonpayable", "virtual": false, @@ -5326,7 +5326,7 @@ "body": null, "documentation": null, "functionSelector": "f305d719", - "id": 9454, + "id": 9617, "implemented": false, "kind": "function", "modifiers": [], @@ -5334,17 +5334,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9446, + "id": 9609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9435, + "id": 9598, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "499:13:31", "stateVariable": false, "storageLocation": "default", @@ -5353,7 +5353,7 @@ "typeString": "address" }, "typeName": { - "id": 9434, + "id": 9597, "name": "address", "nodeType": "ElementaryTypeName", "src": "499:7:31", @@ -5368,12 +5368,12 @@ }, { "constant": false, - "id": 9437, + "id": 9600, "mutability": "mutable", "name": "amountTokenDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "522:23:31", "stateVariable": false, "storageLocation": "default", @@ -5382,7 +5382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9436, + "id": 9599, "name": "uint", "nodeType": "ElementaryTypeName", "src": "522:4:31", @@ -5396,12 +5396,12 @@ }, { "constant": false, - "id": 9439, + "id": 9602, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "555:19:31", "stateVariable": false, "storageLocation": "default", @@ -5410,7 +5410,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9438, + "id": 9601, "name": "uint", "nodeType": "ElementaryTypeName", "src": "555:4:31", @@ -5424,12 +5424,12 @@ }, { "constant": false, - "id": 9441, + "id": 9604, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "584:17:31", "stateVariable": false, "storageLocation": "default", @@ -5438,7 +5438,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9440, + "id": 9603, "name": "uint", "nodeType": "ElementaryTypeName", "src": "584:4:31", @@ -5452,12 +5452,12 @@ }, { "constant": false, - "id": 9443, + "id": 9606, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "611:10:31", "stateVariable": false, "storageLocation": "default", @@ -5466,7 +5466,7 @@ "typeString": "address" }, "typeName": { - "id": 9442, + "id": 9605, "name": "address", "nodeType": "ElementaryTypeName", "src": "611:7:31", @@ -5481,12 +5481,12 @@ }, { "constant": false, - "id": 9445, + "id": 9608, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "631:13:31", "stateVariable": false, "storageLocation": "default", @@ -5495,7 +5495,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9444, + "id": 9607, "name": "uint", "nodeType": "ElementaryTypeName", "src": "631:4:31", @@ -5511,17 +5511,17 @@ "src": "489:161:31" }, "returnParameters": { - "id": 9453, + "id": 9616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9448, + "id": 9611, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "677:16:31", "stateVariable": false, "storageLocation": "default", @@ -5530,7 +5530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9447, + "id": 9610, "name": "uint", "nodeType": "ElementaryTypeName", "src": "677:4:31", @@ -5544,12 +5544,12 @@ }, { "constant": false, - "id": 9450, + "id": 9613, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "695:14:31", "stateVariable": false, "storageLocation": "default", @@ -5558,7 +5558,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9449, + "id": 9612, "name": "uint", "nodeType": "ElementaryTypeName", "src": "695:4:31", @@ -5572,12 +5572,12 @@ }, { "constant": false, - "id": 9452, + "id": 9615, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9454, + "scope": 9617, "src": "711:14:31", "stateVariable": false, "storageLocation": "default", @@ -5586,7 +5586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9451, + "id": 9614, "name": "uint", "nodeType": "ElementaryTypeName", "src": "711:4:31", @@ -5601,7 +5601,7 @@ ], "src": "676:50:31" }, - "scope": 9704, + "scope": 9867, "src": "465:262:31", "stateMutability": "payable", "virtual": false, @@ -5611,7 +5611,7 @@ "body": null, "documentation": null, "functionSelector": "baa2abde", - "id": 9475, + "id": 9638, "implemented": false, "kind": "function", "modifiers": [], @@ -5619,17 +5619,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9469, + "id": 9632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9456, + "id": 9619, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "766:14:31", "stateVariable": false, "storageLocation": "default", @@ -5638,7 +5638,7 @@ "typeString": "address" }, "typeName": { - "id": 9455, + "id": 9618, "name": "address", "nodeType": "ElementaryTypeName", "src": "766:7:31", @@ -5653,12 +5653,12 @@ }, { "constant": false, - "id": 9458, + "id": 9621, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "790:14:31", "stateVariable": false, "storageLocation": "default", @@ -5667,7 +5667,7 @@ "typeString": "address" }, "typeName": { - "id": 9457, + "id": 9620, "name": "address", "nodeType": "ElementaryTypeName", "src": "790:7:31", @@ -5682,12 +5682,12 @@ }, { "constant": false, - "id": 9460, + "id": 9623, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "814:14:31", "stateVariable": false, "storageLocation": "default", @@ -5696,7 +5696,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9459, + "id": 9622, "name": "uint", "nodeType": "ElementaryTypeName", "src": "814:4:31", @@ -5710,12 +5710,12 @@ }, { "constant": false, - "id": 9462, + "id": 9625, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "838:15:31", "stateVariable": false, "storageLocation": "default", @@ -5724,7 +5724,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9461, + "id": 9624, "name": "uint", "nodeType": "ElementaryTypeName", "src": "838:4:31", @@ -5738,12 +5738,12 @@ }, { "constant": false, - "id": 9464, + "id": 9627, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "863:15:31", "stateVariable": false, "storageLocation": "default", @@ -5752,7 +5752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9463, + "id": 9626, "name": "uint", "nodeType": "ElementaryTypeName", "src": "863:4:31", @@ -5766,12 +5766,12 @@ }, { "constant": false, - "id": 9466, + "id": 9629, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "888:10:31", "stateVariable": false, "storageLocation": "default", @@ -5780,7 +5780,7 @@ "typeString": "address" }, "typeName": { - "id": 9465, + "id": 9628, "name": "address", "nodeType": "ElementaryTypeName", "src": "888:7:31", @@ -5795,12 +5795,12 @@ }, { "constant": false, - "id": 9468, + "id": 9631, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "908:13:31", "stateVariable": false, "storageLocation": "default", @@ -5809,7 +5809,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9467, + "id": 9630, "name": "uint", "nodeType": "ElementaryTypeName", "src": "908:4:31", @@ -5825,17 +5825,17 @@ "src": "756:171:31" }, "returnParameters": { - "id": 9474, + "id": 9637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9471, + "id": 9634, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "946:12:31", "stateVariable": false, "storageLocation": "default", @@ -5844,7 +5844,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9470, + "id": 9633, "name": "uint", "nodeType": "ElementaryTypeName", "src": "946:4:31", @@ -5858,12 +5858,12 @@ }, { "constant": false, - "id": 9473, + "id": 9636, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9475, + "scope": 9638, "src": "960:12:31", "stateVariable": false, "storageLocation": "default", @@ -5872,7 +5872,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9472, + "id": 9635, "name": "uint", "nodeType": "ElementaryTypeName", "src": "960:4:31", @@ -5887,7 +5887,7 @@ ], "src": "945:28:31" }, - "scope": 9704, + "scope": 9867, "src": "732:242:31", "stateMutability": "nonpayable", "virtual": false, @@ -5897,7 +5897,7 @@ "body": null, "documentation": null, "functionSelector": "02751cec", - "id": 9494, + "id": 9657, "implemented": false, "kind": "function", "modifiers": [], @@ -5905,17 +5905,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9488, + "id": 9651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9477, + "id": 9640, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1016:13:31", "stateVariable": false, "storageLocation": "default", @@ -5924,7 +5924,7 @@ "typeString": "address" }, "typeName": { - "id": 9476, + "id": 9639, "name": "address", "nodeType": "ElementaryTypeName", "src": "1016:7:31", @@ -5939,12 +5939,12 @@ }, { "constant": false, - "id": 9479, + "id": 9642, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1039:14:31", "stateVariable": false, "storageLocation": "default", @@ -5953,7 +5953,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9478, + "id": 9641, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1039:4:31", @@ -5967,12 +5967,12 @@ }, { "constant": false, - "id": 9481, + "id": 9644, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1063:19:31", "stateVariable": false, "storageLocation": "default", @@ -5981,7 +5981,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9480, + "id": 9643, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1063:4:31", @@ -5995,12 +5995,12 @@ }, { "constant": false, - "id": 9483, + "id": 9646, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1092:17:31", "stateVariable": false, "storageLocation": "default", @@ -6009,7 +6009,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9482, + "id": 9645, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1092:4:31", @@ -6023,12 +6023,12 @@ }, { "constant": false, - "id": 9485, + "id": 9648, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1119:10:31", "stateVariable": false, "storageLocation": "default", @@ -6037,7 +6037,7 @@ "typeString": "address" }, "typeName": { - "id": 9484, + "id": 9647, "name": "address", "nodeType": "ElementaryTypeName", "src": "1119:7:31", @@ -6052,12 +6052,12 @@ }, { "constant": false, - "id": 9487, + "id": 9650, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1139:13:31", "stateVariable": false, "storageLocation": "default", @@ -6066,7 +6066,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9486, + "id": 9649, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1139:4:31", @@ -6082,17 +6082,17 @@ "src": "1006:152:31" }, "returnParameters": { - "id": 9493, + "id": 9656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9490, + "id": 9653, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1177:16:31", "stateVariable": false, "storageLocation": "default", @@ -6101,7 +6101,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9489, + "id": 9652, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1177:4:31", @@ -6115,12 +6115,12 @@ }, { "constant": false, - "id": 9492, + "id": 9655, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9494, + "scope": 9657, "src": "1195:14:31", "stateVariable": false, "storageLocation": "default", @@ -6129,7 +6129,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9491, + "id": 9654, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1195:4:31", @@ -6144,7 +6144,7 @@ ], "src": "1176:34:31" }, - "scope": 9704, + "scope": 9867, "src": "979:232:31", "stateMutability": "nonpayable", "virtual": false, @@ -6154,7 +6154,7 @@ "body": null, "documentation": null, "functionSelector": "2195995c", - "id": 9523, + "id": 9686, "implemented": false, "kind": "function", "modifiers": [], @@ -6162,17 +6162,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9517, + "id": 9680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9496, + "id": 9659, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1260:14:31", "stateVariable": false, "storageLocation": "default", @@ -6181,7 +6181,7 @@ "typeString": "address" }, "typeName": { - "id": 9495, + "id": 9658, "name": "address", "nodeType": "ElementaryTypeName", "src": "1260:7:31", @@ -6196,12 +6196,12 @@ }, { "constant": false, - "id": 9498, + "id": 9661, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1284:14:31", "stateVariable": false, "storageLocation": "default", @@ -6210,7 +6210,7 @@ "typeString": "address" }, "typeName": { - "id": 9497, + "id": 9660, "name": "address", "nodeType": "ElementaryTypeName", "src": "1284:7:31", @@ -6225,12 +6225,12 @@ }, { "constant": false, - "id": 9500, + "id": 9663, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1308:14:31", "stateVariable": false, "storageLocation": "default", @@ -6239,7 +6239,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9499, + "id": 9662, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1308:4:31", @@ -6253,12 +6253,12 @@ }, { "constant": false, - "id": 9502, + "id": 9665, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1332:15:31", "stateVariable": false, "storageLocation": "default", @@ -6267,7 +6267,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9501, + "id": 9664, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1332:4:31", @@ -6281,12 +6281,12 @@ }, { "constant": false, - "id": 9504, + "id": 9667, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1357:15:31", "stateVariable": false, "storageLocation": "default", @@ -6295,7 +6295,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9503, + "id": 9666, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1357:4:31", @@ -6309,12 +6309,12 @@ }, { "constant": false, - "id": 9506, + "id": 9669, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1382:10:31", "stateVariable": false, "storageLocation": "default", @@ -6323,7 +6323,7 @@ "typeString": "address" }, "typeName": { - "id": 9505, + "id": 9668, "name": "address", "nodeType": "ElementaryTypeName", "src": "1382:7:31", @@ -6338,12 +6338,12 @@ }, { "constant": false, - "id": 9508, + "id": 9671, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1402:13:31", "stateVariable": false, "storageLocation": "default", @@ -6352,7 +6352,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9507, + "id": 9670, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1402:4:31", @@ -6366,12 +6366,12 @@ }, { "constant": false, - "id": 9510, + "id": 9673, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1425:15:31", "stateVariable": false, "storageLocation": "default", @@ -6380,7 +6380,7 @@ "typeString": "bool" }, "typeName": { - "id": 9509, + "id": 9672, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1425:4:31", @@ -6394,12 +6394,12 @@ }, { "constant": false, - "id": 9512, + "id": 9675, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1442:7:31", "stateVariable": false, "storageLocation": "default", @@ -6408,7 +6408,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9511, + "id": 9674, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1442:5:31", @@ -6422,12 +6422,12 @@ }, { "constant": false, - "id": 9514, + "id": 9677, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1451:9:31", "stateVariable": false, "storageLocation": "default", @@ -6436,7 +6436,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9513, + "id": 9676, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1451:7:31", @@ -6450,12 +6450,12 @@ }, { "constant": false, - "id": 9516, + "id": 9679, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1462:9:31", "stateVariable": false, "storageLocation": "default", @@ -6464,7 +6464,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9515, + "id": 9678, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1462:7:31", @@ -6480,17 +6480,17 @@ "src": "1250:227:31" }, "returnParameters": { - "id": 9522, + "id": 9685, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9519, + "id": 9682, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1496:12:31", "stateVariable": false, "storageLocation": "default", @@ -6499,7 +6499,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9518, + "id": 9681, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1496:4:31", @@ -6513,12 +6513,12 @@ }, { "constant": false, - "id": 9521, + "id": 9684, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9523, + "scope": 9686, "src": "1510:12:31", "stateVariable": false, "storageLocation": "default", @@ -6527,7 +6527,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9520, + "id": 9683, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1510:4:31", @@ -6542,7 +6542,7 @@ ], "src": "1495:28:31" }, - "scope": 9704, + "scope": 9867, "src": "1216:308:31", "stateMutability": "nonpayable", "virtual": false, @@ -6552,7 +6552,7 @@ "body": null, "documentation": null, "functionSelector": "ded9382a", - "id": 9550, + "id": 9713, "implemented": false, "kind": "function", "modifiers": [], @@ -6560,17 +6560,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9544, + "id": 9707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9525, + "id": 9688, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1576:13:31", "stateVariable": false, "storageLocation": "default", @@ -6579,7 +6579,7 @@ "typeString": "address" }, "typeName": { - "id": 9524, + "id": 9687, "name": "address", "nodeType": "ElementaryTypeName", "src": "1576:7:31", @@ -6594,12 +6594,12 @@ }, { "constant": false, - "id": 9527, + "id": 9690, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1599:14:31", "stateVariable": false, "storageLocation": "default", @@ -6608,7 +6608,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9526, + "id": 9689, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1599:4:31", @@ -6622,12 +6622,12 @@ }, { "constant": false, - "id": 9529, + "id": 9692, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1623:19:31", "stateVariable": false, "storageLocation": "default", @@ -6636,7 +6636,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9528, + "id": 9691, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1623:4:31", @@ -6650,12 +6650,12 @@ }, { "constant": false, - "id": 9531, + "id": 9694, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1652:17:31", "stateVariable": false, "storageLocation": "default", @@ -6664,7 +6664,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9530, + "id": 9693, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1652:4:31", @@ -6678,12 +6678,12 @@ }, { "constant": false, - "id": 9533, + "id": 9696, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1679:10:31", "stateVariable": false, "storageLocation": "default", @@ -6692,7 +6692,7 @@ "typeString": "address" }, "typeName": { - "id": 9532, + "id": 9695, "name": "address", "nodeType": "ElementaryTypeName", "src": "1679:7:31", @@ -6707,12 +6707,12 @@ }, { "constant": false, - "id": 9535, + "id": 9698, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1699:13:31", "stateVariable": false, "storageLocation": "default", @@ -6721,7 +6721,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9534, + "id": 9697, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1699:4:31", @@ -6735,12 +6735,12 @@ }, { "constant": false, - "id": 9537, + "id": 9700, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1722:15:31", "stateVariable": false, "storageLocation": "default", @@ -6749,7 +6749,7 @@ "typeString": "bool" }, "typeName": { - "id": 9536, + "id": 9699, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1722:4:31", @@ -6763,12 +6763,12 @@ }, { "constant": false, - "id": 9539, + "id": 9702, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1739:7:31", "stateVariable": false, "storageLocation": "default", @@ -6777,7 +6777,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9538, + "id": 9701, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1739:5:31", @@ -6791,12 +6791,12 @@ }, { "constant": false, - "id": 9541, + "id": 9704, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1748:9:31", "stateVariable": false, "storageLocation": "default", @@ -6805,7 +6805,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9540, + "id": 9703, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1748:7:31", @@ -6819,12 +6819,12 @@ }, { "constant": false, - "id": 9543, + "id": 9706, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1759:9:31", "stateVariable": false, "storageLocation": "default", @@ -6833,7 +6833,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9542, + "id": 9705, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1759:7:31", @@ -6849,17 +6849,17 @@ "src": "1566:208:31" }, "returnParameters": { - "id": 9549, + "id": 9712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9546, + "id": 9709, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1793:16:31", "stateVariable": false, "storageLocation": "default", @@ -6868,7 +6868,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9545, + "id": 9708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1793:4:31", @@ -6882,12 +6882,12 @@ }, { "constant": false, - "id": 9548, + "id": 9711, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9550, + "scope": 9713, "src": "1811:14:31", "stateVariable": false, "storageLocation": "default", @@ -6896,7 +6896,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9547, + "id": 9710, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1811:4:31", @@ -6911,7 +6911,7 @@ ], "src": "1792:34:31" }, - "scope": 9704, + "scope": 9867, "src": "1529:298:31", "stateMutability": "nonpayable", "virtual": false, @@ -6921,7 +6921,7 @@ "body": null, "documentation": null, "functionSelector": "38ed1739", - "id": 9567, + "id": 9730, "implemented": false, "kind": "function", "modifiers": [], @@ -6929,17 +6929,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9562, + "id": 9725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9552, + "id": 9715, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1875:13:31", "stateVariable": false, "storageLocation": "default", @@ -6948,7 +6948,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9551, + "id": 9714, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1875:4:31", @@ -6962,12 +6962,12 @@ }, { "constant": false, - "id": 9554, + "id": 9717, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1898:17:31", "stateVariable": false, "storageLocation": "default", @@ -6976,7 +6976,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9553, + "id": 9716, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1898:4:31", @@ -6990,12 +6990,12 @@ }, { "constant": false, - "id": 9557, + "id": 9720, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1925:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -7005,7 +7005,7 @@ }, "typeName": { "baseType": { - "id": 9555, + "id": 9718, "name": "address", "nodeType": "ElementaryTypeName", "src": "1925:7:31", @@ -7015,7 +7015,7 @@ "typeString": "address" } }, - "id": 9556, + "id": 9719, "length": null, "nodeType": "ArrayTypeName", "src": "1925:9:31", @@ -7029,12 +7029,12 @@ }, { "constant": false, - "id": 9559, + "id": 9722, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1958:10:31", "stateVariable": false, "storageLocation": "default", @@ -7043,7 +7043,7 @@ "typeString": "address" }, "typeName": { - "id": 9558, + "id": 9721, "name": "address", "nodeType": "ElementaryTypeName", "src": "1958:7:31", @@ -7058,12 +7058,12 @@ }, { "constant": false, - "id": 9561, + "id": 9724, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "1978:13:31", "stateVariable": false, "storageLocation": "default", @@ -7072,7 +7072,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9560, + "id": 9723, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1978:4:31", @@ -7088,17 +7088,17 @@ "src": "1865:132:31" }, "returnParameters": { - "id": 9566, + "id": 9729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9565, + "id": 9728, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9567, + "scope": 9730, "src": "2016:21:31", "stateVariable": false, "storageLocation": "memory", @@ -7108,7 +7108,7 @@ }, "typeName": { "baseType": { - "id": 9563, + "id": 9726, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2016:4:31", @@ -7117,7 +7117,7 @@ "typeString": "uint256" } }, - "id": 9564, + "id": 9727, "length": null, "nodeType": "ArrayTypeName", "src": "2016:6:31", @@ -7132,7 +7132,7 @@ ], "src": "2015:23:31" }, - "scope": 9704, + "scope": 9867, "src": "1832:207:31", "stateMutability": "nonpayable", "virtual": false, @@ -7142,7 +7142,7 @@ "body": null, "documentation": null, "functionSelector": "8803dbee", - "id": 9584, + "id": 9747, "implemented": false, "kind": "function", "modifiers": [], @@ -7150,17 +7150,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9579, + "id": 9742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9569, + "id": 9732, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2087:14:31", "stateVariable": false, "storageLocation": "default", @@ -7169,7 +7169,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9568, + "id": 9731, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2087:4:31", @@ -7183,12 +7183,12 @@ }, { "constant": false, - "id": 9571, + "id": 9734, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2111:16:31", "stateVariable": false, "storageLocation": "default", @@ -7197,7 +7197,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9570, + "id": 9733, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2111:4:31", @@ -7211,12 +7211,12 @@ }, { "constant": false, - "id": 9574, + "id": 9737, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2137:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -7226,7 +7226,7 @@ }, "typeName": { "baseType": { - "id": 9572, + "id": 9735, "name": "address", "nodeType": "ElementaryTypeName", "src": "2137:7:31", @@ -7236,7 +7236,7 @@ "typeString": "address" } }, - "id": 9573, + "id": 9736, "length": null, "nodeType": "ArrayTypeName", "src": "2137:9:31", @@ -7250,12 +7250,12 @@ }, { "constant": false, - "id": 9576, + "id": 9739, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2170:10:31", "stateVariable": false, "storageLocation": "default", @@ -7264,7 +7264,7 @@ "typeString": "address" }, "typeName": { - "id": 9575, + "id": 9738, "name": "address", "nodeType": "ElementaryTypeName", "src": "2170:7:31", @@ -7279,12 +7279,12 @@ }, { "constant": false, - "id": 9578, + "id": 9741, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2190:13:31", "stateVariable": false, "storageLocation": "default", @@ -7293,7 +7293,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9577, + "id": 9740, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2190:4:31", @@ -7309,17 +7309,17 @@ "src": "2077:132:31" }, "returnParameters": { - "id": 9583, + "id": 9746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9582, + "id": 9745, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9584, + "scope": 9747, "src": "2228:21:31", "stateVariable": false, "storageLocation": "memory", @@ -7329,7 +7329,7 @@ }, "typeName": { "baseType": { - "id": 9580, + "id": 9743, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2228:4:31", @@ -7338,7 +7338,7 @@ "typeString": "uint256" } }, - "id": 9581, + "id": 9744, "length": null, "nodeType": "ArrayTypeName", "src": "2228:6:31", @@ -7353,7 +7353,7 @@ ], "src": "2227:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2044:207:31", "stateMutability": "nonpayable", "virtual": false, @@ -7363,7 +7363,7 @@ "body": null, "documentation": null, "functionSelector": "7ff36ab5", - "id": 9599, + "id": 9762, "implemented": false, "kind": "function", "modifiers": [], @@ -7371,17 +7371,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9594, + "id": 9757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9586, + "id": 9749, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2287:17:31", "stateVariable": false, "storageLocation": "default", @@ -7390,7 +7390,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9585, + "id": 9748, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2287:4:31", @@ -7404,12 +7404,12 @@ }, { "constant": false, - "id": 9589, + "id": 9752, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2306:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -7419,7 +7419,7 @@ }, "typeName": { "baseType": { - "id": 9587, + "id": 9750, "name": "address", "nodeType": "ElementaryTypeName", "src": "2306:7:31", @@ -7429,7 +7429,7 @@ "typeString": "address" } }, - "id": 9588, + "id": 9751, "length": null, "nodeType": "ArrayTypeName", "src": "2306:9:31", @@ -7443,12 +7443,12 @@ }, { "constant": false, - "id": 9591, + "id": 9754, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2331:10:31", "stateVariable": false, "storageLocation": "default", @@ -7457,7 +7457,7 @@ "typeString": "address" }, "typeName": { - "id": 9590, + "id": 9753, "name": "address", "nodeType": "ElementaryTypeName", "src": "2331:7:31", @@ -7472,12 +7472,12 @@ }, { "constant": false, - "id": 9593, + "id": 9756, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2343:13:31", "stateVariable": false, "storageLocation": "default", @@ -7486,7 +7486,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9592, + "id": 9755, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2343:4:31", @@ -7502,17 +7502,17 @@ "src": "2286:71:31" }, "returnParameters": { - "id": 9598, + "id": 9761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9597, + "id": 9760, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9599, + "scope": 9762, "src": "2408:21:31", "stateVariable": false, "storageLocation": "memory", @@ -7522,7 +7522,7 @@ }, "typeName": { "baseType": { - "id": 9595, + "id": 9758, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2408:4:31", @@ -7531,7 +7531,7 @@ "typeString": "uint256" } }, - "id": 9596, + "id": 9759, "length": null, "nodeType": "ArrayTypeName", "src": "2408:6:31", @@ -7546,7 +7546,7 @@ ], "src": "2407:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2256:175:31", "stateMutability": "payable", "virtual": false, @@ -7556,7 +7556,7 @@ "body": null, "documentation": null, "functionSelector": "4a25d94a", - "id": 9616, + "id": 9779, "implemented": false, "kind": "function", "modifiers": [], @@ -7564,17 +7564,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9611, + "id": 9774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9601, + "id": 9764, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2467:14:31", "stateVariable": false, "storageLocation": "default", @@ -7583,7 +7583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9600, + "id": 9763, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2467:4:31", @@ -7597,12 +7597,12 @@ }, { "constant": false, - "id": 9603, + "id": 9766, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2483:16:31", "stateVariable": false, "storageLocation": "default", @@ -7611,7 +7611,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9602, + "id": 9765, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2483:4:31", @@ -7625,12 +7625,12 @@ }, { "constant": false, - "id": 9606, + "id": 9769, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2501:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -7640,7 +7640,7 @@ }, "typeName": { "baseType": { - "id": 9604, + "id": 9767, "name": "address", "nodeType": "ElementaryTypeName", "src": "2501:7:31", @@ -7650,7 +7650,7 @@ "typeString": "address" } }, - "id": 9605, + "id": 9768, "length": null, "nodeType": "ArrayTypeName", "src": "2501:9:31", @@ -7664,12 +7664,12 @@ }, { "constant": false, - "id": 9608, + "id": 9771, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2526:10:31", "stateVariable": false, "storageLocation": "default", @@ -7678,7 +7678,7 @@ "typeString": "address" }, "typeName": { - "id": 9607, + "id": 9770, "name": "address", "nodeType": "ElementaryTypeName", "src": "2526:7:31", @@ -7693,12 +7693,12 @@ }, { "constant": false, - "id": 9610, + "id": 9773, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2538:13:31", "stateVariable": false, "storageLocation": "default", @@ -7707,7 +7707,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9609, + "id": 9772, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2538:4:31", @@ -7723,17 +7723,17 @@ "src": "2466:86:31" }, "returnParameters": { - "id": 9615, + "id": 9778, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9614, + "id": 9777, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9616, + "scope": 9779, "src": "2587:21:31", "stateVariable": false, "storageLocation": "memory", @@ -7743,7 +7743,7 @@ }, "typeName": { "baseType": { - "id": 9612, + "id": 9775, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2587:4:31", @@ -7752,7 +7752,7 @@ "typeString": "uint256" } }, - "id": 9613, + "id": 9776, "length": null, "nodeType": "ArrayTypeName", "src": "2587:6:31", @@ -7767,7 +7767,7 @@ ], "src": "2586:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2436:174:31", "stateMutability": "nonpayable", "virtual": false, @@ -7777,7 +7777,7 @@ "body": null, "documentation": null, "functionSelector": "18cbafe5", - "id": 9633, + "id": 9796, "implemented": false, "kind": "function", "modifiers": [], @@ -7785,17 +7785,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9628, + "id": 9791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9618, + "id": 9781, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2646:13:31", "stateVariable": false, "storageLocation": "default", @@ -7804,7 +7804,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9617, + "id": 9780, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2646:4:31", @@ -7818,12 +7818,12 @@ }, { "constant": false, - "id": 9620, + "id": 9783, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2661:17:31", "stateVariable": false, "storageLocation": "default", @@ -7832,7 +7832,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9619, + "id": 9782, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2661:4:31", @@ -7846,12 +7846,12 @@ }, { "constant": false, - "id": 9623, + "id": 9786, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2680:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -7861,7 +7861,7 @@ }, "typeName": { "baseType": { - "id": 9621, + "id": 9784, "name": "address", "nodeType": "ElementaryTypeName", "src": "2680:7:31", @@ -7871,7 +7871,7 @@ "typeString": "address" } }, - "id": 9622, + "id": 9785, "length": null, "nodeType": "ArrayTypeName", "src": "2680:9:31", @@ -7885,12 +7885,12 @@ }, { "constant": false, - "id": 9625, + "id": 9788, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2705:10:31", "stateVariable": false, "storageLocation": "default", @@ -7899,7 +7899,7 @@ "typeString": "address" }, "typeName": { - "id": 9624, + "id": 9787, "name": "address", "nodeType": "ElementaryTypeName", "src": "2705:7:31", @@ -7914,12 +7914,12 @@ }, { "constant": false, - "id": 9627, + "id": 9790, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2717:13:31", "stateVariable": false, "storageLocation": "default", @@ -7928,7 +7928,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9626, + "id": 9789, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2717:4:31", @@ -7944,17 +7944,17 @@ "src": "2645:86:31" }, "returnParameters": { - "id": 9632, + "id": 9795, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9631, + "id": 9794, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9633, + "scope": 9796, "src": "2766:21:31", "stateVariable": false, "storageLocation": "memory", @@ -7964,7 +7964,7 @@ }, "typeName": { "baseType": { - "id": 9629, + "id": 9792, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2766:4:31", @@ -7973,7 +7973,7 @@ "typeString": "uint256" } }, - "id": 9630, + "id": 9793, "length": null, "nodeType": "ArrayTypeName", "src": "2766:6:31", @@ -7988,7 +7988,7 @@ ], "src": "2765:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2615:174:31", "stateMutability": "nonpayable", "virtual": false, @@ -7998,7 +7998,7 @@ "body": null, "documentation": null, "functionSelector": "fb3bdb41", - "id": 9648, + "id": 9811, "implemented": false, "kind": "function", "modifiers": [], @@ -8006,17 +8006,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9643, + "id": 9806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9635, + "id": 9798, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2825:14:31", "stateVariable": false, "storageLocation": "default", @@ -8025,7 +8025,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9634, + "id": 9797, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2825:4:31", @@ -8039,12 +8039,12 @@ }, { "constant": false, - "id": 9638, + "id": 9801, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2841:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -8054,7 +8054,7 @@ }, "typeName": { "baseType": { - "id": 9636, + "id": 9799, "name": "address", "nodeType": "ElementaryTypeName", "src": "2841:7:31", @@ -8064,7 +8064,7 @@ "typeString": "address" } }, - "id": 9637, + "id": 9800, "length": null, "nodeType": "ArrayTypeName", "src": "2841:9:31", @@ -8078,12 +8078,12 @@ }, { "constant": false, - "id": 9640, + "id": 9803, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2866:10:31", "stateVariable": false, "storageLocation": "default", @@ -8092,7 +8092,7 @@ "typeString": "address" }, "typeName": { - "id": 9639, + "id": 9802, "name": "address", "nodeType": "ElementaryTypeName", "src": "2866:7:31", @@ -8107,12 +8107,12 @@ }, { "constant": false, - "id": 9642, + "id": 9805, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2878:13:31", "stateVariable": false, "storageLocation": "default", @@ -8121,7 +8121,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9641, + "id": 9804, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2878:4:31", @@ -8137,17 +8137,17 @@ "src": "2824:68:31" }, "returnParameters": { - "id": 9647, + "id": 9810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9646, + "id": 9809, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9648, + "scope": 9811, "src": "2943:21:31", "stateVariable": false, "storageLocation": "memory", @@ -8157,7 +8157,7 @@ }, "typeName": { "baseType": { - "id": 9644, + "id": 9807, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2943:4:31", @@ -8166,7 +8166,7 @@ "typeString": "uint256" } }, - "id": 9645, + "id": 9808, "length": null, "nodeType": "ArrayTypeName", "src": "2943:6:31", @@ -8181,7 +8181,7 @@ ], "src": "2942:23:31" }, - "scope": 9704, + "scope": 9867, "src": "2794:172:31", "stateMutability": "payable", "virtual": false, @@ -8191,7 +8191,7 @@ "body": null, "documentation": null, "functionSelector": "ad615dec", - "id": 9659, + "id": 9822, "implemented": false, "kind": "function", "modifiers": [], @@ -8199,17 +8199,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9655, + "id": 9818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9650, + "id": 9813, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "2987:12:31", "stateVariable": false, "storageLocation": "default", @@ -8218,7 +8218,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9649, + "id": 9812, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2987:4:31", @@ -8232,12 +8232,12 @@ }, { "constant": false, - "id": 9652, + "id": 9815, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3001:13:31", "stateVariable": false, "storageLocation": "default", @@ -8246,7 +8246,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9651, + "id": 9814, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3001:4:31", @@ -8260,12 +8260,12 @@ }, { "constant": false, - "id": 9654, + "id": 9817, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3016:13:31", "stateVariable": false, "storageLocation": "default", @@ -8274,7 +8274,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9653, + "id": 9816, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3016:4:31", @@ -8290,17 +8290,17 @@ "src": "2986:44:31" }, "returnParameters": { - "id": 9658, + "id": 9821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9657, + "id": 9820, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9659, + "scope": 9822, "src": "3054:12:31", "stateVariable": false, "storageLocation": "default", @@ -8309,7 +8309,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9656, + "id": 9819, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3054:4:31", @@ -8324,7 +8324,7 @@ ], "src": "3053:14:31" }, - "scope": 9704, + "scope": 9867, "src": "2972:96:31", "stateMutability": "pure", "virtual": false, @@ -8334,7 +8334,7 @@ "body": null, "documentation": null, "functionSelector": "054d50d4", - "id": 9670, + "id": 9833, "implemented": false, "kind": "function", "modifiers": [], @@ -8342,17 +8342,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9666, + "id": 9829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9661, + "id": 9824, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3095:13:31", "stateVariable": false, "storageLocation": "default", @@ -8361,7 +8361,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9660, + "id": 9823, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3095:4:31", @@ -8375,12 +8375,12 @@ }, { "constant": false, - "id": 9663, + "id": 9826, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3110:14:31", "stateVariable": false, "storageLocation": "default", @@ -8389,7 +8389,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9662, + "id": 9825, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3110:4:31", @@ -8403,12 +8403,12 @@ }, { "constant": false, - "id": 9665, + "id": 9828, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3126:15:31", "stateVariable": false, "storageLocation": "default", @@ -8417,7 +8417,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9664, + "id": 9827, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3126:4:31", @@ -8433,17 +8433,17 @@ "src": "3094:48:31" }, "returnParameters": { - "id": 9669, + "id": 9832, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9668, + "id": 9831, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9670, + "scope": 9833, "src": "3166:14:31", "stateVariable": false, "storageLocation": "default", @@ -8452,7 +8452,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9667, + "id": 9830, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3166:4:31", @@ -8467,7 +8467,7 @@ ], "src": "3165:16:31" }, - "scope": 9704, + "scope": 9867, "src": "3073:109:31", "stateMutability": "pure", "virtual": false, @@ -8477,7 +8477,7 @@ "body": null, "documentation": null, "functionSelector": "85f8c259", - "id": 9681, + "id": 9844, "implemented": false, "kind": "function", "modifiers": [], @@ -8485,17 +8485,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9677, + "id": 9840, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9672, + "id": 9835, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3208:14:31", "stateVariable": false, "storageLocation": "default", @@ -8504,7 +8504,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9671, + "id": 9834, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3208:4:31", @@ -8518,12 +8518,12 @@ }, { "constant": false, - "id": 9674, + "id": 9837, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3224:14:31", "stateVariable": false, "storageLocation": "default", @@ -8532,7 +8532,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9673, + "id": 9836, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3224:4:31", @@ -8546,12 +8546,12 @@ }, { "constant": false, - "id": 9676, + "id": 9839, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3240:15:31", "stateVariable": false, "storageLocation": "default", @@ -8560,7 +8560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9675, + "id": 9838, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3240:4:31", @@ -8576,17 +8576,17 @@ "src": "3207:49:31" }, "returnParameters": { - "id": 9680, + "id": 9843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9679, + "id": 9842, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9681, + "scope": 9844, "src": "3280:13:31", "stateVariable": false, "storageLocation": "default", @@ -8595,7 +8595,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9678, + "id": 9841, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3280:4:31", @@ -8610,7 +8610,7 @@ ], "src": "3279:15:31" }, - "scope": 9704, + "scope": 9867, "src": "3187:108:31", "stateMutability": "pure", "virtual": false, @@ -8620,7 +8620,7 @@ "body": null, "documentation": null, "functionSelector": "d06ca61f", - "id": 9692, + "id": 9855, "implemented": false, "kind": "function", "modifiers": [], @@ -8628,17 +8628,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9687, + "id": 9850, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9683, + "id": 9846, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3323:13:31", "stateVariable": false, "storageLocation": "default", @@ -8647,7 +8647,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9682, + "id": 9845, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3323:4:31", @@ -8661,12 +8661,12 @@ }, { "constant": false, - "id": 9686, + "id": 9849, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3338:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -8676,7 +8676,7 @@ }, "typeName": { "baseType": { - "id": 9684, + "id": 9847, "name": "address", "nodeType": "ElementaryTypeName", "src": "3338:7:31", @@ -8686,7 +8686,7 @@ "typeString": "address" } }, - "id": 9685, + "id": 9848, "length": null, "nodeType": "ArrayTypeName", "src": "3338:9:31", @@ -8702,17 +8702,17 @@ "src": "3322:40:31" }, "returnParameters": { - "id": 9691, + "id": 9854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9690, + "id": 9853, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9692, + "scope": 9855, "src": "3386:21:31", "stateVariable": false, "storageLocation": "memory", @@ -8722,7 +8722,7 @@ }, "typeName": { "baseType": { - "id": 9688, + "id": 9851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3386:4:31", @@ -8731,7 +8731,7 @@ "typeString": "uint256" } }, - "id": 9689, + "id": 9852, "length": null, "nodeType": "ArrayTypeName", "src": "3386:6:31", @@ -8746,7 +8746,7 @@ ], "src": "3385:23:31" }, - "scope": 9704, + "scope": 9867, "src": "3300:109:31", "stateMutability": "view", "virtual": false, @@ -8756,7 +8756,7 @@ "body": null, "documentation": null, "functionSelector": "1f00ca74", - "id": 9703, + "id": 9866, "implemented": false, "kind": "function", "modifiers": [], @@ -8764,17 +8764,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9698, + "id": 9861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9694, + "id": 9857, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3436:14:31", "stateVariable": false, "storageLocation": "default", @@ -8783,7 +8783,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9693, + "id": 9856, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3436:4:31", @@ -8797,12 +8797,12 @@ }, { "constant": false, - "id": 9697, + "id": 9860, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3452:23:31", "stateVariable": false, "storageLocation": "calldata", @@ -8812,7 +8812,7 @@ }, "typeName": { "baseType": { - "id": 9695, + "id": 9858, "name": "address", "nodeType": "ElementaryTypeName", "src": "3452:7:31", @@ -8822,7 +8822,7 @@ "typeString": "address" } }, - "id": 9696, + "id": 9859, "length": null, "nodeType": "ArrayTypeName", "src": "3452:9:31", @@ -8838,17 +8838,17 @@ "src": "3435:41:31" }, "returnParameters": { - "id": 9702, + "id": 9865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9701, + "id": 9864, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9703, + "scope": 9866, "src": "3500:21:31", "stateVariable": false, "storageLocation": "memory", @@ -8858,7 +8858,7 @@ }, "typeName": { "baseType": { - "id": 9699, + "id": 9862, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3500:4:31", @@ -8867,7 +8867,7 @@ "typeString": "uint256" } }, - "id": 9700, + "id": 9863, "length": null, "nodeType": "ArrayTypeName", "src": "3500:6:31", @@ -8882,14 +8882,14 @@ ], "src": "3499:23:31" }, - "scope": 9704, + "scope": 9867, "src": "3414:109:31", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 9705, + "scope": 9868, "src": "26:3499:31" } ], @@ -8901,7 +8901,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.111Z", + "updatedAt": "2020-12-12T01:13:52.687Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/IUniswapV2Router02.json b/AskoLend-contracts/build/contracts/IUniswapV2Router02.json index a784f8a2..2b2ec5ac 100644 --- a/AskoLend-contracts/build/contracts/IUniswapV2Router02.json +++ b/AskoLend-contracts/build/contracts/IUniswapV2Router02.json @@ -965,14 +965,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "exportedSymbols": { "IUniswapV2Router02": [ - 9792 + 9955 ] }, - "id": 9793, + "id": 9956, "nodeType": "SourceUnit", "nodes": [ { - "id": 9706, + "id": 9869, "literals": [ "solidity", ">=", @@ -985,10 +985,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "file": "./IUniswapV2Router01.sol", - "id": 9707, + "id": 9870, "nodeType": "ImportDirective", - "scope": 9793, - "sourceUnit": 9705, + "scope": 9956, + "sourceUnit": 9868, "src": "26:34:32", "symbolAliases": [], "unitAlias": "" @@ -1000,31 +1000,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 9708, + "id": 9871, "name": "IUniswapV2Router01", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9704, + "referencedDeclaration": 9867, "src": "94:18:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$9704", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$9867", "typeString": "contract IUniswapV2Router01" } }, - "id": 9709, + "id": 9872, "nodeType": "InheritanceSpecifier", "src": "94:18:32" } ], "contractDependencies": [ - 9704 + 9867 ], "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9792, + "id": 9955, "linearizedBaseContracts": [ - 9792, - 9704 + 9955, + 9867 ], "name": "IUniswapV2Router02", "nodeType": "ContractDefinition", @@ -1033,7 +1033,7 @@ "body": null, "documentation": null, "functionSelector": "af2979eb", - "id": 9726, + "id": 9889, "implemented": false, "kind": "function", "modifiers": [], @@ -1041,17 +1041,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9722, + "id": 9885, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9711, + "id": 9874, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "185:13:32", "stateVariable": false, "storageLocation": "default", @@ -1060,7 +1060,7 @@ "typeString": "address" }, "typeName": { - "id": 9710, + "id": 9873, "name": "address", "nodeType": "ElementaryTypeName", "src": "185:7:32", @@ -1075,12 +1075,12 @@ }, { "constant": false, - "id": 9713, + "id": 9876, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "208:14:32", "stateVariable": false, "storageLocation": "default", @@ -1089,7 +1089,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9712, + "id": 9875, "name": "uint", "nodeType": "ElementaryTypeName", "src": "208:4:32", @@ -1103,12 +1103,12 @@ }, { "constant": false, - "id": 9715, + "id": 9878, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "232:19:32", "stateVariable": false, "storageLocation": "default", @@ -1117,7 +1117,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9714, + "id": 9877, "name": "uint", "nodeType": "ElementaryTypeName", "src": "232:4:32", @@ -1131,12 +1131,12 @@ }, { "constant": false, - "id": 9717, + "id": 9880, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "261:17:32", "stateVariable": false, "storageLocation": "default", @@ -1145,7 +1145,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9716, + "id": 9879, "name": "uint", "nodeType": "ElementaryTypeName", "src": "261:4:32", @@ -1159,12 +1159,12 @@ }, { "constant": false, - "id": 9719, + "id": 9882, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "288:10:32", "stateVariable": false, "storageLocation": "default", @@ -1173,7 +1173,7 @@ "typeString": "address" }, "typeName": { - "id": 9718, + "id": 9881, "name": "address", "nodeType": "ElementaryTypeName", "src": "288:7:32", @@ -1188,12 +1188,12 @@ }, { "constant": false, - "id": 9721, + "id": 9884, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "308:13:32", "stateVariable": false, "storageLocation": "default", @@ -1202,7 +1202,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9720, + "id": 9883, "name": "uint", "nodeType": "ElementaryTypeName", "src": "308:4:32", @@ -1218,17 +1218,17 @@ "src": "175:152:32" }, "returnParameters": { - "id": 9725, + "id": 9888, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9724, + "id": 9887, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "346:14:32", "stateVariable": false, "storageLocation": "default", @@ -1237,7 +1237,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9723, + "id": 9886, "name": "uint", "nodeType": "ElementaryTypeName", "src": "346:4:32", @@ -1252,7 +1252,7 @@ ], "src": "345:16:32" }, - "scope": 9792, + "scope": 9955, "src": "119:243:32", "stateMutability": "nonpayable", "virtual": false, @@ -1262,7 +1262,7 @@ "body": null, "documentation": null, "functionSelector": "5b0d5984", - "id": 9751, + "id": 9914, "implemented": false, "kind": "function", "modifiers": [], @@ -1270,17 +1270,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9747, + "id": 9910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9728, + "id": 9891, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "443:13:32", "stateVariable": false, "storageLocation": "default", @@ -1289,7 +1289,7 @@ "typeString": "address" }, "typeName": { - "id": 9727, + "id": 9890, "name": "address", "nodeType": "ElementaryTypeName", "src": "443:7:32", @@ -1304,12 +1304,12 @@ }, { "constant": false, - "id": 9730, + "id": 9893, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "466:14:32", "stateVariable": false, "storageLocation": "default", @@ -1318,7 +1318,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9729, + "id": 9892, "name": "uint", "nodeType": "ElementaryTypeName", "src": "466:4:32", @@ -1332,12 +1332,12 @@ }, { "constant": false, - "id": 9732, + "id": 9895, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "490:19:32", "stateVariable": false, "storageLocation": "default", @@ -1346,7 +1346,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9731, + "id": 9894, "name": "uint", "nodeType": "ElementaryTypeName", "src": "490:4:32", @@ -1360,12 +1360,12 @@ }, { "constant": false, - "id": 9734, + "id": 9897, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "519:17:32", "stateVariable": false, "storageLocation": "default", @@ -1374,7 +1374,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9733, + "id": 9896, "name": "uint", "nodeType": "ElementaryTypeName", "src": "519:4:32", @@ -1388,12 +1388,12 @@ }, { "constant": false, - "id": 9736, + "id": 9899, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "546:10:32", "stateVariable": false, "storageLocation": "default", @@ -1402,7 +1402,7 @@ "typeString": "address" }, "typeName": { - "id": 9735, + "id": 9898, "name": "address", "nodeType": "ElementaryTypeName", "src": "546:7:32", @@ -1417,12 +1417,12 @@ }, { "constant": false, - "id": 9738, + "id": 9901, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "566:13:32", "stateVariable": false, "storageLocation": "default", @@ -1431,7 +1431,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9737, + "id": 9900, "name": "uint", "nodeType": "ElementaryTypeName", "src": "566:4:32", @@ -1445,12 +1445,12 @@ }, { "constant": false, - "id": 9740, + "id": 9903, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "589:15:32", "stateVariable": false, "storageLocation": "default", @@ -1459,7 +1459,7 @@ "typeString": "bool" }, "typeName": { - "id": 9739, + "id": 9902, "name": "bool", "nodeType": "ElementaryTypeName", "src": "589:4:32", @@ -1473,12 +1473,12 @@ }, { "constant": false, - "id": 9742, + "id": 9905, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "606:7:32", "stateVariable": false, "storageLocation": "default", @@ -1487,7 +1487,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9741, + "id": 9904, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "606:5:32", @@ -1501,12 +1501,12 @@ }, { "constant": false, - "id": 9744, + "id": 9907, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "615:9:32", "stateVariable": false, "storageLocation": "default", @@ -1515,7 +1515,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9743, + "id": 9906, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "615:7:32", @@ -1529,12 +1529,12 @@ }, { "constant": false, - "id": 9746, + "id": 9909, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "626:9:32", "stateVariable": false, "storageLocation": "default", @@ -1543,7 +1543,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9745, + "id": 9908, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "626:7:32", @@ -1559,17 +1559,17 @@ "src": "433:208:32" }, "returnParameters": { - "id": 9750, + "id": 9913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9749, + "id": 9912, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "660:14:32", "stateVariable": false, "storageLocation": "default", @@ -1578,7 +1578,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9748, + "id": 9911, "name": "uint", "nodeType": "ElementaryTypeName", "src": "660:4:32", @@ -1593,7 +1593,7 @@ ], "src": "659:16:32" }, - "scope": 9792, + "scope": 9955, "src": "367:309:32", "stateMutability": "nonpayable", "virtual": false, @@ -1603,7 +1603,7 @@ "body": null, "documentation": null, "functionSelector": "5c11d795", - "id": 9765, + "id": 9928, "implemented": false, "kind": "function", "modifiers": [], @@ -1611,17 +1611,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9763, + "id": 9926, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9753, + "id": 9916, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "754:13:32", "stateVariable": false, "storageLocation": "default", @@ -1630,7 +1630,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9752, + "id": 9915, "name": "uint", "nodeType": "ElementaryTypeName", "src": "754:4:32", @@ -1644,12 +1644,12 @@ }, { "constant": false, - "id": 9755, + "id": 9918, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "777:17:32", "stateVariable": false, "storageLocation": "default", @@ -1658,7 +1658,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9754, + "id": 9917, "name": "uint", "nodeType": "ElementaryTypeName", "src": "777:4:32", @@ -1672,12 +1672,12 @@ }, { "constant": false, - "id": 9758, + "id": 9921, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "804:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -1687,7 +1687,7 @@ }, "typeName": { "baseType": { - "id": 9756, + "id": 9919, "name": "address", "nodeType": "ElementaryTypeName", "src": "804:7:32", @@ -1697,7 +1697,7 @@ "typeString": "address" } }, - "id": 9757, + "id": 9920, "length": null, "nodeType": "ArrayTypeName", "src": "804:9:32", @@ -1711,12 +1711,12 @@ }, { "constant": false, - "id": 9760, + "id": 9923, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "837:10:32", "stateVariable": false, "storageLocation": "default", @@ -1725,7 +1725,7 @@ "typeString": "address" }, "typeName": { - "id": 9759, + "id": 9922, "name": "address", "nodeType": "ElementaryTypeName", "src": "837:7:32", @@ -1740,12 +1740,12 @@ }, { "constant": false, - "id": 9762, + "id": 9925, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "857:13:32", "stateVariable": false, "storageLocation": "default", @@ -1754,7 +1754,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9761, + "id": 9924, "name": "uint", "nodeType": "ElementaryTypeName", "src": "857:4:32", @@ -1770,12 +1770,12 @@ "src": "744:132:32" }, "returnParameters": { - "id": 9764, + "id": 9927, "nodeType": "ParameterList", "parameters": [], "src": "885:0:32" }, - "scope": 9792, + "scope": 9955, "src": "682:204:32", "stateMutability": "nonpayable", "virtual": false, @@ -1785,7 +1785,7 @@ "body": null, "documentation": null, "functionSelector": "b6f9de95", - "id": 9777, + "id": 9940, "implemented": false, "kind": "function", "modifiers": [], @@ -1793,17 +1793,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9775, + "id": 9938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9767, + "id": 9930, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "960:17:32", "stateVariable": false, "storageLocation": "default", @@ -1812,7 +1812,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9766, + "id": 9929, "name": "uint", "nodeType": "ElementaryTypeName", "src": "960:4:32", @@ -1826,12 +1826,12 @@ }, { "constant": false, - "id": 9770, + "id": 9933, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "987:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -1841,7 +1841,7 @@ }, "typeName": { "baseType": { - "id": 9768, + "id": 9931, "name": "address", "nodeType": "ElementaryTypeName", "src": "987:7:32", @@ -1851,7 +1851,7 @@ "typeString": "address" } }, - "id": 9769, + "id": 9932, "length": null, "nodeType": "ArrayTypeName", "src": "987:9:32", @@ -1865,12 +1865,12 @@ }, { "constant": false, - "id": 9772, + "id": 9935, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "1020:10:32", "stateVariable": false, "storageLocation": "default", @@ -1879,7 +1879,7 @@ "typeString": "address" }, "typeName": { - "id": 9771, + "id": 9934, "name": "address", "nodeType": "ElementaryTypeName", "src": "1020:7:32", @@ -1894,12 +1894,12 @@ }, { "constant": false, - "id": 9774, + "id": 9937, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "1040:13:32", "stateVariable": false, "storageLocation": "default", @@ -1908,7 +1908,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9773, + "id": 9936, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1040:4:32", @@ -1924,12 +1924,12 @@ "src": "950:109:32" }, "returnParameters": { - "id": 9776, + "id": 9939, "nodeType": "ParameterList", "parameters": [], "src": "1076:0:32" }, - "scope": 9792, + "scope": 9955, "src": "891:186:32", "stateMutability": "payable", "virtual": false, @@ -1939,7 +1939,7 @@ "body": null, "documentation": null, "functionSelector": "791ac947", - "id": 9791, + "id": 9954, "implemented": false, "kind": "function", "modifiers": [], @@ -1947,17 +1947,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9789, + "id": 9952, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9779, + "id": 9942, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1151:13:32", "stateVariable": false, "storageLocation": "default", @@ -1966,7 +1966,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9778, + "id": 9941, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1151:4:32", @@ -1980,12 +1980,12 @@ }, { "constant": false, - "id": 9781, + "id": 9944, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1174:17:32", "stateVariable": false, "storageLocation": "default", @@ -1994,7 +1994,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9780, + "id": 9943, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1174:4:32", @@ -2008,12 +2008,12 @@ }, { "constant": false, - "id": 9784, + "id": 9947, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1201:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -2023,7 +2023,7 @@ }, "typeName": { "baseType": { - "id": 9782, + "id": 9945, "name": "address", "nodeType": "ElementaryTypeName", "src": "1201:7:32", @@ -2033,7 +2033,7 @@ "typeString": "address" } }, - "id": 9783, + "id": 9946, "length": null, "nodeType": "ArrayTypeName", "src": "1201:9:32", @@ -2047,12 +2047,12 @@ }, { "constant": false, - "id": 9786, + "id": 9949, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1234:10:32", "stateVariable": false, "storageLocation": "default", @@ -2061,7 +2061,7 @@ "typeString": "address" }, "typeName": { - "id": 9785, + "id": 9948, "name": "address", "nodeType": "ElementaryTypeName", "src": "1234:7:32", @@ -2076,12 +2076,12 @@ }, { "constant": false, - "id": 9788, + "id": 9951, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1254:13:32", "stateVariable": false, "storageLocation": "default", @@ -2090,7 +2090,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9787, + "id": 9950, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1254:4:32", @@ -2106,19 +2106,19 @@ "src": "1141:132:32" }, "returnParameters": { - "id": 9790, + "id": 9953, "nodeType": "ParameterList", "parameters": [], "src": "1282:0:32" }, - "scope": 9792, + "scope": 9955, "src": "1082:201:32", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 9793, + "scope": 9956, "src": "62:1223:32" } ], @@ -2128,14 +2128,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "exportedSymbols": { "IUniswapV2Router02": [ - 9792 + 9955 ] }, - "id": 9793, + "id": 9956, "nodeType": "SourceUnit", "nodes": [ { - "id": 9706, + "id": 9869, "literals": [ "solidity", ">=", @@ -2148,10 +2148,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol", "file": "./IUniswapV2Router01.sol", - "id": 9707, + "id": 9870, "nodeType": "ImportDirective", - "scope": 9793, - "sourceUnit": 9705, + "scope": 9956, + "sourceUnit": 9868, "src": "26:34:32", "symbolAliases": [], "unitAlias": "" @@ -2163,31 +2163,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 9708, + "id": 9871, "name": "IUniswapV2Router01", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9704, + "referencedDeclaration": 9867, "src": "94:18:32", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router01_$9704", + "typeIdentifier": "t_contract$_IUniswapV2Router01_$9867", "typeString": "contract IUniswapV2Router01" } }, - "id": 9709, + "id": 9872, "nodeType": "InheritanceSpecifier", "src": "94:18:32" } ], "contractDependencies": [ - 9704 + 9867 ], "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9792, + "id": 9955, "linearizedBaseContracts": [ - 9792, - 9704 + 9955, + 9867 ], "name": "IUniswapV2Router02", "nodeType": "ContractDefinition", @@ -2196,7 +2196,7 @@ "body": null, "documentation": null, "functionSelector": "af2979eb", - "id": 9726, + "id": 9889, "implemented": false, "kind": "function", "modifiers": [], @@ -2204,17 +2204,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9722, + "id": 9885, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9711, + "id": 9874, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "185:13:32", "stateVariable": false, "storageLocation": "default", @@ -2223,7 +2223,7 @@ "typeString": "address" }, "typeName": { - "id": 9710, + "id": 9873, "name": "address", "nodeType": "ElementaryTypeName", "src": "185:7:32", @@ -2238,12 +2238,12 @@ }, { "constant": false, - "id": 9713, + "id": 9876, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "208:14:32", "stateVariable": false, "storageLocation": "default", @@ -2252,7 +2252,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9712, + "id": 9875, "name": "uint", "nodeType": "ElementaryTypeName", "src": "208:4:32", @@ -2266,12 +2266,12 @@ }, { "constant": false, - "id": 9715, + "id": 9878, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "232:19:32", "stateVariable": false, "storageLocation": "default", @@ -2280,7 +2280,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9714, + "id": 9877, "name": "uint", "nodeType": "ElementaryTypeName", "src": "232:4:32", @@ -2294,12 +2294,12 @@ }, { "constant": false, - "id": 9717, + "id": 9880, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "261:17:32", "stateVariable": false, "storageLocation": "default", @@ -2308,7 +2308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9716, + "id": 9879, "name": "uint", "nodeType": "ElementaryTypeName", "src": "261:4:32", @@ -2322,12 +2322,12 @@ }, { "constant": false, - "id": 9719, + "id": 9882, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "288:10:32", "stateVariable": false, "storageLocation": "default", @@ -2336,7 +2336,7 @@ "typeString": "address" }, "typeName": { - "id": 9718, + "id": 9881, "name": "address", "nodeType": "ElementaryTypeName", "src": "288:7:32", @@ -2351,12 +2351,12 @@ }, { "constant": false, - "id": 9721, + "id": 9884, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "308:13:32", "stateVariable": false, "storageLocation": "default", @@ -2365,7 +2365,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9720, + "id": 9883, "name": "uint", "nodeType": "ElementaryTypeName", "src": "308:4:32", @@ -2381,17 +2381,17 @@ "src": "175:152:32" }, "returnParameters": { - "id": 9725, + "id": 9888, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9724, + "id": 9887, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9726, + "scope": 9889, "src": "346:14:32", "stateVariable": false, "storageLocation": "default", @@ -2400,7 +2400,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9723, + "id": 9886, "name": "uint", "nodeType": "ElementaryTypeName", "src": "346:4:32", @@ -2415,7 +2415,7 @@ ], "src": "345:16:32" }, - "scope": 9792, + "scope": 9955, "src": "119:243:32", "stateMutability": "nonpayable", "virtual": false, @@ -2425,7 +2425,7 @@ "body": null, "documentation": null, "functionSelector": "5b0d5984", - "id": 9751, + "id": 9914, "implemented": false, "kind": "function", "modifiers": [], @@ -2433,17 +2433,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9747, + "id": 9910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9728, + "id": 9891, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "443:13:32", "stateVariable": false, "storageLocation": "default", @@ -2452,7 +2452,7 @@ "typeString": "address" }, "typeName": { - "id": 9727, + "id": 9890, "name": "address", "nodeType": "ElementaryTypeName", "src": "443:7:32", @@ -2467,12 +2467,12 @@ }, { "constant": false, - "id": 9730, + "id": 9893, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "466:14:32", "stateVariable": false, "storageLocation": "default", @@ -2481,7 +2481,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9729, + "id": 9892, "name": "uint", "nodeType": "ElementaryTypeName", "src": "466:4:32", @@ -2495,12 +2495,12 @@ }, { "constant": false, - "id": 9732, + "id": 9895, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "490:19:32", "stateVariable": false, "storageLocation": "default", @@ -2509,7 +2509,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9731, + "id": 9894, "name": "uint", "nodeType": "ElementaryTypeName", "src": "490:4:32", @@ -2523,12 +2523,12 @@ }, { "constant": false, - "id": 9734, + "id": 9897, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "519:17:32", "stateVariable": false, "storageLocation": "default", @@ -2537,7 +2537,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9733, + "id": 9896, "name": "uint", "nodeType": "ElementaryTypeName", "src": "519:4:32", @@ -2551,12 +2551,12 @@ }, { "constant": false, - "id": 9736, + "id": 9899, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "546:10:32", "stateVariable": false, "storageLocation": "default", @@ -2565,7 +2565,7 @@ "typeString": "address" }, "typeName": { - "id": 9735, + "id": 9898, "name": "address", "nodeType": "ElementaryTypeName", "src": "546:7:32", @@ -2580,12 +2580,12 @@ }, { "constant": false, - "id": 9738, + "id": 9901, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "566:13:32", "stateVariable": false, "storageLocation": "default", @@ -2594,7 +2594,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9737, + "id": 9900, "name": "uint", "nodeType": "ElementaryTypeName", "src": "566:4:32", @@ -2608,12 +2608,12 @@ }, { "constant": false, - "id": 9740, + "id": 9903, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "589:15:32", "stateVariable": false, "storageLocation": "default", @@ -2622,7 +2622,7 @@ "typeString": "bool" }, "typeName": { - "id": 9739, + "id": 9902, "name": "bool", "nodeType": "ElementaryTypeName", "src": "589:4:32", @@ -2636,12 +2636,12 @@ }, { "constant": false, - "id": 9742, + "id": 9905, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "606:7:32", "stateVariable": false, "storageLocation": "default", @@ -2650,7 +2650,7 @@ "typeString": "uint8" }, "typeName": { - "id": 9741, + "id": 9904, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "606:5:32", @@ -2664,12 +2664,12 @@ }, { "constant": false, - "id": 9744, + "id": 9907, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "615:9:32", "stateVariable": false, "storageLocation": "default", @@ -2678,7 +2678,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9743, + "id": 9906, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "615:7:32", @@ -2692,12 +2692,12 @@ }, { "constant": false, - "id": 9746, + "id": 9909, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "626:9:32", "stateVariable": false, "storageLocation": "default", @@ -2706,7 +2706,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 9745, + "id": 9908, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "626:7:32", @@ -2722,17 +2722,17 @@ "src": "433:208:32" }, "returnParameters": { - "id": 9750, + "id": 9913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9749, + "id": 9912, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9751, + "scope": 9914, "src": "660:14:32", "stateVariable": false, "storageLocation": "default", @@ -2741,7 +2741,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9748, + "id": 9911, "name": "uint", "nodeType": "ElementaryTypeName", "src": "660:4:32", @@ -2756,7 +2756,7 @@ ], "src": "659:16:32" }, - "scope": 9792, + "scope": 9955, "src": "367:309:32", "stateMutability": "nonpayable", "virtual": false, @@ -2766,7 +2766,7 @@ "body": null, "documentation": null, "functionSelector": "5c11d795", - "id": 9765, + "id": 9928, "implemented": false, "kind": "function", "modifiers": [], @@ -2774,17 +2774,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9763, + "id": 9926, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9753, + "id": 9916, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "754:13:32", "stateVariable": false, "storageLocation": "default", @@ -2793,7 +2793,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9752, + "id": 9915, "name": "uint", "nodeType": "ElementaryTypeName", "src": "754:4:32", @@ -2807,12 +2807,12 @@ }, { "constant": false, - "id": 9755, + "id": 9918, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "777:17:32", "stateVariable": false, "storageLocation": "default", @@ -2821,7 +2821,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9754, + "id": 9917, "name": "uint", "nodeType": "ElementaryTypeName", "src": "777:4:32", @@ -2835,12 +2835,12 @@ }, { "constant": false, - "id": 9758, + "id": 9921, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "804:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -2850,7 +2850,7 @@ }, "typeName": { "baseType": { - "id": 9756, + "id": 9919, "name": "address", "nodeType": "ElementaryTypeName", "src": "804:7:32", @@ -2860,7 +2860,7 @@ "typeString": "address" } }, - "id": 9757, + "id": 9920, "length": null, "nodeType": "ArrayTypeName", "src": "804:9:32", @@ -2874,12 +2874,12 @@ }, { "constant": false, - "id": 9760, + "id": 9923, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "837:10:32", "stateVariable": false, "storageLocation": "default", @@ -2888,7 +2888,7 @@ "typeString": "address" }, "typeName": { - "id": 9759, + "id": 9922, "name": "address", "nodeType": "ElementaryTypeName", "src": "837:7:32", @@ -2903,12 +2903,12 @@ }, { "constant": false, - "id": 9762, + "id": 9925, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9765, + "scope": 9928, "src": "857:13:32", "stateVariable": false, "storageLocation": "default", @@ -2917,7 +2917,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9761, + "id": 9924, "name": "uint", "nodeType": "ElementaryTypeName", "src": "857:4:32", @@ -2933,12 +2933,12 @@ "src": "744:132:32" }, "returnParameters": { - "id": 9764, + "id": 9927, "nodeType": "ParameterList", "parameters": [], "src": "885:0:32" }, - "scope": 9792, + "scope": 9955, "src": "682:204:32", "stateMutability": "nonpayable", "virtual": false, @@ -2948,7 +2948,7 @@ "body": null, "documentation": null, "functionSelector": "b6f9de95", - "id": 9777, + "id": 9940, "implemented": false, "kind": "function", "modifiers": [], @@ -2956,17 +2956,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9775, + "id": 9938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9767, + "id": 9930, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "960:17:32", "stateVariable": false, "storageLocation": "default", @@ -2975,7 +2975,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9766, + "id": 9929, "name": "uint", "nodeType": "ElementaryTypeName", "src": "960:4:32", @@ -2989,12 +2989,12 @@ }, { "constant": false, - "id": 9770, + "id": 9933, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "987:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -3004,7 +3004,7 @@ }, "typeName": { "baseType": { - "id": 9768, + "id": 9931, "name": "address", "nodeType": "ElementaryTypeName", "src": "987:7:32", @@ -3014,7 +3014,7 @@ "typeString": "address" } }, - "id": 9769, + "id": 9932, "length": null, "nodeType": "ArrayTypeName", "src": "987:9:32", @@ -3028,12 +3028,12 @@ }, { "constant": false, - "id": 9772, + "id": 9935, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "1020:10:32", "stateVariable": false, "storageLocation": "default", @@ -3042,7 +3042,7 @@ "typeString": "address" }, "typeName": { - "id": 9771, + "id": 9934, "name": "address", "nodeType": "ElementaryTypeName", "src": "1020:7:32", @@ -3057,12 +3057,12 @@ }, { "constant": false, - "id": 9774, + "id": 9937, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9777, + "scope": 9940, "src": "1040:13:32", "stateVariable": false, "storageLocation": "default", @@ -3071,7 +3071,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9773, + "id": 9936, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1040:4:32", @@ -3087,12 +3087,12 @@ "src": "950:109:32" }, "returnParameters": { - "id": 9776, + "id": 9939, "nodeType": "ParameterList", "parameters": [], "src": "1076:0:32" }, - "scope": 9792, + "scope": 9955, "src": "891:186:32", "stateMutability": "payable", "virtual": false, @@ -3102,7 +3102,7 @@ "body": null, "documentation": null, "functionSelector": "791ac947", - "id": 9791, + "id": 9954, "implemented": false, "kind": "function", "modifiers": [], @@ -3110,17 +3110,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9789, + "id": 9952, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9779, + "id": 9942, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1151:13:32", "stateVariable": false, "storageLocation": "default", @@ -3129,7 +3129,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9778, + "id": 9941, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1151:4:32", @@ -3143,12 +3143,12 @@ }, { "constant": false, - "id": 9781, + "id": 9944, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1174:17:32", "stateVariable": false, "storageLocation": "default", @@ -3157,7 +3157,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9780, + "id": 9943, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1174:4:32", @@ -3171,12 +3171,12 @@ }, { "constant": false, - "id": 9784, + "id": 9947, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1201:23:32", "stateVariable": false, "storageLocation": "calldata", @@ -3186,7 +3186,7 @@ }, "typeName": { "baseType": { - "id": 9782, + "id": 9945, "name": "address", "nodeType": "ElementaryTypeName", "src": "1201:7:32", @@ -3196,7 +3196,7 @@ "typeString": "address" } }, - "id": 9783, + "id": 9946, "length": null, "nodeType": "ArrayTypeName", "src": "1201:9:32", @@ -3210,12 +3210,12 @@ }, { "constant": false, - "id": 9786, + "id": 9949, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1234:10:32", "stateVariable": false, "storageLocation": "default", @@ -3224,7 +3224,7 @@ "typeString": "address" }, "typeName": { - "id": 9785, + "id": 9948, "name": "address", "nodeType": "ElementaryTypeName", "src": "1234:7:32", @@ -3239,12 +3239,12 @@ }, { "constant": false, - "id": 9788, + "id": 9951, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9791, + "scope": 9954, "src": "1254:13:32", "stateVariable": false, "storageLocation": "default", @@ -3253,7 +3253,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9787, + "id": 9950, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1254:4:32", @@ -3269,19 +3269,19 @@ "src": "1141:132:32" }, "returnParameters": { - "id": 9790, + "id": 9953, "nodeType": "ParameterList", "parameters": [], "src": "1282:0:32" }, - "scope": 9792, + "scope": 9955, "src": "1082:201:32", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 9793, + "scope": 9956, "src": "62:1223:32" } ], @@ -3293,7 +3293,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.114Z", + "updatedAt": "2020-12-12T01:13:52.695Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/IWETH.json b/AskoLend-contracts/build/contracts/IWETH.json index f322a798..dd012b4a 100644 --- a/AskoLend-contracts/build/contracts/IWETH.json +++ b/AskoLend-contracts/build/contracts/IWETH.json @@ -58,14 +58,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IWETH.sol", "exportedSymbols": { "IWETH": [ - 9812 + 9975 ] }, - "id": 9813, + "id": 9976, "nodeType": "SourceUnit", "nodes": [ { - "id": 9794, + "id": 9957, "literals": [ "solidity", ">=", @@ -82,9 +82,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9812, + "id": 9975, "linearizedBaseContracts": [ - 9812 + 9975 ], "name": "IWETH", "nodeType": "ContractDefinition", @@ -93,7 +93,7 @@ "body": null, "documentation": null, "functionSelector": "d0e30db0", - "id": 9797, + "id": 9960, "implemented": false, "kind": "function", "modifiers": [], @@ -101,18 +101,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9795, + "id": 9958, "nodeType": "ParameterList", "parameters": [], "src": "64:2:33" }, "returnParameters": { - "id": 9796, + "id": 9959, "nodeType": "ParameterList", "parameters": [], "src": "83:0:33" }, - "scope": 9812, + "scope": 9975, "src": "48:36:33", "stateMutability": "payable", "virtual": false, @@ -122,7 +122,7 @@ "body": null, "documentation": null, "functionSelector": "a9059cbb", - "id": 9806, + "id": 9969, "implemented": false, "kind": "function", "modifiers": [], @@ -130,17 +130,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9802, + "id": 9965, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9799, + "id": 9962, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "107:10:33", "stateVariable": false, "storageLocation": "default", @@ -149,7 +149,7 @@ "typeString": "address" }, "typeName": { - "id": 9798, + "id": 9961, "name": "address", "nodeType": "ElementaryTypeName", "src": "107:7:33", @@ -164,12 +164,12 @@ }, { "constant": false, - "id": 9801, + "id": 9964, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "119:10:33", "stateVariable": false, "storageLocation": "default", @@ -178,7 +178,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9800, + "id": 9963, "name": "uint", "nodeType": "ElementaryTypeName", "src": "119:4:33", @@ -194,17 +194,17 @@ "src": "106:24:33" }, "returnParameters": { - "id": 9805, + "id": 9968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9804, + "id": 9967, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "149:4:33", "stateVariable": false, "storageLocation": "default", @@ -213,7 +213,7 @@ "typeString": "bool" }, "typeName": { - "id": 9803, + "id": 9966, "name": "bool", "nodeType": "ElementaryTypeName", "src": "149:4:33", @@ -228,7 +228,7 @@ ], "src": "148:6:33" }, - "scope": 9812, + "scope": 9975, "src": "89:66:33", "stateMutability": "nonpayable", "virtual": false, @@ -238,7 +238,7 @@ "body": null, "documentation": null, "functionSelector": "2e1a7d4d", - "id": 9811, + "id": 9974, "implemented": false, "kind": "function", "modifiers": [], @@ -246,17 +246,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9809, + "id": 9972, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9808, + "id": 9971, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9811, + "scope": 9974, "src": "178:4:33", "stateVariable": false, "storageLocation": "default", @@ -265,7 +265,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9807, + "id": 9970, "name": "uint", "nodeType": "ElementaryTypeName", "src": "178:4:33", @@ -281,19 +281,19 @@ "src": "177:6:33" }, "returnParameters": { - "id": 9810, + "id": 9973, "nodeType": "ParameterList", "parameters": [], "src": "192:0:33" }, - "scope": 9812, + "scope": 9975, "src": "160:33:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 9813, + "scope": 9976, "src": "26:169:33" } ], @@ -303,14 +303,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IWETH.sol", "exportedSymbols": { "IWETH": [ - 9812 + 9975 ] }, - "id": 9813, + "id": 9976, "nodeType": "SourceUnit", "nodes": [ { - "id": 9794, + "id": 9957, "literals": [ "solidity", ">=", @@ -327,9 +327,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 9812, + "id": 9975, "linearizedBaseContracts": [ - 9812 + 9975 ], "name": "IWETH", "nodeType": "ContractDefinition", @@ -338,7 +338,7 @@ "body": null, "documentation": null, "functionSelector": "d0e30db0", - "id": 9797, + "id": 9960, "implemented": false, "kind": "function", "modifiers": [], @@ -346,18 +346,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9795, + "id": 9958, "nodeType": "ParameterList", "parameters": [], "src": "64:2:33" }, "returnParameters": { - "id": 9796, + "id": 9959, "nodeType": "ParameterList", "parameters": [], "src": "83:0:33" }, - "scope": 9812, + "scope": 9975, "src": "48:36:33", "stateMutability": "payable", "virtual": false, @@ -367,7 +367,7 @@ "body": null, "documentation": null, "functionSelector": "a9059cbb", - "id": 9806, + "id": 9969, "implemented": false, "kind": "function", "modifiers": [], @@ -375,17 +375,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9802, + "id": 9965, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9799, + "id": 9962, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "107:10:33", "stateVariable": false, "storageLocation": "default", @@ -394,7 +394,7 @@ "typeString": "address" }, "typeName": { - "id": 9798, + "id": 9961, "name": "address", "nodeType": "ElementaryTypeName", "src": "107:7:33", @@ -409,12 +409,12 @@ }, { "constant": false, - "id": 9801, + "id": 9964, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "119:10:33", "stateVariable": false, "storageLocation": "default", @@ -423,7 +423,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9800, + "id": 9963, "name": "uint", "nodeType": "ElementaryTypeName", "src": "119:4:33", @@ -439,17 +439,17 @@ "src": "106:24:33" }, "returnParameters": { - "id": 9805, + "id": 9968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9804, + "id": 9967, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9806, + "scope": 9969, "src": "149:4:33", "stateVariable": false, "storageLocation": "default", @@ -458,7 +458,7 @@ "typeString": "bool" }, "typeName": { - "id": 9803, + "id": 9966, "name": "bool", "nodeType": "ElementaryTypeName", "src": "149:4:33", @@ -473,7 +473,7 @@ ], "src": "148:6:33" }, - "scope": 9812, + "scope": 9975, "src": "89:66:33", "stateMutability": "nonpayable", "virtual": false, @@ -483,7 +483,7 @@ "body": null, "documentation": null, "functionSelector": "2e1a7d4d", - "id": 9811, + "id": 9974, "implemented": false, "kind": "function", "modifiers": [], @@ -491,17 +491,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9809, + "id": 9972, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9808, + "id": 9971, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9811, + "scope": 9974, "src": "178:4:33", "stateVariable": false, "storageLocation": "default", @@ -510,7 +510,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9807, + "id": 9970, "name": "uint", "nodeType": "ElementaryTypeName", "src": "178:4:33", @@ -526,19 +526,19 @@ "src": "177:6:33" }, "returnParameters": { - "id": 9810, + "id": 9973, "nodeType": "ParameterList", "parameters": [], "src": "192:0:33" }, - "scope": 9812, + "scope": 9975, "src": "160:33:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 9813, + "scope": 9976, "src": "26:169:33" } ], @@ -550,7 +550,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.116Z", + "updatedAt": "2020-12-12T01:13:52.698Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/InterestRateModel.json b/AskoLend-contracts/build/contracts/InterestRateModel.json index 6afe051d..253acfaa 100644 --- a/AskoLend-contracts/build/contracts/InterestRateModel.json +++ b/AskoLend-contracts/build/contracts/InterestRateModel.json @@ -78,26 +78,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"getBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInterestRateModel\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Compound\",\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The total amount of borrows the market has outstanding\",\"cash\":\"The total amount of cash the market has\",\"reserves\":\"The total amount of reserves the market has\"},\"returns\":{\"_0\":\"The borrow rate per block (as a percentage, and scaled by 1e18)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The total amount of borrows the market has outstanding\",\"cash\":\"The total amount of cash the market has\",\"reserveFactorMantissa\":\"The current reserve factor the market has\",\"reserves\":\"The total amount of reserves the market has\"},\"returns\":{\"_0\":\"The supply rate per block (as a percentage, and scaled by 1e18)\"}}},\"title\":\"Compound's InterestRateModel Interface\"},\"userdoc\":{\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the current borrow interest rate per block\"},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply interest rate per block\"}}}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":\"InterestRateModel\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":{\"keccak256\":\"0x343e39fe3cac3768527f1a3354fdde91ac11545693d5e5db8d51d10bd44e0176\",\"urls\":[\"bzz-raw://1e1e06a116bea6b16dbc39b23829b861fb975b9045e4db369fe541d48abd3d76\",\"dweb:/ipfs/QmcUKxN1UVqVpFRaLB2RHWLZkKqUi2fzY2Qs3524CQWNRJ\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"getBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInterestRateModel\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Compound\",\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The total amount of borrows the market has outstanding\",\"cash\":\"The total amount of cash the market has\",\"reserves\":\"The total amount of reserves the market has\"},\"returns\":{\"_0\":\"The borrow rate per block (as a percentage, and scaled by 1e18)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The total amount of borrows the market has outstanding\",\"cash\":\"The total amount of cash the market has\",\"reserveFactorMantissa\":\"The current reserve factor the market has\",\"reserves\":\"The total amount of reserves the market has\"},\"returns\":{\"_0\":\"The supply rate per block (as a percentage, and scaled by 1e18)\"}}},\"title\":\"Compound's InterestRateModel Interface\"},\"userdoc\":{\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the current borrow interest rate per block\"},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply interest rate per block\"}}}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":\"InterestRateModel\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol\":{\"keccak256\":\"0x343e39fe3cac3768527f1a3354fdde91ac11545693d5e5db8d51d10bd44e0176\",\"urls\":[\"bzz-raw://1e1e06a116bea6b16dbc39b23829b861fb975b9045e4db369fe541d48abd3d76\",\"dweb:/ipfs/QmcUKxN1UVqVpFRaLB2RHWLZkKqUi2fzY2Qs3524CQWNRJ\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\n/**\n * @title Compound's InterestRateModel Interface\n * @author Compound\n */\nabstract contract InterestRateModel {\n /// @notice Indicator that this is an InterestRateModel contract (for inspection)\n bool public constant isInterestRateModel = true;\n\n /**\n * @notice Calculates the current borrow interest rate per block\n * @param cash The total amount of cash the market has\n * @param borrows The total amount of borrows the market has outstanding\n * @param reserves The total amount of reserves the market has\n * @return The borrow rate per block (as a percentage, and scaled by 1e18)\n */\n function getBorrowRate(uint cash, uint borrows, uint reserves) external virtual view returns (uint);\n\n /**\n * @notice Calculates the current supply interest rate per block\n * @param cash The total amount of cash the market has\n * @param borrows The total amount of borrows the market has outstanding\n * @param reserves The total amount of reserves the market has\n * @param reserveFactorMantissa The current reserve factor the market has\n * @return The supply rate per block (as a percentage, and scaled by 1e18)\n */\n function getSupplyRate(uint cash, uint borrows, uint reserves, uint reserveFactorMantissa) external virtual view returns (uint);\n\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", "exportedSymbols": { "InterestRateModel": [ - 6249 + 6382 ] }, - "id": 6250, + "id": 6383, "nodeType": "SourceUnit", "nodes": [ { - "id": 6218, + "id": 6351, "literals": [ "solidity", "^", @@ -113,15 +113,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6219, + "id": 6352, "nodeType": "StructuredDocumentation", "src": "25:79:18", "text": "@title Compound's InterestRateModel Interface\n@author Compound" }, "fullyImplemented": false, - "id": 6249, + "id": 6382, "linearizedBaseContracts": [ - 6249 + 6382 ], "name": "InterestRateModel", "nodeType": "ContractDefinition", @@ -129,12 +129,12 @@ { "constant": true, "functionSelector": "2191f92a", - "id": 6222, + "id": 6355, "mutability": "constant", "name": "isInterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6249, + "scope": 6382, "src": "233:47:18", "stateVariable": true, "storageLocation": "default", @@ -143,7 +143,7 @@ "typeString": "bool" }, "typeName": { - "id": 6220, + "id": 6353, "name": "bool", "nodeType": "ElementaryTypeName", "src": "233:4:18", @@ -155,7 +155,7 @@ "value": { "argumentTypes": null, "hexValue": "74727565", - "id": 6221, + "id": 6354, "isConstant": false, "isLValue": false, "isPure": true, @@ -175,13 +175,13 @@ { "body": null, "documentation": { - "id": 6223, + "id": 6356, "nodeType": "StructuredDocumentation", "src": "287:368:18", "text": "@notice Calculates the current borrow interest rate per block\n@param cash The total amount of cash the market has\n@param borrows The total amount of borrows the market has outstanding\n@param reserves The total amount of reserves the market has\n@return The borrow rate per block (as a percentage, and scaled by 1e18)" }, "functionSelector": "15f24053", - "id": 6234, + "id": 6367, "implemented": false, "kind": "function", "modifiers": [], @@ -189,17 +189,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6230, + "id": 6363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6225, + "id": 6358, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "683:9:18", "stateVariable": false, "storageLocation": "default", @@ -208,7 +208,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6224, + "id": 6357, "name": "uint", "nodeType": "ElementaryTypeName", "src": "683:4:18", @@ -222,12 +222,12 @@ }, { "constant": false, - "id": 6227, + "id": 6360, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "694:12:18", "stateVariable": false, "storageLocation": "default", @@ -236,7 +236,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6226, + "id": 6359, "name": "uint", "nodeType": "ElementaryTypeName", "src": "694:4:18", @@ -250,12 +250,12 @@ }, { "constant": false, - "id": 6229, + "id": 6362, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "708:13:18", "stateVariable": false, "storageLocation": "default", @@ -264,7 +264,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6228, + "id": 6361, "name": "uint", "nodeType": "ElementaryTypeName", "src": "708:4:18", @@ -280,17 +280,17 @@ "src": "682:40:18" }, "returnParameters": { - "id": 6233, + "id": 6366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6232, + "id": 6365, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "754:4:18", "stateVariable": false, "storageLocation": "default", @@ -299,7 +299,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6231, + "id": 6364, "name": "uint", "nodeType": "ElementaryTypeName", "src": "754:4:18", @@ -314,7 +314,7 @@ ], "src": "753:6:18" }, - "scope": 6249, + "scope": 6382, "src": "660:100:18", "stateMutability": "view", "virtual": true, @@ -323,13 +323,13 @@ { "body": null, "documentation": { - "id": 6235, + "id": 6368, "nodeType": "StructuredDocumentation", "src": "766:447:18", "text": "@notice Calculates the current supply interest rate per block\n@param cash The total amount of cash the market has\n@param borrows The total amount of borrows the market has outstanding\n@param reserves The total amount of reserves the market has\n@param reserveFactorMantissa The current reserve factor the market has\n@return The supply rate per block (as a percentage, and scaled by 1e18)" }, "functionSelector": "b8168816", - "id": 6248, + "id": 6381, "implemented": false, "kind": "function", "modifiers": [], @@ -337,17 +337,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6244, + "id": 6377, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6237, + "id": 6370, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1241:9:18", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6236, + "id": 6369, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1241:4:18", @@ -370,12 +370,12 @@ }, { "constant": false, - "id": 6239, + "id": 6372, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1252:12:18", "stateVariable": false, "storageLocation": "default", @@ -384,7 +384,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6238, + "id": 6371, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1252:4:18", @@ -398,12 +398,12 @@ }, { "constant": false, - "id": 6241, + "id": 6374, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1266:13:18", "stateVariable": false, "storageLocation": "default", @@ -412,7 +412,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6240, + "id": 6373, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1266:4:18", @@ -426,12 +426,12 @@ }, { "constant": false, - "id": 6243, + "id": 6376, "mutability": "mutable", "name": "reserveFactorMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1281:26:18", "stateVariable": false, "storageLocation": "default", @@ -440,7 +440,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6242, + "id": 6375, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1281:4:18", @@ -456,17 +456,17 @@ "src": "1240:68:18" }, "returnParameters": { - "id": 6247, + "id": 6380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6246, + "id": 6379, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1340:4:18", "stateVariable": false, "storageLocation": "default", @@ -475,7 +475,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6245, + "id": 6378, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1340:4:18", @@ -490,31 +490,31 @@ ], "src": "1339:6:18" }, - "scope": 6249, + "scope": 6382, "src": "1218:128:18", "stateMutability": "view", "virtual": true, "visibility": "external" } ], - "scope": 6250, + "scope": 6383, "src": "105:1244:18" } ], "src": "0:1350:18" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/InterestRateModel.sol", "exportedSymbols": { "InterestRateModel": [ - 6249 + 6382 ] }, - "id": 6250, + "id": 6383, "nodeType": "SourceUnit", "nodes": [ { - "id": 6218, + "id": 6351, "literals": [ "solidity", "^", @@ -530,15 +530,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6219, + "id": 6352, "nodeType": "StructuredDocumentation", "src": "25:79:18", "text": "@title Compound's InterestRateModel Interface\n@author Compound" }, "fullyImplemented": false, - "id": 6249, + "id": 6382, "linearizedBaseContracts": [ - 6249 + 6382 ], "name": "InterestRateModel", "nodeType": "ContractDefinition", @@ -546,12 +546,12 @@ { "constant": true, "functionSelector": "2191f92a", - "id": 6222, + "id": 6355, "mutability": "constant", "name": "isInterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6249, + "scope": 6382, "src": "233:47:18", "stateVariable": true, "storageLocation": "default", @@ -560,7 +560,7 @@ "typeString": "bool" }, "typeName": { - "id": 6220, + "id": 6353, "name": "bool", "nodeType": "ElementaryTypeName", "src": "233:4:18", @@ -572,7 +572,7 @@ "value": { "argumentTypes": null, "hexValue": "74727565", - "id": 6221, + "id": 6354, "isConstant": false, "isLValue": false, "isPure": true, @@ -592,13 +592,13 @@ { "body": null, "documentation": { - "id": 6223, + "id": 6356, "nodeType": "StructuredDocumentation", "src": "287:368:18", "text": "@notice Calculates the current borrow interest rate per block\n@param cash The total amount of cash the market has\n@param borrows The total amount of borrows the market has outstanding\n@param reserves The total amount of reserves the market has\n@return The borrow rate per block (as a percentage, and scaled by 1e18)" }, "functionSelector": "15f24053", - "id": 6234, + "id": 6367, "implemented": false, "kind": "function", "modifiers": [], @@ -606,17 +606,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6230, + "id": 6363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6225, + "id": 6358, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "683:9:18", "stateVariable": false, "storageLocation": "default", @@ -625,7 +625,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6224, + "id": 6357, "name": "uint", "nodeType": "ElementaryTypeName", "src": "683:4:18", @@ -639,12 +639,12 @@ }, { "constant": false, - "id": 6227, + "id": 6360, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "694:12:18", "stateVariable": false, "storageLocation": "default", @@ -653,7 +653,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6226, + "id": 6359, "name": "uint", "nodeType": "ElementaryTypeName", "src": "694:4:18", @@ -667,12 +667,12 @@ }, { "constant": false, - "id": 6229, + "id": 6362, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "708:13:18", "stateVariable": false, "storageLocation": "default", @@ -681,7 +681,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6228, + "id": 6361, "name": "uint", "nodeType": "ElementaryTypeName", "src": "708:4:18", @@ -697,17 +697,17 @@ "src": "682:40:18" }, "returnParameters": { - "id": 6233, + "id": 6366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6232, + "id": 6365, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6234, + "scope": 6367, "src": "754:4:18", "stateVariable": false, "storageLocation": "default", @@ -716,7 +716,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6231, + "id": 6364, "name": "uint", "nodeType": "ElementaryTypeName", "src": "754:4:18", @@ -731,7 +731,7 @@ ], "src": "753:6:18" }, - "scope": 6249, + "scope": 6382, "src": "660:100:18", "stateMutability": "view", "virtual": true, @@ -740,13 +740,13 @@ { "body": null, "documentation": { - "id": 6235, + "id": 6368, "nodeType": "StructuredDocumentation", "src": "766:447:18", "text": "@notice Calculates the current supply interest rate per block\n@param cash The total amount of cash the market has\n@param borrows The total amount of borrows the market has outstanding\n@param reserves The total amount of reserves the market has\n@param reserveFactorMantissa The current reserve factor the market has\n@return The supply rate per block (as a percentage, and scaled by 1e18)" }, "functionSelector": "b8168816", - "id": 6248, + "id": 6381, "implemented": false, "kind": "function", "modifiers": [], @@ -754,17 +754,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6244, + "id": 6377, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6237, + "id": 6370, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1241:9:18", "stateVariable": false, "storageLocation": "default", @@ -773,7 +773,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6236, + "id": 6369, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1241:4:18", @@ -787,12 +787,12 @@ }, { "constant": false, - "id": 6239, + "id": 6372, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1252:12:18", "stateVariable": false, "storageLocation": "default", @@ -801,7 +801,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6238, + "id": 6371, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1252:4:18", @@ -815,12 +815,12 @@ }, { "constant": false, - "id": 6241, + "id": 6374, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1266:13:18", "stateVariable": false, "storageLocation": "default", @@ -829,7 +829,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6240, + "id": 6373, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1266:4:18", @@ -843,12 +843,12 @@ }, { "constant": false, - "id": 6243, + "id": 6376, "mutability": "mutable", "name": "reserveFactorMantissa", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1281:26:18", "stateVariable": false, "storageLocation": "default", @@ -857,7 +857,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6242, + "id": 6375, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1281:4:18", @@ -873,17 +873,17 @@ "src": "1240:68:18" }, "returnParameters": { - "id": 6247, + "id": 6380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6246, + "id": 6379, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6248, + "scope": 6381, "src": "1340:4:18", "stateVariable": false, "storageLocation": "default", @@ -892,7 +892,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6245, + "id": 6378, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1340:4:18", @@ -907,14 +907,14 @@ ], "src": "1339:6:18" }, - "scope": 6249, + "scope": 6382, "src": "1218:128:18", "stateMutability": "view", "virtual": true, "visibility": "external" } ], - "scope": 6250, + "scope": 6383, "src": "105:1244:18" } ], @@ -926,7 +926,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.041Z", + "updatedAt": "2020-12-12T01:13:52.562Z", "devdoc": { "author": "Compound", "methods": { diff --git a/AskoLend-contracts/build/contracts/JumpRateModelV2.json b/AskoLend-contracts/build/contracts/JumpRateModelV2.json index f42cbe11..ece839c0 100644 --- a/AskoLend-contracts/build/contracts/JumpRateModelV2.json +++ b/AskoLend-contracts/build/contracts/JumpRateModelV2.json @@ -262,26 +262,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseRatePerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"}],\"name\":\"NewInterestParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"baseRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocksPerYear\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"getBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jumpMultiplierPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kink\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierPerBlock\",\"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\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"}],\"name\":\"updateJumpRateModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"utilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Arr00\",\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The borrow rate percentage per block as a mantissa (scaled by 1e18)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserveFactorMantissa\":\"The current reserve factor for the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The supply rate percentage per block as a mantissa (scaled by 1e18)\"}},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\"}},\"utilizationRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market (currently unused)\"},\"returns\":{\"_0\":\"The utilization rate as a mantissa between [0, 1e18]\"}}},\"title\":\"Compound's JumpRateModel Contract V2 for V2 cTokens\"},\"userdoc\":{\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the current borrow rate per block\"},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply rate per block\"},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"notice\":\"Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\"},\"utilizationRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\"}},\"notice\":\"Supports only for V2 cTokens\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":\"JumpRateModelV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":{\"keccak256\":\"0xb743dde267ed0e549c88fb170ed6052092c01031bc7bf1126b9f32df47c8557b\",\"urls\":[\"bzz-raw://02483baad2cd608ecf7cbfcd9f91996b75cec761c4d3a2ad44a80511ec7659fc\",\"dweb:/ipfs/QmeqVMQiAhxwdTYyLt2cTKe9Ms49v1wdYewhTFZ3PK8RkZ\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220caea896722968de3ac40f39516174b02ed5c6d4bc1efab3d8d6070c34c6e426264736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220caea896722968de3ac40f39516174b02ed5c6d4bc1efab3d8d6070c34c6e426264736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseRatePerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"multiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"}],\"name\":\"NewInterestParams\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"baseRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocksPerYear\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"getBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"getSupplyRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jumpMultiplierPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kink\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiplierPerBlock\",\"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\":\"baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink_\",\"type\":\"uint256\"}],\"name\":\"updateJumpRateModel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrows\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserves\",\"type\":\"uint256\"}],\"name\":\"utilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Arr00\",\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The borrow rate percentage per block as a mantissa (scaled by 1e18)\"}},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserveFactorMantissa\":\"The current reserve factor for the market\",\"reserves\":\"The amount of reserves in the market\"},\"returns\":{\"_0\":\"The supply rate percentage per block as a mantissa (scaled by 1e18)\"}},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"params\":{\"baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"kink_\":\"The utilization point at which the jump multiplier is applied\",\"multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\"}},\"utilizationRate(uint256,uint256,uint256)\":{\"params\":{\"borrows\":\"The amount of borrows in the market\",\"cash\":\"The amount of cash in the market\",\"reserves\":\"The amount of reserves in the market (currently unused)\"},\"returns\":{\"_0\":\"The utilization rate as a mantissa between [0, 1e18]\"}}},\"title\":\"Compound's JumpRateModel Contract V2 for V2 cTokens\"},\"userdoc\":{\"methods\":{\"getBorrowRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the current borrow rate per block\"},\"getSupplyRate(uint256,uint256,uint256,uint256)\":{\"notice\":\"Calculates the current supply rate per block\"},\"updateJumpRateModel(uint256,uint256,uint256,uint256)\":{\"notice\":\"Update the parameters of the interest rate model (only callable by owner, i.e. Timelock)\"},\"utilizationRate(uint256,uint256,uint256)\":{\"notice\":\"Calculates the utilization rate of the market: `borrows / (cash + borrows - reserves)`\"}},\"notice\":\"Supports only for V2 cTokens\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":\"JumpRateModelV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":{\"keccak256\":\"0xb743dde267ed0e549c88fb170ed6052092c01031bc7bf1126b9f32df47c8557b\",\"urls\":[\"bzz-raw://02483baad2cd608ecf7cbfcd9f91996b75cec761c4d3a2ad44a80511ec7659fc\",\"dweb:/ipfs/QmeqVMQiAhxwdTYyLt2cTKe9Ms49v1wdYewhTFZ3PK8RkZ\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220a008bb5dc9be777232d46c93b6f58705e603bf2511eb0e2fb8395515611c399164736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220a008bb5dc9be777232d46c93b6f58705e603bf2511eb0e2fb8395515611c399164736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "195:772:19:-:0;;;747:218;5:9:-1;2:2;;;27:1;24;17:12;2:2;747:218:19;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;747:218:19;;;;;;;;;;;;;;;;;;;2045:5:15;:14;;-1:-1:-1;;;;;;2045:14:15;-1:-1:-1;;;;;2045:14:15;;;;;747:218:19;;;;;;;;;;;;2070:94:15;747:218:19;;;;2070:27:15;:94::i;:::-;1912:259;;;;;747:218:19;;;;;195:772;;5909:490:15;6070:34;783:7;6070:15;:19;;;;;;:34;;;;:::i;:::-;6051:16;:53;6135:59;6169:24;783:7;6187:5;6169:17;;;;;;;:24;;:::i;:::-;6136:27;6158:4;6136:17;:21;;;;;;:27;;;;:::i;:::-;6135:33;;;;;;:59;;;;:::i;:::-;6114:18;:80;6229:40;:21;783:7;6229:25;;;;;;;:40;;:::i;:::-;6204:22;:65;;;6279:4;:12;;;6325:16;;6343:18;;6307:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5909:490;;;;:::o;3101:130:39:-;3159:7;3185:39;3189:1;3192;3185:39;;;;;;;;;;;;;;;;;:3;;;:39;;:::i;:::-;3178:46;;3101:130;;;;;:::o;2180:459::-;2238:7;2479:6;2475:45;;-1:-1:-1;2508:1:39;2501:8;;2475:45;2542:5;;;2546:1;2542;:5;:1;2565:5;;;;;:10;2557:56;;;;-1:-1:-1;;;2557:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3713:272;3799:7;3833:12;3826:5;3818:28;;;;-1:-1:-1;;;3818:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3818:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856:9;3872:1;3868;:5;;;;;;;3713:272;-1:-1:-1;;;;;3713:272:39:o;195:772:19:-;;;;;;;", - "deployedSourceMap": "195:772:19:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;195:772:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;578:163:19;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;578:163:19;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2679:315:15;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;2679:315:15;;;;;;;;;;;;;;;;;:::i;:::-;;3375:290;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3375:290:15;;;;;;;;;;;;:::i;905:30::-;;;:::i;603:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;603:20:15;;;;;;;;;;;;;;746:44;;;:::i;4986:434::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;4986:434:15;;;;;;;;;;;;;;;;;:::i;1181:34::-;;;:::i;1048:28::-;;;:::i;1315:16::-;;;:::i;578:163:19:-;665:4;688:46;710:4;716:7;725:8;688:21;:46::i;:::-;681:53;;578:163;;;;;;:::o;2679:315:15:-;2835:5;;-1:-1:-1;;;;;2835:5:15;2821:10;:19;2813:70;;;;-1:-1:-1;;;2813:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:93;2922:15;2939:17;2958:21;2981:5;2894:27;:93::i;:::-;2679:315;;;;:::o;3375:290::-;3461:4;3540:12;3536:51;;-1:-1:-1;3575:1:15;3568:8;;3536:51;3604:54;3626:31;3648:8;3626:17;:4;3635:7;3626:17;:8;:17;:::i;:::-;:21;:31;:21;:31;:::i;:::-;3604:17;:7;3616:4;3604:17;:11;:17;:::i;:::-;:21;:54;:21;:54;:::i;905:30::-;;;;:::o;603:20::-;;;-1:-1:-1;;;;;603:20:15;;:::o;746:44::-;783:7;746:44;:::o;4986:434::-;5099:4;;5144:37;5149:4;5159:21;5144:37;:14;:37;:::i;:::-;5115:66;;5191:15;5209:46;5231:4;5237:7;5246:8;5209:21;:46::i;:::-;5191:64;-1:-1:-1;5265:15:15;5283:47;5325:4;5283:37;5191:64;5298:21;5283:37;:14;:37;:::i;:47::-;5265:65;;5347:66;5408:4;5347:56;5392:10;5347:40;5363:4;5369:7;5378:8;5347:15;:40::i;:::-;:44;:56;:44;:56;:::i;:66::-;5340:73;4986:434;-1:-1:-1;;;;;;;;4986:434:15:o;1181:34::-;;;;:::o;1048:28::-;;;;:::o;1315:16::-;;;;:::o;4044:529::-;4138:4;4154:9;4166:40;4182:4;4188:7;4197:8;4166:15;:40::i;:::-;4154:52;;4229:4;;4221;:12;4217:350;;4256:60;4299:16;;4256:38;4289:4;4256:28;4265:18;;4256:4;:8;;:28;;;;:::i;:38::-;:42;:60;:42;:60;:::i;:::-;4249:67;;;;;4217:350;4347:15;4365:60;4408:16;;4365:38;4398:4;4365:28;4374:18;;4365:4;;:8;;:28;;;;:::i;:60::-;4347:78;;4439:15;4457:14;4466:4;;4457;:8;;:14;;;;:::i;:::-;4439:32;;4492:64;4545:10;4492:48;4535:4;4492:38;4507:22;;4492:10;:14;;:38;;;;:::i;:64::-;4485:71;;;;;;;5909:490;6070:34;:15;783:7;6070:34;:19;:34;:::i;:::-;6051:16;:53;6135:59;6169:24;783:7;6187:5;6169:24;:17;:24;:::i;6135:59::-;6114:18;:80;6229:40;:21;783:7;6229:40;:25;:40;:::i;:::-;6204:22;:65;;;6279:4;:12;;;6325:16;;6343:18;;6307:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5909:490;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;-1:-1:-1;874:176:39;;;;;:::o;1321:134::-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;2180:459::-;2238:7;2479:6;2475:45;;-1:-1:-1;2508:1:39;2501:8;;2475:45;2542:5;;;2546:1;2542;:5;:1;2565:5;;;;;:10;2557:56;;;;-1:-1:-1;;;2557:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3101:130;3159:7;3185:39;3189:1;3192;3185:39;;;;;;;;;;;;;;;;;:3;:39::i;1746:187::-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;3713:272::-;3799:7;3833:12;3826:5;3818:28;;;;-1:-1:-1;;;3818:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3818:28:39;;3856:9;3872:1;3868;:5;;;;;;;3713:272;-1:-1:-1;;;;;3713:272:39:o", + "sourceMap": "195:772:19:-:0;;;747:218;5:9:-1;2:2;;;27:1;24;17:12;2:2;747:218:19;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;747:218:19;;;;;;;;;;;;;;;;;;;2045:5:15;:14;;-1:-1:-1;;;;;;2045:14:15;-1:-1:-1;;;;;2045:14:15;;;;;747:218:19;;;;;;;;;;;;2070:94:15;747:218:19;;;;2070:27:15;:94::i;:::-;1912:259;;;;;747:218:19;;;;;195:772;;5909:490:15;6070:34;783:7;6070:15;:19;;;;;;:34;;;;:::i;:::-;6051:16;:53;6135:59;6169:24;783:7;6187:5;6169:17;;;;;;;:24;;:::i;:::-;6136:27;6158:4;6136:17;:21;;;;;;:27;;;;:::i;:::-;6135:33;;;;;;:59;;;;:::i;:::-;6114:18;:80;6229:40;:21;783:7;6229:25;;;;;;;:40;;:::i;:::-;6204:22;:65;;;6279:4;:12;;;6325:16;;6343:18;;6307:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5909:490;;;;:::o;3109:130:39:-;3167:7;3193:39;3197:1;3200;3193:39;;;;;;;;;;;;;;;;;:3;;;:39;;:::i;:::-;3186:46;;3109:130;;;;;:::o;2188:459::-;2246:7;2487:6;2483:45;;-1:-1:-1;2516:1:39;2509:8;;2483:45;2550:5;;;2554:1;2550;:5;:1;2573:5;;;;;:10;2565:56;;;;-1:-1:-1;;;2565:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3721:272;3807:7;3841:12;3834:5;3826:28;;;;-1:-1:-1;;;3826:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3826:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3864:9;3880:1;3876;:5;;;;;;;3721:272;-1:-1:-1;;;;;3721:272:39:o;195:772:19:-;;;;;;;", + "deployedSourceMap": "195:772:19:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;195:772:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;578:163:19;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;578:163:19;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2679:315:15;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;2679:315:15;;;;;;;;;;;;;;;;;:::i;:::-;;3375:290;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3375:290:15;;;;;;;;;;;;:::i;905:30::-;;;:::i;603:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;603:20:15;;;;;;;;;;;;;;746:44;;;:::i;4986:434::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;4986:434:15;;;;;;;;;;;;;;;;;:::i;1181:34::-;;;:::i;1048:28::-;;;:::i;1315:16::-;;;:::i;578:163:19:-;665:4;688:46;710:4;716:7;725:8;688:21;:46::i;:::-;681:53;;578:163;;;;;;:::o;2679:315:15:-;2835:5;;-1:-1:-1;;;;;2835:5:15;2821:10;:19;2813:70;;;;-1:-1:-1;;;2813:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:93;2922:15;2939:17;2958:21;2981:5;2894:27;:93::i;:::-;2679:315;;;;:::o;3375:290::-;3461:4;3540:12;3536:51;;-1:-1:-1;3575:1:15;3568:8;;3536:51;3604:54;3626:31;3648:8;3626:17;:4;3635:7;3626:17;:8;:17;:::i;:::-;:21;:31;:21;:31;:::i;:::-;3604:17;:7;3616:4;3604:17;:11;:17;:::i;:::-;:21;:54;:21;:54;:::i;905:30::-;;;;:::o;603:20::-;;;-1:-1:-1;;;;;603:20:15;;:::o;746:44::-;783:7;746:44;:::o;4986:434::-;5099:4;;5144:37;5149:4;5159:21;5144:37;:14;:37;:::i;:::-;5115:66;;5191:15;5209:46;5231:4;5237:7;5246:8;5209:21;:46::i;:::-;5191:64;-1:-1:-1;5265:15:15;5283:47;5325:4;5283:37;5191:64;5298:21;5283:37;:14;:37;:::i;:47::-;5265:65;;5347:66;5408:4;5347:56;5392:10;5347:40;5363:4;5369:7;5378:8;5347:15;:40::i;:::-;:44;:56;:44;:56;:::i;:66::-;5340:73;4986:434;-1:-1:-1;;;;;;;;4986:434:15:o;1181:34::-;;;;:::o;1048:28::-;;;;:::o;1315:16::-;;;;:::o;4044:529::-;4138:4;4154:9;4166:40;4182:4;4188:7;4197:8;4166:15;:40::i;:::-;4154:52;;4229:4;;4221;:12;4217:350;;4256:60;4299:16;;4256:38;4289:4;4256:28;4265:18;;4256:4;:8;;:28;;;;:::i;:38::-;:42;:60;:42;:60;:::i;:::-;4249:67;;;;;4217:350;4347:15;4365:60;4408:16;;4365:38;4398:4;4365:28;4374:18;;4365:4;;:8;;:28;;;;:::i;:60::-;4347:78;;4439:15;4457:14;4466:4;;4457;:8;;:14;;;;:::i;:::-;4439:32;;4492:64;4545:10;4492:48;4535:4;4492:38;4507:22;;4492:10;:14;;:38;;;;:::i;:64::-;4485:71;;;;;;;5909:490;6070:34;:15;783:7;6070:34;:19;:34;:::i;:::-;6051:16;:53;6135:59;6169:24;783:7;6187:5;6169:24;:17;:24;:::i;6135:59::-;6114:18;:80;6229:40;:21;783:7;6229:40;:25;:40;:::i;:::-;6204:22;:65;;;6279:4;:12;;;6325:16;;6343:18;;6307:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5909:490;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;-1:-1:-1;882:176:39;;;;;:::o;1329:134::-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i;2188:459::-;2246:7;2487:6;2483:45;;-1:-1:-1;2516:1:39;2509:8;;2483:45;2550:5;;;2554:1;2550;:5;:1;2573:5;;;;;:10;2565:56;;;;-1:-1:-1;;;2565:56:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3109:130;3167:7;3193:39;3197:1;3200;3193:39;;;;;;;;;;;;;;;;;:3;:39::i;1754:187::-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;3721:272::-;3807:7;3841:12;3834:5;3826:28;;;;-1:-1:-1;;;3826:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3826:28:39;;3864:9;3880:1;3876;:5;;;;;;;3721:272;-1:-1:-1;;;;;3721:272:39:o", "source": "pragma solidity ^0.6.0;\n\nimport \"./BaseJumpRateModelV2.sol\";\n\n\n\n/**\n * @title Compound's JumpRateModel Contract V2 for V2 cTokens\n * @author Arr00\n * @notice Supports only for V2 cTokens\n */\ncontract JumpRateModelV2 is BaseJumpRateModelV2 {\n\n\t/**\n * @notice Calculates the current borrow rate per block\n * @param cash The amount of cash in the market\n * @param borrows The amount of borrows in the market\n * @param reserves The amount of reserves in the market\n * @return The borrow rate percentage per block as a mantissa (scaled by 1e18)\n */\n function getBorrowRate(uint cash, uint borrows, uint reserves) external view returns (uint) {\n return getBorrowRateInternal(cash, borrows, reserves);\n }\n\n constructor(uint baseRatePerYear, uint multiplierPerYear, uint jumpMultiplierPerYear, uint kink_, address owner_)\n \tBaseJumpRateModelV2(baseRatePerYear,multiplierPerYear,jumpMultiplierPerYear,kink_,owner_) public {}\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", "exportedSymbols": { "JumpRateModelV2": [ - 6296 + 6429 ] }, - "id": 6297, + "id": 6430, "nodeType": "SourceUnit", "nodes": [ { - "id": 6251, + "id": 6384, "literals": [ "solidity", "^", @@ -292,12 +292,12 @@ "src": "0:23:19" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", "file": "./BaseJumpRateModelV2.sol", - "id": 6252, + "id": 6385, "nodeType": "ImportDirective", - "scope": 6297, - "sourceUnit": 4841, + "scope": 6430, + "sourceUnit": 4974, "src": "25:35:19", "symbolAliases": [], "unitAlias": "" @@ -309,43 +309,43 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 6254, + "id": 6387, "name": "BaseJumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4840, + "referencedDeclaration": 4973, "src": "224:19:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseJumpRateModelV2_$4840", + "typeIdentifier": "t_contract$_BaseJumpRateModelV2_$4973", "typeString": "contract BaseJumpRateModelV2" } }, - "id": 6255, + "id": 6388, "nodeType": "InheritanceSpecifier", "src": "224:19:19" } ], "contractDependencies": [ - 4840 + 4973 ], "contractKind": "contract", "documentation": { - "id": 6253, + "id": 6386, "nodeType": "StructuredDocumentation", "src": "64:130:19", "text": "@title Compound's JumpRateModel Contract V2 for V2 cTokens\n@author Arr00\n@notice Supports only for V2 cTokens" }, "fullyImplemented": true, - "id": 6296, + "id": 6429, "linearizedBaseContracts": [ - 6296, - 4840 + 6429, + 4973 ], "name": "JumpRateModelV2", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 6273, + "id": 6406, "nodeType": "Block", "src": "671:70:19", "statements": [ @@ -355,11 +355,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6268, + "id": 6401, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6258, + "referencedDeclaration": 6391, "src": "710:4:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -368,11 +368,11 @@ }, { "argumentTypes": null, - "id": 6269, + "id": 6402, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6260, + "referencedDeclaration": 6393, "src": "716:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -381,11 +381,11 @@ }, { "argumentTypes": null, - "id": 6270, + "id": 6403, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6262, + "referencedDeclaration": 6395, "src": "725:8:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -408,18 +408,18 @@ "typeString": "uint256" } ], - "id": 6267, + "id": 6400, "name": "getBorrowRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4732, + "referencedDeclaration": 4865, "src": "688:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 6271, + "id": 6404, "isConstant": false, "isLValue": false, "isPure": false, @@ -434,21 +434,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6266, - "id": 6272, + "functionReturnParameters": 6399, + "id": 6405, "nodeType": "Return", "src": "681:53:19" } ] }, "documentation": { - "id": 6256, + "id": 6389, "nodeType": "StructuredDocumentation", "src": "249:324:19", "text": "@notice Calculates the current borrow rate per block\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@return The borrow rate percentage per block as a mantissa (scaled by 1e18)" }, "functionSelector": "15f24053", - "id": 6274, + "id": 6407, "implemented": true, "kind": "function", "modifiers": [], @@ -456,17 +456,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6263, + "id": 6396, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6258, + "id": 6391, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "601:9:19", "stateVariable": false, "storageLocation": "default", @@ -475,7 +475,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6257, + "id": 6390, "name": "uint", "nodeType": "ElementaryTypeName", "src": "601:4:19", @@ -489,12 +489,12 @@ }, { "constant": false, - "id": 6260, + "id": 6393, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "612:12:19", "stateVariable": false, "storageLocation": "default", @@ -503,7 +503,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6259, + "id": 6392, "name": "uint", "nodeType": "ElementaryTypeName", "src": "612:4:19", @@ -517,12 +517,12 @@ }, { "constant": false, - "id": 6262, + "id": 6395, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "626:13:19", "stateVariable": false, "storageLocation": "default", @@ -531,7 +531,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6261, + "id": 6394, "name": "uint", "nodeType": "ElementaryTypeName", "src": "626:4:19", @@ -547,17 +547,17 @@ "src": "600:40:19" }, "returnParameters": { - "id": 6266, + "id": 6399, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6265, + "id": 6398, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "665:4:19", "stateVariable": false, "storageLocation": "default", @@ -566,7 +566,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6264, + "id": 6397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "665:4:19", @@ -581,7 +581,7 @@ ], "src": "664:6:19" }, - "scope": 6296, + "scope": 6429, "src": "578:163:19", "stateMutability": "view", "virtual": false, @@ -589,13 +589,13 @@ }, { "body": { - "id": 6294, + "id": 6427, "nodeType": "Block", "src": "963:2:19", "statements": [] }, "documentation": null, - "id": 6295, + "id": 6428, "implemented": true, "kind": "constructor", "modifiers": [ @@ -603,11 +603,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6287, + "id": 6420, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6276, + "referencedDeclaration": 6409, "src": "886:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -616,11 +616,11 @@ }, { "argumentTypes": null, - "id": 6288, + "id": 6421, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6278, + "referencedDeclaration": 6411, "src": "902:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -629,11 +629,11 @@ }, { "argumentTypes": null, - "id": 6289, + "id": 6422, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6280, + "referencedDeclaration": 6413, "src": "920:21:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -642,11 +642,11 @@ }, { "argumentTypes": null, - "id": 6290, + "id": 6423, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6282, + "referencedDeclaration": 6415, "src": "942:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -655,11 +655,11 @@ }, { "argumentTypes": null, - "id": 6291, + "id": 6424, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6284, + "referencedDeclaration": 6417, "src": "948:6:19", "typeDescriptions": { "typeIdentifier": "t_address", @@ -667,17 +667,17 @@ } } ], - "id": 6292, + "id": 6425, "modifierName": { "argumentTypes": null, - "id": 6286, + "id": 6419, "name": "BaseJumpRateModelV2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4840, + "referencedDeclaration": 4973, "src": "866:19:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BaseJumpRateModelV2_$4840_$", + "typeIdentifier": "t_type$_t_contract$_BaseJumpRateModelV2_$4973_$", "typeString": "type(contract BaseJumpRateModelV2)" } }, @@ -689,17 +689,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6285, + "id": 6418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6276, + "id": 6409, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "759:20:19", "stateVariable": false, "storageLocation": "default", @@ -708,7 +708,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6275, + "id": 6408, "name": "uint", "nodeType": "ElementaryTypeName", "src": "759:4:19", @@ -722,12 +722,12 @@ }, { "constant": false, - "id": 6278, + "id": 6411, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "781:22:19", "stateVariable": false, "storageLocation": "default", @@ -736,7 +736,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6277, + "id": 6410, "name": "uint", "nodeType": "ElementaryTypeName", "src": "781:4:19", @@ -750,12 +750,12 @@ }, { "constant": false, - "id": 6280, + "id": 6413, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "805:26:19", "stateVariable": false, "storageLocation": "default", @@ -764,7 +764,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6279, + "id": 6412, "name": "uint", "nodeType": "ElementaryTypeName", "src": "805:4:19", @@ -778,12 +778,12 @@ }, { "constant": false, - "id": 6282, + "id": 6415, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "833:10:19", "stateVariable": false, "storageLocation": "default", @@ -792,7 +792,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6281, + "id": 6414, "name": "uint", "nodeType": "ElementaryTypeName", "src": "833:4:19", @@ -806,12 +806,12 @@ }, { "constant": false, - "id": 6284, + "id": 6417, "mutability": "mutable", "name": "owner_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "845:14:19", "stateVariable": false, "storageLocation": "default", @@ -820,7 +820,7 @@ "typeString": "address" }, "typeName": { - "id": 6283, + "id": 6416, "name": "address", "nodeType": "ElementaryTypeName", "src": "845:7:19", @@ -837,36 +837,36 @@ "src": "758:102:19" }, "returnParameters": { - "id": 6293, + "id": 6426, "nodeType": "ParameterList", "parameters": [], "src": "963:0:19" }, - "scope": 6296, + "scope": 6429, "src": "747:218:19", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 6297, + "scope": 6430, "src": "195:772:19" } ], "src": "0:968:19" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", "exportedSymbols": { "JumpRateModelV2": [ - 6296 + 6429 ] }, - "id": 6297, + "id": 6430, "nodeType": "SourceUnit", "nodes": [ { - "id": 6251, + "id": 6384, "literals": [ "solidity", "^", @@ -877,12 +877,12 @@ "src": "0:23:19" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol", "file": "./BaseJumpRateModelV2.sol", - "id": 6252, + "id": 6385, "nodeType": "ImportDirective", - "scope": 6297, - "sourceUnit": 4841, + "scope": 6430, + "sourceUnit": 4974, "src": "25:35:19", "symbolAliases": [], "unitAlias": "" @@ -894,43 +894,43 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 6254, + "id": 6387, "name": "BaseJumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4840, + "referencedDeclaration": 4973, "src": "224:19:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_BaseJumpRateModelV2_$4840", + "typeIdentifier": "t_contract$_BaseJumpRateModelV2_$4973", "typeString": "contract BaseJumpRateModelV2" } }, - "id": 6255, + "id": 6388, "nodeType": "InheritanceSpecifier", "src": "224:19:19" } ], "contractDependencies": [ - 4840 + 4973 ], "contractKind": "contract", "documentation": { - "id": 6253, + "id": 6386, "nodeType": "StructuredDocumentation", "src": "64:130:19", "text": "@title Compound's JumpRateModel Contract V2 for V2 cTokens\n@author Arr00\n@notice Supports only for V2 cTokens" }, "fullyImplemented": true, - "id": 6296, + "id": 6429, "linearizedBaseContracts": [ - 6296, - 4840 + 6429, + 4973 ], "name": "JumpRateModelV2", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 6273, + "id": 6406, "nodeType": "Block", "src": "671:70:19", "statements": [ @@ -940,11 +940,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6268, + "id": 6401, "name": "cash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6258, + "referencedDeclaration": 6391, "src": "710:4:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -953,11 +953,11 @@ }, { "argumentTypes": null, - "id": 6269, + "id": 6402, "name": "borrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6260, + "referencedDeclaration": 6393, "src": "716:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -966,11 +966,11 @@ }, { "argumentTypes": null, - "id": 6270, + "id": 6403, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6262, + "referencedDeclaration": 6395, "src": "725:8:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -993,18 +993,18 @@ "typeString": "uint256" } ], - "id": 6267, + "id": 6400, "name": "getBorrowRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4732, + "referencedDeclaration": 4865, "src": "688:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 6271, + "id": 6404, "isConstant": false, "isLValue": false, "isPure": false, @@ -1019,21 +1019,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6266, - "id": 6272, + "functionReturnParameters": 6399, + "id": 6405, "nodeType": "Return", "src": "681:53:19" } ] }, "documentation": { - "id": 6256, + "id": 6389, "nodeType": "StructuredDocumentation", "src": "249:324:19", "text": "@notice Calculates the current borrow rate per block\n@param cash The amount of cash in the market\n@param borrows The amount of borrows in the market\n@param reserves The amount of reserves in the market\n@return The borrow rate percentage per block as a mantissa (scaled by 1e18)" }, "functionSelector": "15f24053", - "id": 6274, + "id": 6407, "implemented": true, "kind": "function", "modifiers": [], @@ -1041,17 +1041,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6263, + "id": 6396, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6258, + "id": 6391, "mutability": "mutable", "name": "cash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "601:9:19", "stateVariable": false, "storageLocation": "default", @@ -1060,7 +1060,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6257, + "id": 6390, "name": "uint", "nodeType": "ElementaryTypeName", "src": "601:4:19", @@ -1074,12 +1074,12 @@ }, { "constant": false, - "id": 6260, + "id": 6393, "mutability": "mutable", "name": "borrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "612:12:19", "stateVariable": false, "storageLocation": "default", @@ -1088,7 +1088,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6259, + "id": 6392, "name": "uint", "nodeType": "ElementaryTypeName", "src": "612:4:19", @@ -1102,12 +1102,12 @@ }, { "constant": false, - "id": 6262, + "id": 6395, "mutability": "mutable", "name": "reserves", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "626:13:19", "stateVariable": false, "storageLocation": "default", @@ -1116,7 +1116,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6261, + "id": 6394, "name": "uint", "nodeType": "ElementaryTypeName", "src": "626:4:19", @@ -1132,17 +1132,17 @@ "src": "600:40:19" }, "returnParameters": { - "id": 6266, + "id": 6399, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6265, + "id": 6398, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6274, + "scope": 6407, "src": "665:4:19", "stateVariable": false, "storageLocation": "default", @@ -1151,7 +1151,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6264, + "id": 6397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "665:4:19", @@ -1166,7 +1166,7 @@ ], "src": "664:6:19" }, - "scope": 6296, + "scope": 6429, "src": "578:163:19", "stateMutability": "view", "virtual": false, @@ -1174,13 +1174,13 @@ }, { "body": { - "id": 6294, + "id": 6427, "nodeType": "Block", "src": "963:2:19", "statements": [] }, "documentation": null, - "id": 6295, + "id": 6428, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1188,11 +1188,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6287, + "id": 6420, "name": "baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6276, + "referencedDeclaration": 6409, "src": "886:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1201,11 +1201,11 @@ }, { "argumentTypes": null, - "id": 6288, + "id": 6421, "name": "multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6278, + "referencedDeclaration": 6411, "src": "902:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1214,11 +1214,11 @@ }, { "argumentTypes": null, - "id": 6289, + "id": 6422, "name": "jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6280, + "referencedDeclaration": 6413, "src": "920:21:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1227,11 +1227,11 @@ }, { "argumentTypes": null, - "id": 6290, + "id": 6423, "name": "kink_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6282, + "referencedDeclaration": 6415, "src": "942:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1240,11 +1240,11 @@ }, { "argumentTypes": null, - "id": 6291, + "id": 6424, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6284, + "referencedDeclaration": 6417, "src": "948:6:19", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1252,17 +1252,17 @@ } } ], - "id": 6292, + "id": 6425, "modifierName": { "argumentTypes": null, - "id": 6286, + "id": 6419, "name": "BaseJumpRateModelV2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4840, + "referencedDeclaration": 4973, "src": "866:19:19", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_BaseJumpRateModelV2_$4840_$", + "typeIdentifier": "t_type$_t_contract$_BaseJumpRateModelV2_$4973_$", "typeString": "type(contract BaseJumpRateModelV2)" } }, @@ -1274,17 +1274,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6285, + "id": 6418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6276, + "id": 6409, "mutability": "mutable", "name": "baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "759:20:19", "stateVariable": false, "storageLocation": "default", @@ -1293,7 +1293,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6275, + "id": 6408, "name": "uint", "nodeType": "ElementaryTypeName", "src": "759:4:19", @@ -1307,12 +1307,12 @@ }, { "constant": false, - "id": 6278, + "id": 6411, "mutability": "mutable", "name": "multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "781:22:19", "stateVariable": false, "storageLocation": "default", @@ -1321,7 +1321,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6277, + "id": 6410, "name": "uint", "nodeType": "ElementaryTypeName", "src": "781:4:19", @@ -1335,12 +1335,12 @@ }, { "constant": false, - "id": 6280, + "id": 6413, "mutability": "mutable", "name": "jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "805:26:19", "stateVariable": false, "storageLocation": "default", @@ -1349,7 +1349,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6279, + "id": 6412, "name": "uint", "nodeType": "ElementaryTypeName", "src": "805:4:19", @@ -1363,12 +1363,12 @@ }, { "constant": false, - "id": 6282, + "id": 6415, "mutability": "mutable", "name": "kink_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "833:10:19", "stateVariable": false, "storageLocation": "default", @@ -1377,7 +1377,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6281, + "id": 6414, "name": "uint", "nodeType": "ElementaryTypeName", "src": "833:4:19", @@ -1391,12 +1391,12 @@ }, { "constant": false, - "id": 6284, + "id": 6417, "mutability": "mutable", "name": "owner_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6295, + "scope": 6428, "src": "845:14:19", "stateVariable": false, "storageLocation": "default", @@ -1405,7 +1405,7 @@ "typeString": "address" }, "typeName": { - "id": 6283, + "id": 6416, "name": "address", "nodeType": "ElementaryTypeName", "src": "845:7:19", @@ -1422,19 +1422,19 @@ "src": "758:102:19" }, "returnParameters": { - "id": 6293, + "id": 6426, "nodeType": "ParameterList", "parameters": [], "src": "963:0:19" }, - "scope": 6296, + "scope": 6429, "src": "747:218:19", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 6297, + "scope": 6430, "src": "195:772:19" } ], @@ -1446,7 +1446,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.042Z", + "updatedAt": "2020-12-12T01:13:52.565Z", "devdoc": { "author": "Arr00", "methods": { diff --git a/AskoLend-contracts/build/contracts/Migrations.json b/AskoLend-contracts/build/contracts/Migrations.json index ae633cea..952fdf92 100644 --- a/AskoLend-contracts/build/contracts/Migrations.json +++ b/AskoLend-contracts/build/contracts/Migrations.json @@ -43,26 +43,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x180920f30ccb56a6f2a6c871663b0388210f1612e943573b78b3eba2a0811e7b\",\"urls\":[\"bzz-raw://1e10a7aced1c48ec3e85b6b166f40819f8521ddebd22c91ae2cc78c88969e956\",\"dweb:/ipfs/QmZxqyocfBr9GV5LUXZSom3Txs8tqxHZuXxReMMQrBRuKC\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b0319163317905534801561002257600080fd5b5061016f806100326000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610060578063fdacd57614610084575b600080fd5b61004e6100a3565b60408051918252519081900360200190f35b6100686100a9565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603602081101561009a57600080fd5b50356100b8565b005b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633146101015760405162461bcd60e51b81526004018080602001828103825260338152602001806101076033913960400191505060405180910390fd5b60015556fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a2646970667358221220e73f1883c8f487aab579d0424d636d7e3576a4d9658c32331a05ab253422304364736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610060578063fdacd57614610084575b600080fd5b61004e6100a3565b60408051918252519081900360200190f35b6100686100a9565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603602081101561009a57600080fd5b50356100b8565b005b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633146101015760405162461bcd60e51b81526004018080602001828103825260338152602001806101076033913960400191505060405180910390fd5b60015556fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a2646970667358221220e73f1883c8f487aab579d0424d636d7e3576a4d9658c32331a05ab253422304364736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x180920f30ccb56a6f2a6c871663b0388210f1612e943573b78b3eba2a0811e7b\",\"urls\":[\"bzz-raw://1e10a7aced1c48ec3e85b6b166f40819f8521ddebd22c91ae2cc78c88969e956\",\"dweb:/ipfs/QmZxqyocfBr9GV5LUXZSom3Txs8tqxHZuXxReMMQrBRuKC\"]}},\"version\":1}", + "bytecode": "0x6080604052600080546001600160a01b0319163317905534801561002257600080fd5b5061016f806100326000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610060578063fdacd57614610084575b600080fd5b61004e6100a3565b60408051918252519081900360200190f35b6100686100a9565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603602081101561009a57600080fd5b50356100b8565b005b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633146101015760405162461bcd60e51b81526004018080602001828103825260338152602001806101076033913960400191505060405180910390fd5b60015556fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a2646970667358221220f31eaf5d50686903d316735c78842ba46ec732ab3122fbe31c6896000bd16dc764736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610060578063fdacd57614610084575b600080fd5b61004e6100a3565b60408051918252519081900360200190f35b6100686100a9565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603602081101561009a57600080fd5b50356100b8565b005b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633146101015760405162461bcd60e51b81526004018080602001828103825260338152602001806101076033913960400191505060405180910390fd5b60015556fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a2646970667358221220f31eaf5d50686903d316735c78842ba46ec732ab3122fbe31c6896000bd16dc764736f6c63430006060033", "immutableReferences": {}, "sourceMap": "66:398:9:-:0;;;92:33;;;-1:-1:-1;;;;;;92:33:9;115:10;92:33;;;66:398;2:2:-1;;;;27:1;24;17:12;2:2;66:398:9;;;;;;;", "deployedSourceMap": "66:398:9:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;66:398:9;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;131:39:9;;;:::i;:::-;;;;;;;;;;;;;;;;92:33;;;:::i;:::-;;;;-1:-1:-1;;;;;92:33:9;;;;;;;;;;;;;;350:112;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;350:112:9;;:::i;:::-;;131:39;;;;:::o;92:33::-;;;-1:-1:-1;;;;;92:33:9;;:::o;350:112::-;244:5;;-1:-1:-1;;;;;244:5:9;230:10;:19;209:117;;;;-1:-1:-1;;;209:117:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;419:24:::1;:36:::0;350:112::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.8.0;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint256 public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint256 completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/Migrations.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/Migrations.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/Migrations.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 2112 + 2142 ] }, - "id": 2113, + "id": 2143, "nodeType": "SourceUnit", "nodes": [ { - "id": 2081, + "id": 2111, "literals": [ "solidity", ">=", @@ -82,9 +82,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2112, + "id": 2142, "linearizedBaseContracts": [ - 2112 + 2142 ], "name": "Migrations", "nodeType": "ContractDefinition", @@ -92,12 +92,12 @@ { "constant": false, "functionSelector": "8da5cb5b", - "id": 2085, + "id": 2115, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2112, + "scope": 2142, "src": "92:33:9", "stateVariable": true, "storageLocation": "default", @@ -106,7 +106,7 @@ "typeString": "address" }, "typeName": { - "id": 2082, + "id": 2112, "name": "address", "nodeType": "ElementaryTypeName", "src": "92:7:9", @@ -120,7 +120,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2083, + "id": 2113, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -131,7 +131,7 @@ "typeString": "msg" } }, - "id": 2084, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, @@ -150,12 +150,12 @@ { "constant": false, "functionSelector": "445df0ac", - "id": 2087, + "id": 2117, "mutability": "mutable", "name": "last_completed_migration", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2112, + "scope": 2142, "src": "131:39:9", "stateVariable": true, "storageLocation": "default", @@ -164,7 +164,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2086, + "id": 2116, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "131:7:9", @@ -178,7 +178,7 @@ }, { "body": { - "id": 2098, + "id": 2128, "nodeType": "Block", "src": "199:145:9", "statements": [ @@ -192,7 +192,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2093, + "id": 2123, "isConstant": false, "isLValue": false, "isPure": false, @@ -201,7 +201,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2090, + "id": 2120, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -212,7 +212,7 @@ "typeString": "msg" } }, - "id": 2091, + "id": 2121, "isConstant": false, "isLValue": false, "isPure": false, @@ -230,11 +230,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 2092, + "id": 2122, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2085, + "referencedDeclaration": 2115, "src": "244:5:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -250,7 +250,7 @@ { "argumentTypes": null, "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", - "id": 2094, + "id": 2124, "isConstant": false, "isLValue": false, "isPure": true, @@ -277,7 +277,7 @@ "typeString": "literal_string \"This function is restricted to the contract's owner\"" } ], - "id": 2089, + "id": 2119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -291,7 +291,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 2095, + "id": 2125, "isConstant": false, "isLValue": false, "isPure": false, @@ -306,24 +306,24 @@ "typeString": "tuple()" } }, - "id": 2096, + "id": 2126, "nodeType": "ExpressionStatement", "src": "209:117:9" }, { - "id": 2097, + "id": 2127, "nodeType": "PlaceholderStatement", "src": "336:1:9" } ] }, "documentation": null, - "id": 2099, + "id": 2129, "name": "restricted", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 2088, + "id": 2118, "nodeType": "ParameterList", "parameters": [], "src": "196:2:9" @@ -334,25 +334,25 @@ }, { "body": { - "id": 2110, + "id": 2140, "nodeType": "Block", "src": "409:53:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2108, + "id": 2138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2106, + "id": 2136, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2087, + "referencedDeclaration": 2117, "src": "419:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -363,11 +363,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2107, + "id": 2137, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2101, + "referencedDeclaration": 2131, "src": "446:9:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -380,7 +380,7 @@ "typeString": "uint256" } }, - "id": 2109, + "id": 2139, "nodeType": "ExpressionStatement", "src": "419:36:9" } @@ -388,20 +388,20 @@ }, "documentation": null, "functionSelector": "fdacd576", - "id": 2111, + "id": 2141, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2104, + "id": 2134, "modifierName": { "argumentTypes": null, - "id": 2103, + "id": 2133, "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2129, "src": "398:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -416,17 +416,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2102, + "id": 2132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2101, + "id": 2131, "mutability": "mutable", "name": "completed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2111, + "scope": 2141, "src": "372:17:9", "stateVariable": false, "storageLocation": "default", @@ -435,7 +435,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2100, + "id": 2130, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "372:7:9", @@ -451,36 +451,36 @@ "src": "371:19:9" }, "returnParameters": { - "id": 2105, + "id": 2135, "nodeType": "ParameterList", "parameters": [], "src": "409:0:9" }, - "scope": 2112, + "scope": 2142, "src": "350:112:9", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2113, + "scope": 2143, "src": "66:398:9" } ], "src": "32:433:9" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/Migrations.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 2112 + 2142 ] }, - "id": 2113, + "id": 2143, "nodeType": "SourceUnit", "nodes": [ { - "id": 2081, + "id": 2111, "literals": [ "solidity", ">=", @@ -500,9 +500,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2112, + "id": 2142, "linearizedBaseContracts": [ - 2112 + 2142 ], "name": "Migrations", "nodeType": "ContractDefinition", @@ -510,12 +510,12 @@ { "constant": false, "functionSelector": "8da5cb5b", - "id": 2085, + "id": 2115, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2112, + "scope": 2142, "src": "92:33:9", "stateVariable": true, "storageLocation": "default", @@ -524,7 +524,7 @@ "typeString": "address" }, "typeName": { - "id": 2082, + "id": 2112, "name": "address", "nodeType": "ElementaryTypeName", "src": "92:7:9", @@ -538,7 +538,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2083, + "id": 2113, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -549,7 +549,7 @@ "typeString": "msg" } }, - "id": 2084, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, @@ -568,12 +568,12 @@ { "constant": false, "functionSelector": "445df0ac", - "id": 2087, + "id": 2117, "mutability": "mutable", "name": "last_completed_migration", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2112, + "scope": 2142, "src": "131:39:9", "stateVariable": true, "storageLocation": "default", @@ -582,7 +582,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2086, + "id": 2116, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "131:7:9", @@ -596,7 +596,7 @@ }, { "body": { - "id": 2098, + "id": 2128, "nodeType": "Block", "src": "199:145:9", "statements": [ @@ -610,7 +610,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2093, + "id": 2123, "isConstant": false, "isLValue": false, "isPure": false, @@ -619,7 +619,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2090, + "id": 2120, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -630,7 +630,7 @@ "typeString": "msg" } }, - "id": 2091, + "id": 2121, "isConstant": false, "isLValue": false, "isPure": false, @@ -648,11 +648,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 2092, + "id": 2122, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2085, + "referencedDeclaration": 2115, "src": "244:5:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -668,7 +668,7 @@ { "argumentTypes": null, "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", - "id": 2094, + "id": 2124, "isConstant": false, "isLValue": false, "isPure": true, @@ -695,7 +695,7 @@ "typeString": "literal_string \"This function is restricted to the contract's owner\"" } ], - "id": 2089, + "id": 2119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -709,7 +709,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 2095, + "id": 2125, "isConstant": false, "isLValue": false, "isPure": false, @@ -724,24 +724,24 @@ "typeString": "tuple()" } }, - "id": 2096, + "id": 2126, "nodeType": "ExpressionStatement", "src": "209:117:9" }, { - "id": 2097, + "id": 2127, "nodeType": "PlaceholderStatement", "src": "336:1:9" } ] }, "documentation": null, - "id": 2099, + "id": 2129, "name": "restricted", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 2088, + "id": 2118, "nodeType": "ParameterList", "parameters": [], "src": "196:2:9" @@ -752,25 +752,25 @@ }, { "body": { - "id": 2110, + "id": 2140, "nodeType": "Block", "src": "409:53:9", "statements": [ { "expression": { "argumentTypes": null, - "id": 2108, + "id": 2138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2106, + "id": 2136, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2087, + "referencedDeclaration": 2117, "src": "419:24:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -781,11 +781,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2107, + "id": 2137, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2101, + "referencedDeclaration": 2131, "src": "446:9:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -798,7 +798,7 @@ "typeString": "uint256" } }, - "id": 2109, + "id": 2139, "nodeType": "ExpressionStatement", "src": "419:36:9" } @@ -806,20 +806,20 @@ }, "documentation": null, "functionSelector": "fdacd576", - "id": 2111, + "id": 2141, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2104, + "id": 2134, "modifierName": { "argumentTypes": null, - "id": 2103, + "id": 2133, "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2099, + "referencedDeclaration": 2129, "src": "398:10:9", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -834,17 +834,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2102, + "id": 2132, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2101, + "id": 2131, "mutability": "mutable", "name": "completed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2111, + "scope": 2141, "src": "372:17:9", "stateVariable": false, "storageLocation": "default", @@ -853,7 +853,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2100, + "id": 2130, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "372:7:9", @@ -869,19 +869,19 @@ "src": "371:19:9" }, "returnParameters": { - "id": 2105, + "id": 2135, "nodeType": "ParameterList", "parameters": [], "src": "409:0:9" }, - "scope": 2112, + "scope": 2142, "src": "350:112:9", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2113, + "scope": 2143, "src": "66:398:9" } ], @@ -895,18 +895,24 @@ "42": { "events": {}, "links": {}, - "address": "0x61d6dE2fDabD7F2FEcb3C901c3DC30743794a857", - "transactionHash": "0x6dfebf52a00954986f963ba76577ee3c2e59d3f185f7a9a2d6928ecfb8710a69" + "address": "0x35488B027DD5C66D6c86f4CE69BcBffe30720B4B", + "transactionHash": "0x1d9002118d4eba97a9d10379f9f3a36b496b9f862faaaea88e4a242c0a76cef9" }, "1607622663952": { "events": {}, "links": {}, "address": "0x4Be08ddd427183e630BF49AA3FfA12a36B16c103", "transactionHash": "0x03a2b80203cfbc7d208f506b06ab18c8f6096b0eb982052ce953b5b10eb5c31b" + }, + "1607733595468": { + "events": {}, + "links": {}, + "address": "0xF24583520d6FEE940373Ecd3220A6Ce6b9602077", + "transactionHash": "0xb4a59810032153de3d3fad2b5ec8738b7a08768796ff23ef28717e3954a14dc0" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.106Z", + "updatedAt": "2020-12-12T01:26:53.493Z", "networkType": "ethereum", "devdoc": { "methods": {} diff --git a/AskoLend-contracts/build/contracts/MoneyMarketControl.json b/AskoLend-contracts/build/contracts/MoneyMarketControl.json index 913e06cc..ee246e5b 100644 --- a/AskoLend-contracts/build/contracts/MoneyMarketControl.json +++ b/AskoLend-contracts/build/contracts/MoneyMarketControl.json @@ -627,22 +627,22 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MMF\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestRateModel\",\"type\":\"address\"}],\"name\":\"AHRcreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestRateModel\",\"type\":\"address\"}],\"name\":\"ALRcreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moneyMarket\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"WhiteListed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ARTF\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"Oracle\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_ALRtracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"__inQ\",\"type\":\"address\"}],\"name\":\"_checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkAvailibleCollateralValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"instanceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"instanceTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"},{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"liquidateTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"oracleTracker\",\"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\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"}],\"name\":\"setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"}],\"name\":\"setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralDown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"}],\"name\":\"updateIRM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newRR\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"updateRR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_alr\",\"type\":\"address\"}],\"name\":\"viewCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"whitelistAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"checkAvailibleCollateralValue(address,address)\":{\"params\":{\"_ALR\":\"is the address of the ALR token where collateral value is being looked up*\",\"_borrower\":\"is the address whos collateral value we are looking up\"}},\"constructor\":{\"params\":{\"_oracle\":\"is the address for the UniswapOracleFactorycontract*\"}},\"getAssets()\":{\"details\":\"this can be used to loop through and retreive each assets MoneyMarket by the front end*\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setUpAHR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"details\":\"this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract*\",\"params\":{\"_assetContractAdd\":\"is the contract address of the asset whos MoneyMarketInstance is being set up\",\"_baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"_fee\":\"is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\",\"_jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"_multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"_optimal\":\"The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\"}},\"setUpALR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"details\":\"this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract*\",\"params\":{\"_assetContractAdd\":\"is the contract address of the asset whos MoneyMarketInstance is being set up\",\"_baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"_fee\":\"is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\",\"_jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"_multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"_optimal\":\"The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\"}},\"trackCollateralDown(address,address,uint256)\":{\"details\":\"this function can only be called by a MoneyMarketInstance.*\",\"params\":{\"_ALR\":\"is the address of the seller\",\"_amount\":\"is the amount of USDC being collateralized\",\"_borrower\":\"is the address of the corrower\"}},\"trackCollateralUp(address,address,uint256)\":{\"details\":\"this function can only be called by a MoneyMarketInstance.*\",\"params\":{\"_ALR\":\"is the address of the seller\",\"_amount\":\"is the amount of USDC being collateralized\",\"_borrower\":\"is the address of the corrower\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"whitelistAsset(address,string,string)\":{\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)*\"}}}},\"userdoc\":{\"methods\":{\"checkAvailibleCollateralValue(address,address)\":{\"notice\":\"checkCollateralValue is a view function that accepts an account address and an ALR contract address and returns the USD value of the availible collateral they have. Availible collateral is determined by the total amount of collateral minus the amount of collateral that is still availible to borrow against\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to set up Oracle variables for the MoneyMarketFactory contract.\",\"getAssets()\":{\"notice\":\"getAsset returns an array of all assets whitelisted on the platform.\"},\"setUpAHR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\"},\"setUpALR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\"},\"trackCollateralDown(address,address,uint256)\":{\"notice\":\"trackCollateralDown is an external function used bya MMI to track collateral amounts globally\"},\"trackCollateralUp(address,address,uint256)\":{\"notice\":\"trackCollateralUp is an external function used bya MMI to track collateral amounts globally\"},\"viewCollateral(address,address)\":{\"notice\":\"tells you the USDC value of their locked ALR*\"},\"whitelistAsset(address,string,string)\":{\"notice\":\"whitelistAsset is an onlyOwner function designed to be called by the AskoDAO. This function creates a new MoneyMarketInstancecontract for an input asset as well as a UniswapOracleInstance for the asset.\"}},\"notice\":\"MoneyMarketControl is designed to coordinate Money Markets This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol\":\"MoneyMarketControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol\":{\"keccak256\":\"0x082e08436ac79e73dfc8ccfc9f921a6b94b1d25d7271d4fbb4998172da5fcc41\",\"urls\":[\"bzz-raw://4df716fc79566b8860bc890c820889cf1ee5dd44b4d2132903d9725a76f0eaf1\",\"dweb:/ipfs/QmPzM8Ey2rPGKYqUoDvJebMBnYxTPhj6tyHW7JJLpYkbCW\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":{\"keccak256\":\"0xb743dde267ed0e549c88fb170ed6052092c01031bc7bf1126b9f32df47c8557b\",\"urls\":[\"bzz-raw://02483baad2cd608ecf7cbfcd9f91996b75cec761c4d3a2ad44a80511ec7659fc\",\"dweb:/ipfs/QmeqVMQiAhxwdTYyLt2cTKe9Ms49v1wdYewhTFZ3PK8RkZ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161250a38038061250a8339818101604052606081101561003357600080fd5b508051602082015160409092015190919060006100576001600160e01b036100e316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b039485166001600160a01b0319918216179091556004805493851693821693909317909255600280549190931691161790556100e7565b3390565b612414806100f66000396000f3fe60806040523480156200001157600080fd5b5060043610620001785760003560e01c80637ab2d44711620000d5578063da92fd8a1162000087578063da92fd8a1462000443578063eb8341b3146200061a578063ec56c7161462000643578063f189d7a3146200064d578063f24a534e1462000684578063f2fde38b146200068e5762000178565b80637ab2d44714620005135780638da5cb5b146200056057806390200849146200056a578063b3f643e714620005b7578063cf35bdd014620005f0578063d162054a14620006105762000178565b80633ca0037b116200012f5780633ca0037b14620003d75780636012b4311462000400578063660a3922146200044357806367e4ac2c14620004745780636a8394ad14620004d0578063715018a614620005095762000178565b80630ba7345d146200017d5780630dc9cacd14620002c15780631dda078014620002fe5780632bb0df2314620003245780633373a447146200036557806335424d2c146200038e575b600080fd5b620002bf600480360360608110156200019557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620001c057600080fd5b820183602082011115620001d357600080fd5b803590602001918460018302840111600160201b83111715620001f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200024857600080fd5b8201836020820111156200025b57600080fd5b803590602001918460018302840111600160201b831117156200027d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620006b7945050505050565b005b620002ea60048036036020811015620002d957600080fd5b50356001600160a01b031662000aee565b604080519115158252519081900360200190f35b6200030862000b0c565b604080516001600160a01b039092168252519081900360200190f35b620002bf600480360360808110156200033c57600080fd5b508035906001600160a01b03602082013581169160408101358216916060909101351662000b1b565b62000308600480360360208110156200037d57600080fd5b50356001600160a01b031662000bcf565b620002bf600480360360c0811015620003a657600080fd5b508035906020810135906040810135906060810135906001600160a01b036080820135169060a00135151562000bea565b6200030860048036036020811015620003ef57600080fd5b50356001600160a01b031662000d65565b62000431600480360360408110156200041857600080fd5b506001600160a01b038135811691602001351662000d80565b60408051918252519081900360200190f35b62000431600480360360408110156200045b57600080fd5b506001600160a01b038135811691602001351662000ed2565b6200047e62000efd565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620004bc578181015183820152602001620004a2565b505050509050019250505060405180910390f35b620002bf60048036036060811015620004e857600080fd5b506001600160a01b0381358116916020810135909116906040013562000f61565b620002bf620010b9565b620002bf600480360360e08110156200052b57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b03166200115f565b62000308620012b1565b620002bf600480360360e08110156200058257600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b0316620012c0565b620002bf60048036036060811015620005cf57600080fd5b506001600160a01b03813581169160208101359091169060400135620014b1565b62000308600480360360208110156200060857600080fd5b5035620015b2565b62000308620015da565b62000308600480360360208110156200063257600080fd5b50356001600160a01b0316620015e9565b6200043162001604565b620002bf600480360360608110156200066557600080fd5b508035906020810135151590604001356001600160a01b03166200160a565b6200030862001701565b620002bf60048036036020811015620006a657600080fd5b50356001600160a01b031662001710565b620006c16200180e565b6000546001600160a01b0390811691161462000713576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600180548101905560035460408051632fb2da6160e01b81526001600160a01b03868116600483015291516000939290921691632fb2da619160248082019260209290919082900301818787803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d60208110156200079a57600080fd5b810190808051906020019092919050505090506000600460009054906101000a90046001600160a01b03166001600160a01b031663cc83954d86600360009054906101000a90046001600160a01b031630600260009054906101000a90046001600160a01b031689896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015620008b55781810151838201526020016200089b565b50505050905090810190601f168015620008e35780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101562000918578181015183820152602001620008fe565b50505050905090810190601f168015620009465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156200096c57600080fd5b505af115801562000981573d6000803e3d6000fd5b505050506040513d60208110156200099857600080fd5b50516001600160a01b038082166000818152600a6020526040808220805460ff191660011790556003548151631be1d0b960e01b815260048101949094528a85166024850152905194955090921692631be1d0b99260448084019391929182900301818387803b15801562000a0c57600080fd5b505af115801562000a21573d6000803e3d6000fd5b5050506001600160a01b03808716600081815260066020908152604080832080548689166001600160a01b03199182168117909255818552600884528285208054978b16978216881790556005805460018101825595527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0909401805490941685179093558051938452908301919091528181019290925290517f1f39f253506bf384ce653a878c22225914e6a145c0e77c978fbe8d578024a64e92509081900360600190a15050505050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6002546001600160a01b031681565b336000908152600a602052604090205460ff16151560011462000b3d57600080fd5b6001600160a01b03808416600081815260096020908152604080832086861680855292528083208390558051632df9ed4360e21b8152600481018a905260248101949094529386166044840152925163b7e7b50c92606480820193929182900301818387803b15801562000bb057600080fd5b505af115801562000bc5573d6000803e3d6000fd5b5050505050505050565b6006602052600090815260409020546001600160a01b031681565b6001600160a01b038083166000908152600660205260408082205490519216918890889088908890869062000c1f9062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f08015801562000c67573d6000803e3d6000fd5b509050821562000ce957816001600160a01b0316630a3ed432826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000cca57600080fd5b505af115801562000cdf573d6000803e3d6000fd5b5050505062000bc5565b816001600160a01b031663b451bb2e826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000d4257600080fd5b505af115801562000d57573d6000803e3d6000fd5b505050505050505050505050565b6007602052600090815260409020546001600160a01b031681565b6000808290506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801562000de157600080fd5b505af115801562000df6573d6000803e3d6000fd5b505050506040513d602081101562000e0d57600080fd5b505160408051635f27adbd60e01b81526004810183905290519192506000916001600160a01b03851691635f27adbd91602480830192602092919082900301818787803b15801562000e5e57600080fd5b505af115801562000e73573d6000803e3d6000fd5b505050506040513d602081101562000e8a57600080fd5b50516001600160a01b038088166000908152600960209081526040808320938a168352929052205490915062000ec7828263ffffffff6200181216565b979650505050505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6060600580548060200260200160405190810160405280929190818152602001828054801562000f5757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000f38575b5050505050905090565b336000908152600a602052604090205460ff16151560011462000f8357600080fd5b336000908152600a602052604090205460ff168062000fb15750336000908152600b602052604090205460ff165b62000ff9576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b038084166000908152600960209081526040808320938616835292905220548110156200108b576001600160a01b038084166000908152600960209081526040808320938616835292905220546200105f908263ffffffff6200181216565b6001600160a01b03808516600090815260096020908152604080832093871683529290522055620010b4565b6001600160a01b0380841660009081526009602090815260408083209386168352929052908120555b505050565b620010c36200180e565b6000546001600160a01b0390811691161462001115576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620011949062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f080158015620011dc573d6000803e3d6000fd5b509050816001600160a01b031663dcc716bd8287876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156200124857600080fd5b505af11580156200125d573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528516602082015281517f1441a6afff6cbd4a06d0416e0d93d0fa8d5fbe9c7c5d1df49b7f93d72add02829450908190039091019150a1505050505050505050565b6000546001600160a01b031690565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620012f59062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f0801580156200133d573d6000803e3d6000fd5b506001600160a01b038084166000818152600b6020526040808220805460ff191660011790558051631f432cf560e01b81529385166004850152602484018a905260448401899052519394509092631f432cf592606480820193929182900301818387803b158015620013af57600080fd5b505af1158015620013c4573d6000803e3d6000fd5b505050508160076000846001600160a01b031663c27d4df36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200140757600080fd5b505afa1580156200141c573d6000803e3d6000fd5b505050506040513d60208110156200143357600080fd5b50516001600160a01b039081168252602080830193909352604091820160002080546001600160a01b03191694821694909417909355805186841681529284169183019190915280517f450572808a85306efa02e194c62463c8bb5a4e6b55dc35e3732ed63a35d27ce79281900390910190a1505050505050505050565b336000908152600a602052604090205460ff161515600114620014d357600080fd5b336000908152600a602052604090205460ff1680620015015750336000908152600b602052604090205460ff165b62001549576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b0380841660009081526009602090815260408083209386168352929052205462001581908263ffffffff6200185d16565b6001600160a01b03938416600090815260096020908152604080832095909616825293909352929091209190915550565b60058181548110620015c057fe5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b031681565b6008602052600090815260409020546001600160a01b031681565b60015481565b336000908152600a602052604090205460ff1615156001146200162c57600080fd5b6001600160a01b03808216600090815260066020526040902054168215620016b457806001600160a01b0316631d7bd46e856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200169557600080fd5b505af1158015620016aa573d6000803e3d6000fd5b50505050620016fb565b806001600160a01b031663d6b9b5d9856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000bb057600080fd5b50505050565b6003546001600160a01b031681565b6200171a6200180e565b6000546001600160a01b039081169116146200176c576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b6001600160a01b038116620017b35760405162461bcd60e51b8152600401808060200182810382526026815260200180620023996026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60006200185683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620018b8565b9392505050565b60008282018381101562001856576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156200194b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200190f578181015183820152602001620018f5565b50505050905090810190601f1680156200193d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610a3780620019628339019056fe608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220caea896722968de3ac40f39516174b02ed5c6d4bc1efab3d8d6070c34c6e426264736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f7de5daf451b24aec63c3a3a47f46586ff7e0e1da03d2b6b25b86e304e61917464736f6c63430006060033", - "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001785760003560e01c80637ab2d44711620000d5578063da92fd8a1162000087578063da92fd8a1462000443578063eb8341b3146200061a578063ec56c7161462000643578063f189d7a3146200064d578063f24a534e1462000684578063f2fde38b146200068e5762000178565b80637ab2d44714620005135780638da5cb5b146200056057806390200849146200056a578063b3f643e714620005b7578063cf35bdd014620005f0578063d162054a14620006105762000178565b80633ca0037b116200012f5780633ca0037b14620003d75780636012b4311462000400578063660a3922146200044357806367e4ac2c14620004745780636a8394ad14620004d0578063715018a614620005095762000178565b80630ba7345d146200017d5780630dc9cacd14620002c15780631dda078014620002fe5780632bb0df2314620003245780633373a447146200036557806335424d2c146200038e575b600080fd5b620002bf600480360360608110156200019557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620001c057600080fd5b820183602082011115620001d357600080fd5b803590602001918460018302840111600160201b83111715620001f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200024857600080fd5b8201836020820111156200025b57600080fd5b803590602001918460018302840111600160201b831117156200027d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620006b7945050505050565b005b620002ea60048036036020811015620002d957600080fd5b50356001600160a01b031662000aee565b604080519115158252519081900360200190f35b6200030862000b0c565b604080516001600160a01b039092168252519081900360200190f35b620002bf600480360360808110156200033c57600080fd5b508035906001600160a01b03602082013581169160408101358216916060909101351662000b1b565b62000308600480360360208110156200037d57600080fd5b50356001600160a01b031662000bcf565b620002bf600480360360c0811015620003a657600080fd5b508035906020810135906040810135906060810135906001600160a01b036080820135169060a00135151562000bea565b6200030860048036036020811015620003ef57600080fd5b50356001600160a01b031662000d65565b62000431600480360360408110156200041857600080fd5b506001600160a01b038135811691602001351662000d80565b60408051918252519081900360200190f35b62000431600480360360408110156200045b57600080fd5b506001600160a01b038135811691602001351662000ed2565b6200047e62000efd565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620004bc578181015183820152602001620004a2565b505050509050019250505060405180910390f35b620002bf60048036036060811015620004e857600080fd5b506001600160a01b0381358116916020810135909116906040013562000f61565b620002bf620010b9565b620002bf600480360360e08110156200052b57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b03166200115f565b62000308620012b1565b620002bf600480360360e08110156200058257600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b0316620012c0565b620002bf60048036036060811015620005cf57600080fd5b506001600160a01b03813581169160208101359091169060400135620014b1565b62000308600480360360208110156200060857600080fd5b5035620015b2565b62000308620015da565b62000308600480360360208110156200063257600080fd5b50356001600160a01b0316620015e9565b6200043162001604565b620002bf600480360360608110156200066557600080fd5b508035906020810135151590604001356001600160a01b03166200160a565b6200030862001701565b620002bf60048036036020811015620006a657600080fd5b50356001600160a01b031662001710565b620006c16200180e565b6000546001600160a01b0390811691161462000713576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600180548101905560035460408051632fb2da6160e01b81526001600160a01b03868116600483015291516000939290921691632fb2da619160248082019260209290919082900301818787803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d60208110156200079a57600080fd5b810190808051906020019092919050505090506000600460009054906101000a90046001600160a01b03166001600160a01b031663cc83954d86600360009054906101000a90046001600160a01b031630600260009054906101000a90046001600160a01b031689896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015620008b55781810151838201526020016200089b565b50505050905090810190601f168015620008e35780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101562000918578181015183820152602001620008fe565b50505050905090810190601f168015620009465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156200096c57600080fd5b505af115801562000981573d6000803e3d6000fd5b505050506040513d60208110156200099857600080fd5b50516001600160a01b038082166000818152600a6020526040808220805460ff191660011790556003548151631be1d0b960e01b815260048101949094528a85166024850152905194955090921692631be1d0b99260448084019391929182900301818387803b15801562000a0c57600080fd5b505af115801562000a21573d6000803e3d6000fd5b5050506001600160a01b03808716600081815260066020908152604080832080548689166001600160a01b03199182168117909255818552600884528285208054978b16978216881790556005805460018101825595527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0909401805490941685179093558051938452908301919091528181019290925290517f1f39f253506bf384ce653a878c22225914e6a145c0e77c978fbe8d578024a64e92509081900360600190a15050505050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6002546001600160a01b031681565b336000908152600a602052604090205460ff16151560011462000b3d57600080fd5b6001600160a01b03808416600081815260096020908152604080832086861680855292528083208390558051632df9ed4360e21b8152600481018a905260248101949094529386166044840152925163b7e7b50c92606480820193929182900301818387803b15801562000bb057600080fd5b505af115801562000bc5573d6000803e3d6000fd5b5050505050505050565b6006602052600090815260409020546001600160a01b031681565b6001600160a01b038083166000908152600660205260408082205490519216918890889088908890869062000c1f9062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f08015801562000c67573d6000803e3d6000fd5b509050821562000ce957816001600160a01b0316630a3ed432826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000cca57600080fd5b505af115801562000cdf573d6000803e3d6000fd5b5050505062000bc5565b816001600160a01b031663b451bb2e826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000d4257600080fd5b505af115801562000d57573d6000803e3d6000fd5b505050505050505050505050565b6007602052600090815260409020546001600160a01b031681565b6000808290506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801562000de157600080fd5b505af115801562000df6573d6000803e3d6000fd5b505050506040513d602081101562000e0d57600080fd5b505160408051635f27adbd60e01b81526004810183905290519192506000916001600160a01b03851691635f27adbd91602480830192602092919082900301818787803b15801562000e5e57600080fd5b505af115801562000e73573d6000803e3d6000fd5b505050506040513d602081101562000e8a57600080fd5b50516001600160a01b038088166000908152600960209081526040808320938a168352929052205490915062000ec7828263ffffffff6200181216565b979650505050505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6060600580548060200260200160405190810160405280929190818152602001828054801562000f5757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000f38575b5050505050905090565b336000908152600a602052604090205460ff16151560011462000f8357600080fd5b336000908152600a602052604090205460ff168062000fb15750336000908152600b602052604090205460ff165b62000ff9576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b038084166000908152600960209081526040808320938616835292905220548110156200108b576001600160a01b038084166000908152600960209081526040808320938616835292905220546200105f908263ffffffff6200181216565b6001600160a01b03808516600090815260096020908152604080832093871683529290522055620010b4565b6001600160a01b0380841660009081526009602090815260408083209386168352929052908120555b505050565b620010c36200180e565b6000546001600160a01b0390811691161462001115576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620011949062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f080158015620011dc573d6000803e3d6000fd5b509050816001600160a01b031663dcc716bd8287876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156200124857600080fd5b505af11580156200125d573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528516602082015281517f1441a6afff6cbd4a06d0416e0d93d0fa8d5fbe9c7c5d1df49b7f93d72add02829450908190039091019150a1505050505050505050565b6000546001600160a01b031690565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620012f59062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f0801580156200133d573d6000803e3d6000fd5b506001600160a01b038084166000818152600b6020526040808220805460ff191660011790558051631f432cf560e01b81529385166004850152602484018a905260448401899052519394509092631f432cf592606480820193929182900301818387803b158015620013af57600080fd5b505af1158015620013c4573d6000803e3d6000fd5b505050508160076000846001600160a01b031663c27d4df36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200140757600080fd5b505afa1580156200141c573d6000803e3d6000fd5b505050506040513d60208110156200143357600080fd5b50516001600160a01b039081168252602080830193909352604091820160002080546001600160a01b03191694821694909417909355805186841681529284169183019190915280517f450572808a85306efa02e194c62463c8bb5a4e6b55dc35e3732ed63a35d27ce79281900390910190a1505050505050505050565b336000908152600a602052604090205460ff161515600114620014d357600080fd5b336000908152600a602052604090205460ff1680620015015750336000908152600b602052604090205460ff165b62001549576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b0380841660009081526009602090815260408083209386168352929052205462001581908263ffffffff6200185d16565b6001600160a01b03938416600090815260096020908152604080832095909616825293909352929091209190915550565b60058181548110620015c057fe5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b031681565b6008602052600090815260409020546001600160a01b031681565b60015481565b336000908152600a602052604090205460ff1615156001146200162c57600080fd5b6001600160a01b03808216600090815260066020526040902054168215620016b457806001600160a01b0316631d7bd46e856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200169557600080fd5b505af1158015620016aa573d6000803e3d6000fd5b50505050620016fb565b806001600160a01b031663d6b9b5d9856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000bb057600080fd5b50505050565b6003546001600160a01b031681565b6200171a6200180e565b6000546001600160a01b039081169116146200176c576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b6001600160a01b038116620017b35760405162461bcd60e51b8152600401808060200182810382526026815260200180620023996026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60006200185683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620018b8565b9392505050565b60008282018381101562001856576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156200194b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200190f578181015183820152602001620018f5565b50505050905090810190601f1680156200193d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610a3780620019628339019056fe608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220caea896722968de3ac40f39516174b02ed5c6d4bc1efab3d8d6070c34c6e426264736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f7de5daf451b24aec63c3a3a47f46586ff7e0e1da03d2b6b25b86e304e61917464736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_MMF\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestRateModel\",\"type\":\"address\"}],\"name\":\"AHRcreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestRateModel\",\"type\":\"address\"}],\"name\":\"ALRcreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moneyMarket\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"WhiteListed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ARTF\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"Oracle\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_ALRtracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"__inQ\",\"type\":\"address\"}],\"name\":\"_checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkAvailibleCollateralValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"instanceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"instanceTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"},{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"liquidateTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"oracleTracker\",\"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\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"}],\"name\":\"setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"}],\"name\":\"setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralDown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseRatePerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_multiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_jumpMultiplierPerYear\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_optimal\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"}],\"name\":\"updateIRM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newRR\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isALR\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"updateRR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_alr\",\"type\":\"address\"}],\"name\":\"viewCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"whitelistAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"checkAvailibleCollateralValue(address,address)\":{\"params\":{\"_ALR\":\"is the address of the ALR token where collateral value is being looked up*\",\"_borrower\":\"is the address whos collateral value we are looking up\"}},\"constructor\":{\"params\":{\"_oracle\":\"is the address for the UniswapOracleFactorycontract*\"}},\"getAssets()\":{\"details\":\"this can be used to loop through and retreive each assets MoneyMarket by the front end*\"},\"liquidateTrigger(uint256,address,address,address)\":{\"params\":{\"_ALR\":\"is the address of the Asko Low Risk token that was used as collateral*\",\"_borrower\":\"is the address of the account being liquidated\",\"_liquidateValue\":\"is the value being liquidated\",\"_liquidator\":\"is the address of the account doing the liquidating\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setUpAHR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"details\":\"this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract*\",\"params\":{\"_assetContractAdd\":\"is the contract address of the asset whos MoneyMarketInstance is being set up\",\"_baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"_fee\":\"is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\",\"_jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"_multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"_optimal\":\"The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\"}},\"setUpALR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"details\":\"this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract*\",\"params\":{\"_assetContractAdd\":\"is the contract address of the asset whos MoneyMarketInstance is being set up\",\"_baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"_fee\":\"is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\",\"_jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"_multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"_optimal\":\"The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\"}},\"trackCollateralDown(address,address,uint256)\":{\"details\":\"this function can only be called by a MoneyMarketInstance.*\",\"params\":{\"_ALR\":\"is the address of the seller\",\"_amount\":\"is the amount of USDC being collateralized\",\"_borrower\":\"is the address of the corrower\"}},\"trackCollateralUp(address,address,uint256)\":{\"details\":\"this function can only be called by a MoneyMarketInstance.*\",\"params\":{\"_ALR\":\"is the address of the seller\",\"_amount\":\"is the amount of USDC being collateralized\",\"_borrower\":\"is the address of the corrower\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateIRM(uint256,uint256,uint256,uint256,address,bool)\":{\"params\":{\"_assetContractAdd\":\"is the contract address of the asset whos MoneyMarketInstance is being set up\",\"_baseRatePerYear\":\"The approximate target base APR, as a mantissa (scaled by 1e18)\",\"_isALR\":\"is a bool representing whether or not the Asko risk token being updated is a ALR or not*\",\"_jumpMultiplierPerYear\":\"The multiplierPerBlock after hitting a specified utilization point\",\"_multiplierPerYear\":\"The rate of increase in interest rate wrt utilization (scaled by 1e18)\",\"_optimal\":\"The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\"}},\"updateRR(uint256,bool,address)\":{\"params\":{\"_asset\":\"is the address of the asset(token) whos ART tokens are being updated*\",\"_isALR\":\"is a bool representing whether of not the Reserve ratio being updated iis an ALR or not\",\"_newRR\":\"is the new reserve ratio value(scaled by 1e18)\"}},\"whitelistAsset(address,string,string)\":{\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)*\"}}}},\"userdoc\":{\"methods\":{\"checkAvailibleCollateralValue(address,address)\":{\"notice\":\"checkCollateralValue is a view function that accepts an account address and an ALR contract address and returns the USD value of the availible collateral they have. Availible collateral is determined by the total amount of collateral minus the amount of collateral that is still availible to borrow against\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to set up Oracle variables for the MoneyMarketFactory contract.\",\"getAssets()\":{\"notice\":\"getAsset returns an array of all assets whitelisted on the platform.\"},\"liquidateTrigger(uint256,address,address,address)\":{\"notice\":\"liquidateTrigger is a protected function that can only be called by a money market instance.\"},\"setUpAHR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\"},\"setUpALR(uint256,uint256,uint256,uint256,uint256,uint256,address)\":{\"notice\":\"setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\"},\"trackCollateralDown(address,address,uint256)\":{\"notice\":\"trackCollateralDown is an external function used bya MMI to track collateral amounts globally\"},\"trackCollateralUp(address,address,uint256)\":{\"notice\":\"trackCollateralUp is an external function used bya MMI to track collateral amounts globally\"},\"updateIRM(uint256,uint256,uint256,uint256,address,bool)\":{\"notice\":\"updateIRM allows the admin of this contract to update a AskoRiskToken's Interest Rate Model\"},\"updateRR(uint256,bool,address)\":{\"notice\":\"updateRR allows the admin to update the reserve ratio for an Asko Risk Token \"},\"viewCollateral(address,address)\":{\"notice\":\"tells you the USDC value of their locked ALR*\"},\"whitelistAsset(address,string,string)\":{\"notice\":\"whitelistAsset is an onlyOwner function designed to be called by the AskoDAO. This function creates a new MoneyMarketInstancecontract for an input asset as well as a UniswapOracleInstance for the asset.\"}},\"notice\":\"MoneyMarketControl is designed to coordinate Money Markets This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol\":\"MoneyMarketControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol\":{\"keccak256\":\"0x12b05e755340b90ef14bbec5860a0f0614860b1af5fb22124de61467f3ab2035\",\"urls\":[\"bzz-raw://efe034d63d5a93bc2b2c8b05b87172d5f7e92ee4270bdbaea67d43086da25010\",\"dweb:/ipfs/QmUBterukPSDtTVFLgocTT87W9x3FGhYUAini3z4v6dYXk\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/BaseJumpRateModelV2.sol\":{\"keccak256\":\"0xa8b39ae15d7c58b0b60ba19c0ad01f16a663fa3dfcb0eeabd222cd0c8d1a8c04\",\"urls\":[\"bzz-raw://0e9b4fbfb187d39b44f9682896b5140367988b305927be3dbc17f5c1d2b5304b\",\"dweb:/ipfs/QmaLHCY4LsbT7kpvd3j8ixw8Jt2KgFHkpwXG7ZD8pdpxMn\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol\":{\"keccak256\":\"0xb743dde267ed0e549c88fb170ed6052092c01031bc7bf1126b9f32df47c8557b\",\"urls\":[\"bzz-raw://02483baad2cd608ecf7cbfcd9f91996b75cec761c4d3a2ad44a80511ec7659fc\",\"dweb:/ipfs/QmeqVMQiAhxwdTYyLt2cTKe9Ms49v1wdYewhTFZ3PK8RkZ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060405161250a38038061250a8339818101604052606081101561003357600080fd5b508051602082015160409092015190919060006100576001600160e01b036100e316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b039485166001600160a01b0319918216179091556004805493851693821693909317909255600280549190931691161790556100e7565b3390565b612414806100f66000396000f3fe60806040523480156200001157600080fd5b5060043610620001785760003560e01c80637ab2d44711620000d5578063da92fd8a1162000087578063da92fd8a1462000443578063eb8341b3146200061a578063ec56c7161462000643578063f189d7a3146200064d578063f24a534e1462000684578063f2fde38b146200068e5762000178565b80637ab2d44714620005135780638da5cb5b146200056057806390200849146200056a578063b3f643e714620005b7578063cf35bdd014620005f0578063d162054a14620006105762000178565b80633ca0037b116200012f5780633ca0037b14620003d75780636012b4311462000400578063660a3922146200044357806367e4ac2c14620004745780636a8394ad14620004d0578063715018a614620005095762000178565b80630ba7345d146200017d5780630dc9cacd14620002c15780631dda078014620002fe5780632bb0df2314620003245780633373a447146200036557806335424d2c146200038e575b600080fd5b620002bf600480360360608110156200019557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620001c057600080fd5b820183602082011115620001d357600080fd5b803590602001918460018302840111600160201b83111715620001f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200024857600080fd5b8201836020820111156200025b57600080fd5b803590602001918460018302840111600160201b831117156200027d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620006b7945050505050565b005b620002ea60048036036020811015620002d957600080fd5b50356001600160a01b031662000aee565b604080519115158252519081900360200190f35b6200030862000b0c565b604080516001600160a01b039092168252519081900360200190f35b620002bf600480360360808110156200033c57600080fd5b508035906001600160a01b03602082013581169160408101358216916060909101351662000b1b565b62000308600480360360208110156200037d57600080fd5b50356001600160a01b031662000bcf565b620002bf600480360360c0811015620003a657600080fd5b508035906020810135906040810135906060810135906001600160a01b036080820135169060a00135151562000bea565b6200030860048036036020811015620003ef57600080fd5b50356001600160a01b031662000d65565b62000431600480360360408110156200041857600080fd5b506001600160a01b038135811691602001351662000d80565b60408051918252519081900360200190f35b62000431600480360360408110156200045b57600080fd5b506001600160a01b038135811691602001351662000ed2565b6200047e62000efd565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620004bc578181015183820152602001620004a2565b505050509050019250505060405180910390f35b620002bf60048036036060811015620004e857600080fd5b506001600160a01b0381358116916020810135909116906040013562000f61565b620002bf620010b9565b620002bf600480360360e08110156200052b57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b03166200115f565b62000308620012b1565b620002bf600480360360e08110156200058257600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b0316620012c0565b620002bf60048036036060811015620005cf57600080fd5b506001600160a01b03813581169160208101359091169060400135620014b1565b62000308600480360360208110156200060857600080fd5b5035620015b2565b62000308620015da565b62000308600480360360208110156200063257600080fd5b50356001600160a01b0316620015e9565b6200043162001604565b620002bf600480360360608110156200066557600080fd5b508035906020810135151590604001356001600160a01b03166200160a565b6200030862001701565b620002bf60048036036020811015620006a657600080fd5b50356001600160a01b031662001710565b620006c16200180e565b6000546001600160a01b0390811691161462000713576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600180548101905560035460408051632fb2da6160e01b81526001600160a01b03868116600483015291516000939290921691632fb2da619160248082019260209290919082900301818787803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d60208110156200079a57600080fd5b810190808051906020019092919050505090506000600460009054906101000a90046001600160a01b03166001600160a01b031663cc83954d86600360009054906101000a90046001600160a01b031630600260009054906101000a90046001600160a01b031689896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015620008b55781810151838201526020016200089b565b50505050905090810190601f168015620008e35780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101562000918578181015183820152602001620008fe565b50505050905090810190601f168015620009465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156200096c57600080fd5b505af115801562000981573d6000803e3d6000fd5b505050506040513d60208110156200099857600080fd5b50516001600160a01b038082166000818152600a6020526040808220805460ff191660011790556003548151631be1d0b960e01b815260048101949094528a85166024850152905194955090921692631be1d0b99260448084019391929182900301818387803b15801562000a0c57600080fd5b505af115801562000a21573d6000803e3d6000fd5b5050506001600160a01b03808716600081815260066020908152604080832080548689166001600160a01b03199182168117909255818552600884528285208054978b16978216881790556005805460018101825595527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0909401805490941685179093558051938452908301919091528181019290925290517f1f39f253506bf384ce653a878c22225914e6a145c0e77c978fbe8d578024a64e92509081900360600190a15050505050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6002546001600160a01b031681565b336000908152600a602052604090205460ff16151560011462000b3d57600080fd5b6001600160a01b03808416600081815260096020908152604080832086861680855292528083208390558051632df9ed4360e21b8152600481018a905260248101949094529386166044840152925163b7e7b50c92606480820193929182900301818387803b15801562000bb057600080fd5b505af115801562000bc5573d6000803e3d6000fd5b5050505050505050565b6006602052600090815260409020546001600160a01b031681565b6001600160a01b038083166000908152600660205260408082205490519216918890889088908890869062000c1f9062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f08015801562000c67573d6000803e3d6000fd5b509050821562000ce957816001600160a01b0316630a3ed432826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000cca57600080fd5b505af115801562000cdf573d6000803e3d6000fd5b5050505062000bc5565b816001600160a01b031663b451bb2e826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000d4257600080fd5b505af115801562000d57573d6000803e3d6000fd5b505050505050505050505050565b6007602052600090815260409020546001600160a01b031681565b6000808290506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801562000de157600080fd5b505af115801562000df6573d6000803e3d6000fd5b505050506040513d602081101562000e0d57600080fd5b505160408051635f27adbd60e01b81526004810183905290519192506000916001600160a01b03851691635f27adbd91602480830192602092919082900301818787803b15801562000e5e57600080fd5b505af115801562000e73573d6000803e3d6000fd5b505050506040513d602081101562000e8a57600080fd5b50516001600160a01b038088166000908152600960209081526040808320938a168352929052205490915062000ec7828263ffffffff6200181216565b979650505050505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6060600580548060200260200160405190810160405280929190818152602001828054801562000f5757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000f38575b5050505050905090565b336000908152600a602052604090205460ff16151560011462000f8357600080fd5b336000908152600a602052604090205460ff168062000fb15750336000908152600b602052604090205460ff165b62000ff9576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b038084166000908152600960209081526040808320938616835292905220548110156200108b576001600160a01b038084166000908152600960209081526040808320938616835292905220546200105f908263ffffffff6200181216565b6001600160a01b03808516600090815260096020908152604080832093871683529290522055620010b4565b6001600160a01b0380841660009081526009602090815260408083209386168352929052908120555b505050565b620010c36200180e565b6000546001600160a01b0390811691161462001115576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620011949062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f080158015620011dc573d6000803e3d6000fd5b509050816001600160a01b031663dcc716bd8287876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156200124857600080fd5b505af11580156200125d573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528516602082015281517f1441a6afff6cbd4a06d0416e0d93d0fa8d5fbe9c7c5d1df49b7f93d72add02829450908190039091019150a1505050505050505050565b6000546001600160a01b031690565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620012f59062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f0801580156200133d573d6000803e3d6000fd5b506001600160a01b038084166000818152600b6020526040808220805460ff191660011790558051631f432cf560e01b81529385166004850152602484018a905260448401899052519394509092631f432cf592606480820193929182900301818387803b158015620013af57600080fd5b505af1158015620013c4573d6000803e3d6000fd5b505050508160076000846001600160a01b031663c27d4df36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200140757600080fd5b505afa1580156200141c573d6000803e3d6000fd5b505050506040513d60208110156200143357600080fd5b50516001600160a01b039081168252602080830193909352604091820160002080546001600160a01b03191694821694909417909355805186841681529284169183019190915280517f450572808a85306efa02e194c62463c8bb5a4e6b55dc35e3732ed63a35d27ce79281900390910190a1505050505050505050565b336000908152600a602052604090205460ff161515600114620014d357600080fd5b336000908152600a602052604090205460ff1680620015015750336000908152600b602052604090205460ff165b62001549576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b0380841660009081526009602090815260408083209386168352929052205462001581908263ffffffff6200185d16565b6001600160a01b03938416600090815260096020908152604080832095909616825293909352929091209190915550565b60058181548110620015c057fe5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b031681565b6008602052600090815260409020546001600160a01b031681565b60015481565b336000908152600a602052604090205460ff1615156001146200162c57600080fd5b6001600160a01b03808216600090815260066020526040902054168215620016b457806001600160a01b0316631d7bd46e856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200169557600080fd5b505af1158015620016aa573d6000803e3d6000fd5b50505050620016fb565b806001600160a01b031663d6b9b5d9856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000bb057600080fd5b50505050565b6003546001600160a01b031681565b6200171a6200180e565b6000546001600160a01b039081169116146200176c576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b6001600160a01b038116620017b35760405162461bcd60e51b8152600401808060200182810382526026815260200180620023996026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60006200185683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620018b8565b9392505050565b60008282018381101562001856576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156200194b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200190f578181015183820152602001620018f5565b50505050905090810190601f1680156200193d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610a3780620019628339019056fe608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220a008bb5dc9be777232d46c93b6f58705e603bf2511eb0e2fb8395515611c399164736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c21e9386932b8b1e99970ee5d31544172e5b33a2667d792bf6136dd130cd521564736f6c63430006060033", + "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001785760003560e01c80637ab2d44711620000d5578063da92fd8a1162000087578063da92fd8a1462000443578063eb8341b3146200061a578063ec56c7161462000643578063f189d7a3146200064d578063f24a534e1462000684578063f2fde38b146200068e5762000178565b80637ab2d44714620005135780638da5cb5b146200056057806390200849146200056a578063b3f643e714620005b7578063cf35bdd014620005f0578063d162054a14620006105762000178565b80633ca0037b116200012f5780633ca0037b14620003d75780636012b4311462000400578063660a3922146200044357806367e4ac2c14620004745780636a8394ad14620004d0578063715018a614620005095762000178565b80630ba7345d146200017d5780630dc9cacd14620002c15780631dda078014620002fe5780632bb0df2314620003245780633373a447146200036557806335424d2c146200038e575b600080fd5b620002bf600480360360608110156200019557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620001c057600080fd5b820183602082011115620001d357600080fd5b803590602001918460018302840111600160201b83111715620001f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200024857600080fd5b8201836020820111156200025b57600080fd5b803590602001918460018302840111600160201b831117156200027d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620006b7945050505050565b005b620002ea60048036036020811015620002d957600080fd5b50356001600160a01b031662000aee565b604080519115158252519081900360200190f35b6200030862000b0c565b604080516001600160a01b039092168252519081900360200190f35b620002bf600480360360808110156200033c57600080fd5b508035906001600160a01b03602082013581169160408101358216916060909101351662000b1b565b62000308600480360360208110156200037d57600080fd5b50356001600160a01b031662000bcf565b620002bf600480360360c0811015620003a657600080fd5b508035906020810135906040810135906060810135906001600160a01b036080820135169060a00135151562000bea565b6200030860048036036020811015620003ef57600080fd5b50356001600160a01b031662000d65565b62000431600480360360408110156200041857600080fd5b506001600160a01b038135811691602001351662000d80565b60408051918252519081900360200190f35b62000431600480360360408110156200045b57600080fd5b506001600160a01b038135811691602001351662000ed2565b6200047e62000efd565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620004bc578181015183820152602001620004a2565b505050509050019250505060405180910390f35b620002bf60048036036060811015620004e857600080fd5b506001600160a01b0381358116916020810135909116906040013562000f61565b620002bf620010b9565b620002bf600480360360e08110156200052b57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b03166200115f565b62000308620012b1565b620002bf600480360360e08110156200058257600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356001600160a01b0316620012c0565b620002bf60048036036060811015620005cf57600080fd5b506001600160a01b03813581169160208101359091169060400135620014b1565b62000308600480360360208110156200060857600080fd5b5035620015b2565b62000308620015da565b62000308600480360360208110156200063257600080fd5b50356001600160a01b0316620015e9565b6200043162001604565b620002bf600480360360608110156200066557600080fd5b508035906020810135151590604001356001600160a01b03166200160a565b6200030862001701565b620002bf60048036036020811015620006a657600080fd5b50356001600160a01b031662001710565b620006c16200180e565b6000546001600160a01b0390811691161462000713576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600180548101905560035460408051632fb2da6160e01b81526001600160a01b03868116600483015291516000939290921691632fb2da619160248082019260209290919082900301818787803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d60208110156200079a57600080fd5b810190808051906020019092919050505090506000600460009054906101000a90046001600160a01b03166001600160a01b031663cc83954d86600360009054906101000a90046001600160a01b031630600260009054906101000a90046001600160a01b031689896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015620008b55781810151838201526020016200089b565b50505050905090810190601f168015620008e35780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101562000918578181015183820152602001620008fe565b50505050905090810190601f168015620009465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1580156200096c57600080fd5b505af115801562000981573d6000803e3d6000fd5b505050506040513d60208110156200099857600080fd5b50516001600160a01b038082166000818152600a6020526040808220805460ff191660011790556003548151631be1d0b960e01b815260048101949094528a85166024850152905194955090921692631be1d0b99260448084019391929182900301818387803b15801562000a0c57600080fd5b505af115801562000a21573d6000803e3d6000fd5b5050506001600160a01b03808716600081815260066020908152604080832080548689166001600160a01b03199182168117909255818552600884528285208054978b16978216881790556005805460018101825595527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0909401805490941685179093558051938452908301919091528181019290925290517f1f39f253506bf384ce653a878c22225914e6a145c0e77c978fbe8d578024a64e92509081900360600190a15050505050565b6001600160a01b03166000908152600b602052604090205460ff1690565b6002546001600160a01b031681565b336000908152600a602052604090205460ff16151560011462000b3d57600080fd5b6001600160a01b03808416600081815260096020908152604080832086861680855292528083208390558051632df9ed4360e21b8152600481018a905260248101949094529386166044840152925163b7e7b50c92606480820193929182900301818387803b15801562000bb057600080fd5b505af115801562000bc5573d6000803e3d6000fd5b5050505050505050565b6006602052600090815260409020546001600160a01b031681565b6001600160a01b038083166000908152600660205260408082205490519216918890889088908890869062000c1f9062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f08015801562000c67573d6000803e3d6000fd5b509050821562000ce957816001600160a01b0316630a3ed432826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000cca57600080fd5b505af115801562000cdf573d6000803e3d6000fd5b5050505062000bc5565b816001600160a01b031663b451bb2e826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801562000d4257600080fd5b505af115801562000d57573d6000803e3d6000fd5b505050505050505050505050565b6007602052600090815260409020546001600160a01b031681565b6000808290506000816001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801562000de157600080fd5b505af115801562000df6573d6000803e3d6000fd5b505050506040513d602081101562000e0d57600080fd5b505160408051635f27adbd60e01b81526004810183905290519192506000916001600160a01b03851691635f27adbd91602480830192602092919082900301818787803b15801562000e5e57600080fd5b505af115801562000e73573d6000803e3d6000fd5b505050506040513d602081101562000e8a57600080fd5b50516001600160a01b038088166000908152600960209081526040808320938a168352929052205490915062000ec7828263ffffffff6200181216565b979650505050505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b6060600580548060200260200160405190810160405280929190818152602001828054801562000f5757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000f38575b5050505050905090565b336000908152600a602052604090205460ff16151560011462000f8357600080fd5b336000908152600a602052604090205460ff168062000fb15750336000908152600b602052604090205460ff165b62000ff9576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b038084166000908152600960209081526040808320938616835292905220548110156200108b576001600160a01b038084166000908152600960209081526040808320938616835292905220546200105f908263ffffffff6200181216565b6001600160a01b03808516600090815260096020908152604080832093871683529290522055620010b4565b6001600160a01b0380841660009081526009602090815260408083209386168352929052908120555b505050565b620010c36200180e565b6000546001600160a01b0390811691161462001115576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620011949062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f080158015620011dc573d6000803e3d6000fd5b509050816001600160a01b031663dcc716bd8287876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156200124857600080fd5b505af11580156200125d573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528516602082015281517f1441a6afff6cbd4a06d0416e0d93d0fa8d5fbe9c7c5d1df49b7f93d72add02829450908190039091019150a1505050505050505050565b6000546001600160a01b031690565b6001600160a01b0380821660009081526006602052604080822054905192169189908990899089908690620012f59062001953565b948552602085019390935260408085019290925260608401526001600160a01b039091166080830152519081900360a001906000f0801580156200133d573d6000803e3d6000fd5b506001600160a01b038084166000818152600b6020526040808220805460ff191660011790558051631f432cf560e01b81529385166004850152602484018a905260448401899052519394509092631f432cf592606480820193929182900301818387803b158015620013af57600080fd5b505af1158015620013c4573d6000803e3d6000fd5b505050508160076000846001600160a01b031663c27d4df36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200140757600080fd5b505afa1580156200141c573d6000803e3d6000fd5b505050506040513d60208110156200143357600080fd5b50516001600160a01b039081168252602080830193909352604091820160002080546001600160a01b03191694821694909417909355805186841681529284169183019190915280517f450572808a85306efa02e194c62463c8bb5a4e6b55dc35e3732ed63a35d27ce79281900390910190a1505050505050505050565b336000908152600a602052604090205460ff161515600114620014d357600080fd5b336000908152600a602052604090205460ff1680620015015750336000908152600b602052604090205460ff165b62001549576040805162461bcd60e51b81526020600482015260136024820152721b9bdd081848185cdadbc818dbdb9d1c9858dd606a1b604482015290519081900360640190fd5b6001600160a01b0380841660009081526009602090815260408083209386168352929052205462001581908263ffffffff6200185d16565b6001600160a01b03938416600090815260096020908152604080832095909616825293909352929091209190915550565b60058181548110620015c057fe5b6000918252602090912001546001600160a01b0316905081565b6004546001600160a01b031681565b6008602052600090815260409020546001600160a01b031681565b60015481565b336000908152600a602052604090205460ff1615156001146200162c57600080fd5b6001600160a01b03808216600090815260066020526040902054168215620016b457806001600160a01b0316631d7bd46e856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200169557600080fd5b505af1158015620016aa573d6000803e3d6000fd5b50505050620016fb565b806001600160a01b031663d6b9b5d9856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000bb057600080fd5b50505050565b6003546001600160a01b031681565b6200171a6200180e565b6000546001600160a01b039081169116146200176c576040805162461bcd60e51b81526020600482018190526024820152600080516020620023bf833981519152604482015290519081900360640190fd5b6001600160a01b038116620017b35760405162461bcd60e51b8152600401808060200182810382526026815260200180620023996026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b60006200185683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620018b8565b9392505050565b60008282018381101562001856576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081848411156200194b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200190f578181015183820152602001620018f5565b50505050905090810190601f1680156200193d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610a3780620019628339019056fe608060405234801561001057600080fd5b50604051610a37380380610a37833981810160405260a081101561003357600080fd5b508051602082015160408301516060840151608090940151600080546001600160a01b0319166001600160a01b03831617905592939192909190848484848461007e8585858561008d565b505050505050505050506102bc565b6100a7622014808561017060201b6105901790919060201c565b6002556100f66100c562201480836101c1602090811b61053717901c565b6100e4670de0b6b3a7640000866101c160201b6105371790919060201c565b61017060201b6105901790919060201c565b6001556101118262201480610170602090811b61059017901c565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b60006101b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061021a60201b60201c565b90505b92915050565b6000826101d0575060006101bb565b828202828482816101dd57fe5b04146101b85760405162461bcd60e51b8152600401808060200182810382526021815260200180610a166021913960400191505060405180910390fd5b600081836102a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578181015183820152602001610253565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816102b257fe5b0495945050505050565b61074b806102cb6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a385fb9611610066578063a385fb9614610164578063b81688161461016c578063b9f9850a1461019b578063f14039de146101a3578063fd2da339146101ab5761009e565b806315f24053146100a35780632037f3e7146100de5780636e71e2d81461010f5780638726bb89146101385780638da5cb5b14610140575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b3565b60408051918252519081900360200190f35b61010d600480360360808110156100f457600080fd5b50803590602081013590604081013590606001356101ca565b005b6100cc6004803603606081101561012557600080fd5b5080359060208101359060400135610225565b6100cc61027b565b610148610281565b604080516001600160a01b039092168252519081900360200190f35b6100cc610290565b6100cc6004803603608081101561018257600080fd5b5080359060208101359060408101359060600135610297565b6100cc610316565b6100cc61031c565b6100cc610322565b60006101c0848484610328565b90505b9392505050565b6000546001600160a01b031633146102135760405162461bcd60e51b81526004018080602001828103825260268152602001806106f06026913960400191505060405180910390fd5b61021f848484846103f1565b50505050565b600082610234575060006101c3565b6101c06102578361024b878763ffffffff61049216565b9063ffffffff6104f516565b61026f85670de0b6b3a764000063ffffffff61053716565b9063ffffffff61059016565b60015481565b6000546001600160a01b031681565b6220148081565b6000806102b2670de0b6b3a76400008463ffffffff6104f516565b905060006102c1878787610328565b905060006102e1670de0b6b3a764000061026f848663ffffffff61053716565b905061030a670de0b6b3a764000061026f836102fe8c8c8c610225565b9063ffffffff61053716565b98975050505050505050565b60035481565b60025481565b60045481565b600080610336858585610225565b9050600454811161037c57610374600254610368670de0b6b3a764000061026f6001548661053790919063ffffffff16565b9063ffffffff61049216565b9150506101c3565b60006103a7600254610368670de0b6b3a764000061026f60015460045461053790919063ffffffff16565b905060006103c0600454846104f590919063ffffffff16565b90506103e782610368670de0b6b3a764000061026f6003548661053790919063ffffffff16565b93505050506101c3565b610404846220148063ffffffff61059016565b60025561041d610257622014808363ffffffff61053716565b600155610433826220148063ffffffff61059016565b60038190556004829055600254600154604080519283526020830191909152818101929092526060810183905290517f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d9181900360800190a150505050565b6000828201838110156104ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60006104ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105d2565b600082610546575060006104ef565b8282028284828161055357fe5b04146104ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806106cf6021913960400191505060405180910390fd5b60006104ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610669565b600081848411156106615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561062657818101518382015260200161060e565b50505050905090810190601f1680156106535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836106b85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561062657818101518382015260200161060e565b5060008385816106c457fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f6e6c7920746865206f776e6572206d61792063616c6c20746869732066756e6374696f6e2ea2646970667358221220a008bb5dc9be777232d46c93b6f58705e603bf2511eb0e2fb8395515611c399164736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c21e9386932b8b1e99970ee5d31544172e5b33a2667d792bf6136dd130cd521564736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "854:11217:10:-:0;;;2412:214;5:9:-1;2:2;;;27:1;24;17:12;2:2;2412:214:10;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2412:214:10;;;;;;;;;;;;;;865:17:38;885:12;-1:-1:-1;;;;;885:10:38;:12;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2517:6:10;:39;;-1:-1:-1;;;;;2517:39:10;;;-1:-1:-1;;;;;;2517:39:10;;;;;;;2566:3;:31;;;;;;;;;;;;;;;2607:4;:12;;;;;;;;;;;854:11217;;590:104:37;677:10;590:104;:::o;854:11217:10:-;;;;;;;", - "deployedSourceMap": "854:11217:10:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;854:11217:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3065:774:10;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;3065:774:10;;;;;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;3065:774:10;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3065:774:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3065:774:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3065:774:10;;;;;;;;-1:-1:-1;3065:774:10;;-1:-1:-1;;;;;11:28;;8:2;;;52:1;49;42:12;8:2;3065:774:10;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3065:774:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3065:774:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3065:774:10;;-1:-1:-1;3065:774:10;;-1:-1:-1;;;;;3065:774:10:i;:::-;;10322:101;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10322:101:10;-1:-1:-1;;;;;10322:101:10;;:::i;:::-;;;;;;;;;;;;;;;;;;1012:19;;;:::i;:::-;;;;-1:-1:-1;;;;;1012:19:10;;;;;;;;;;;;;;10663:295;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;10663:295:10;;;-1:-1:-1;;;;;10663:295:10;;;;;;;;;;;;;;;;;;;;;:::i;1181:50::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1181:50:10;-1:-1:-1;;;;;1181:50:10;;:::i;10964:760::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;10964:760:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10964:760:10;;;;;;;;;;;;:::i;1292:46::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1292:46:10;-1:-1:-1;;;;;1292:46:10;;:::i;9679:637::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9679:637:10;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10486:171;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;10486:171:10;;;;;;;;;;:::i;7443:90::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7443:90:10;;;;;;;;;;;;;;;;;8517:467;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8517:467:10;;;;;;;;;;;;;;;;;:::i;1689:145:38:-;;;:::i;4714:791:10:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;4714:791:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4714:791:10;;:::i;1066:77:38:-;;;:::i;6380:876:10:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;6380:876:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6380:876:10;;:::i;7862:318::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:318:10;;;;;;;;;;;;;;;;;:::i;1151:23::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1151:23:10;;:::i;1114:30::-;;;:::i;1396:48::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1396:48:10;-1:-1:-1;;;;;1396:48:10;;:::i;945:28::-;;;:::i;11730:339::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11730:339:10;;;;;;;;;;;;;-1:-1:-1;;;;;11730:339:10;;:::i;1037:35::-;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;3065:774:10:-;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;3227:13:10::1;:15:::0;;;::::1;::::0;;3278:6:::1;::::0;:41:::1;::::0;;-1:-1:-1;;;3278:41:10;;-1:-1:-1;;;;;3278:41:10;;::::1;;::::0;::::1;::::0;;;3227:13:::1;::::0;3278:6;;;::::1;::::0;:22:::1;::::0;:41;;;;;::::1;::::0;;;;;;;;;3227:13;3278:6;:41;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3278:41:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3278:41:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;3278:41:10;;;;;;;;;;;;;;;;3253:67;;3331:19;3353:3;;;;;;;;;-1:-1:-1::0;;;;;3353:3:10::1;-1:-1:-1::0;;;;;3353:13:10::1;;3380:17;3419:6;;;;;;;;;-1:-1:-1::0;;;;;3419:6:10::1;3448:4;3467;;;;;;;;;-1:-1:-1::0;;;;;3467:4:10::1;3485:10;3509:12;3353:178;;;;;;;;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;3353:178:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;3353:178:10;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;3353:178:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;3353:178:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3353:178:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;3353:178:10;-1:-1:-1;;;;;3542:18:10;;::::1;;::::0;;;:5:::1;3353:178;3542:18:::0;;;;;:25;;-1:-1:-1;;3542:25:10::1;3563:4;3542:25;::::0;;3577:6:::1;::::0;:46;;-1:-1:-1;;;3577:46:10;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;3353:178;;-1:-1:-1;3577:6:10;;::::1;::::0;:14:::1;::::0;:46;;;;;3542:18;;3577:46;;;;;;3542:18;3577:6;:46;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3577:46:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;;;;;;3633:34:10;;::::1;;::::0;;;:15:::1;:34;::::0;;;;;;;:48;;;;::::1;-1:-1:-1::0;;;;;;3633:48:10;;::::1;::::0;::::1;::::0;;;3691:26;;;:13:::1;:26:::0;;;;;:35;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;3736:6:::1;27:10:-1::0;;3633:48:10;23:18:-1;::::1;45:23:::0;;3736:30:10;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;3781:51;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;::::0;-1:-1:-1;3781:51:10;;;;;;;::::1;1339:1:38;;3065:774:10::0;;;:::o;10322:101::-;-1:-1:-1;;;;;10404:12:10;10381:4;10404:12;;;:5;:12;;;;;;;;;10322:101::o;1012:19::-;;;-1:-1:-1;;;;;1012:19:10;;:::o;10663:295::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;-1:-1:-1;;;;;10838:28:10;;::::1;10884:1;10838:28:::0;;;:17:::1;:28;::::0;;;;;;;:43;;::::1;::::0;;;;;;;;:47;;;10895:56;;-1:-1:-1;;;10895:56:10;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;;:15:::1;::::0;:56;;;;;10884:1;10895:56;;;;;;10884:1;10838:43;10895:56;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;10895:56:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;10895:56:10;;;;10663:295:::0;;;;:::o;1181:50::-;;;;;;;;;;;;-1:-1:-1;;;;;1181:50:10;;:::o;10964:760::-;-1:-1:-1;;;;;11260:34:10;;;11198:25;11260:34;;;:15;:34;;;;;;;11364:200;;11260:34;;;11401:16;;11435:18;;11471:22;;11511:8;;11260:34;;11364:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11364:200:10;;;;;;;;;;;;;;;-1:-1:-1;11364:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11364:200:10;11315:259;;11588:6;11584:134;;;11610:4;-1:-1:-1;;;;;11610:14:10;;11625:17;11610:33;;;;;;;;;;;;;-1:-1:-1;;;;;11610:33:10;-1:-1:-1;;;;;11610:33:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11610:33:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11610:33:10;;;;11584:134;;;11674:4;-1:-1:-1;;;;;11674:14:10;;11689:17;11674:33;;;;;;;;;;;;;-1:-1:-1;;;;;11674:33:10;-1:-1:-1;;;;;11674:33:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11674:33:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11674:33:10;;;;10964:760;;;;;;;;:::o;1292:46::-;;;;;;;;;;;;-1:-1:-1;;;;;1292:46:10;;:::o;9679:637::-;9785:7;9840:19;9877:4;9840:42;;9928:14;9945:4;-1:-1:-1;;;;;9945:14:10;;9960:9;9945:25;;;;;;;;;;;;;-1:-1:-1;;;;;9945:25:10;-1:-1:-1;;;;;9945:25:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9945:25:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9945:25:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9945:25:10;10047:30;;;-1:-1:-1;;;10047:30:10;;;;;;;;;;9945:25;;-1:-1:-1;10020:24:10;;-1:-1:-1;;;;;10047:22:10;;;;;:30;;;;;9945:25;;10047:30;;;;;;;10020:24;10047:22;:30;;;2:2:-1;;;;27:1;24;17:12;2:2;10047:30:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10047:30:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10047:30:10;-1:-1:-1;;;;;10178:28:10;;;10154:21;10178:28;;;:17;10047:30;10178:28;;;;;;;:34;;;;;;;;;;10047:30;;-1:-1:-1;10274:35:10;10047:30;10178:34;10274:35;:20;:35;:::i;:::-;10267:42;9679:637;-1:-1:-1;;;;;;;9679:637:10:o;10486:171::-;-1:-1:-1;;;;;10617:27:10;;;10587:7;10617:27;;;:17;:27;;;;;;;;:33;;;;;;;;;;;;;10486:171::o;7443:90::-;7485:16;7520:6;7513:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7513:13:10;;;;;;;;;;;;;;;;;;;;;;;7443:90;:::o;8517:467::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;8667:10:::1;8661:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;::::0;:38:::1;;-1:-1:-1::0;8688:10:10::1;8682:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;8661:38;8653:70;;;::::0;;-1:-1:-1;;;8653:70:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;8653:70:10;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8737:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:44;-1:-1:-1;8733:245:10::1;;;-1:-1:-1::0;;;;;8834:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:64:::1;::::0;8890:7;8834:64:::1;:55;:64;:::i;:::-;-1:-1:-1::0;;;;;8797:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;:101;8733:245:::1;;;-1:-1:-1::0;;;;;8929:28:10;;::::1;8966:1;8929:28:::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;;:38;8733:245:::1;8517:467:::0;;;:::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;4714:791:10:-;-1:-1:-1;;;;;5048:34:10;;;4986:25;5048:34;;;:15;:34;;;;;;;5152:200;;5048:34;;;5189:16;;5223:18;;5259:22;;5299:8;;5048:34;;5152:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5152:200:10;;;;;;;;;;;;;;;-1:-1:-1;5152:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5152:200:10;5103:259;;5373:4;-1:-1:-1;;;;;5373:14:10;;5388:17;5407:4;5413:20;5373:61;;;;;;;;;;;;;-1:-1:-1;;;;;5373:61:10;-1:-1:-1;;;;;5373:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5373:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5450:48:10;;;-1:-1:-1;;;;;5450:48:10;;;;;;;;;;;;;;;-1:-1:-1;5450:48:10;;;;;;;;-1:-1:-1;5450:48:10;4714:791;;;;;;;;;:::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;6380:876:10:-;-1:-1:-1;;;;;6714:34:10;;;6652:25;6714:34;;;:15;:34;;;;;;;6818:200;;6714:34;;;6855:16;;6889:18;;6925:22;;6965:8;;6714:34;;6818:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6818:200:10;;;;;;;;;;;;;;;-1:-1:-1;6818:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;7038:20:10;;;;;;;:5;:20;;;;;;:27;;-1:-1:-1;;7038:27:10;7061:4;7038:27;;;7075:61;;-1:-1:-1;;;7075:61:10;;;;;;;;;;;;;;;;;;;;;;6769:259;;-1:-1:-1;7038:20:10;;7075:14;;:61;;;;;7038:20;7075:61;;;;;;7038:20;;7075:61;;;2:2:-1;;;;27:1;24;17:12;2:2;7075:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7075:61:10;;;;7180:4;7146:11;:23;7158:4;-1:-1:-1;;;;;7158:8:10;;:10;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7158:10:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7158:10:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7158:10:10;-1:-1:-1;;;;;7146:23:10;;;;;7158:10;7146:23;;;;;;;;;;;-1:-1:-1;7146:23:10;:39;;-1:-1:-1;;;;;;7146:39:10;;;;;;;;;;;7201:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6380:876;;;;;;;;;:::o;7862:318::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;8010:10:::1;8004:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;::::0;:38:::1;;-1:-1:-1::0;8031:10:10::1;8025:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;8004:38;7996:70;;;::::0;;-1:-1:-1;;;7996:70:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7996:70:10;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8113:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:60:::1;::::0;8165:7;8113:60:::1;:51;:60;:::i;:::-;-1:-1:-1::0;;;;;8076:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;;::::1;::::0;;;;;;;;;;:97;;;;-1:-1:-1;7862:318:10:o;1151:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1151:23:10;;-1:-1:-1;1151:23:10;:::o;1114:30::-;;;-1:-1:-1;;;;;1114:30:10;;:::o;1396:48::-;;;;;;;;;;;;-1:-1:-1;;;;;1396:48:10;;:::o;945:28::-;;;;:::o;11730:339::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;-1:-1:-1;;;;;11910:23:10;;::::1;11848:25;11910:23:::0;;;:15:::1;:23;::::0;;;;;::::1;11953:110:::0;::::1;;;11979:4;-1:-1:-1::0;;;;;11979:13:10::1;;11993:6;11979:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;11979:21:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11979:21:10;;;;11953:110;;;12031:4;-1:-1:-1::0;;;;;12031:13:10::1;;12045:6;12031:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;11953:110:10;1910:1;11730:339:::0;;;:::o;1037:35::-;;;-1:-1:-1;;;;;1037:35:10;;:::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;590:104:37:-;677:10;590:104;:::o;1321:134:39:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;1321:134;-1:-1:-1;;;1321:134:39:o;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;1746:187;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;854:11217:10:-;;;;;;;;:::o", - "source": "pragma solidity ^0.6.0;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./MoneyMarketInstance.sol\";\nimport \"./interfaces/UniswapOracleFactoryI.sol\";\nimport \"./interfaces/MoneyMarketFactoryI.sol\";\nimport \"./interfaces/MoneyMarketInstanceI.sol\";\nimport \"./interfaces/AskoRiskTokenI.sol\";\nimport \"./compound/JumpRateModelV2.sol\";\nimport \"./compound/Exponential.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketFactory\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nMoneyMarketControl is designed to coordinate Money Markets\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol\n**/\n\ncontract MoneyMarketControl is Ownable, Exponential {\n using SafeMath for uint256;\n\n uint256 public instanceCount; //tracks the number of instances\n address public ARTF;\n UniswapOracleFactoryI public Oracle; //oracle factory contract interface\n MoneyMarketFactoryI public MMF;\n\n address[] public assets;\n\n mapping(address => address) public instanceTracker; //maps erc20 address to the assets MoneyMarketInstance\n mapping(address => address) public _ALRtracker; // tracks a money markets address to its ALR token.\n mapping(address => address) public oracleTracker; //maps a MM oracle to its Money market address\n mapping(address => mapping(address => uint256)) collateralTracker; //tracks user to a market to an amount collaterlized in that market\n mapping(address => bool) isMMI;\n mapping(address => bool) isALR;\n\n /**\n @notice onlyMMFactory is a modifier used to make a function only callable by the Money Market Instance contract\n **/\n modifier onlyMMI() {\n require(isMMI[msg.sender] == true);\n _;\n }\n\n event WhiteListed(address asset, address moneyMarket, address oracle);\n event AHRcreated(address asset, address interestRateModel);\n event ALRcreated(address asset, address interestRateModel);\n\n /**\n@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\n is used to set up Oracle variables for the MoneyMarketFactory contract.\n@param _oracle is the address for the UniswapOracleFactorycontract\n**/\n constructor(\n address _oracle,\n address _MMF,\n address _ARTF\n ) public {\n Oracle = UniswapOracleFactoryI(_oracle);\n MMF = MoneyMarketFactoryI(_MMF);\n ARTF = _ARTF;\n }\n\n /**\n@notice whitelistAsset is an onlyOwner function designed to be called by the AskoDAO.\n This function creates a new MoneyMarketInstancecontract for an input asset as well\n as a UniswapOracleInstance for the asset.\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n**/\n function whitelistAsset(\n address _assetContractAdd,\n string memory _assetName,\n string memory _assetSymbol\n ) public onlyOwner {\n instanceCount++;\n\n address oracle = address(Oracle.createNewOracle(_assetContractAdd));\n\n address _MMinstance = MMF.createMMI(\n _assetContractAdd,\n address(Oracle),\n address(this),\n ARTF,\n _assetName,\n _assetSymbol\n );\n\n isMMI[_MMinstance] = true;\n Oracle.linkMMI(_MMinstance, _assetContractAdd);\n instanceTracker[_assetContractAdd] = _MMinstance;\n oracleTracker[_MMinstance] = oracle;\n assets.push(_assetContractAdd);\n emit WhiteListed(_assetContractAdd, _MMinstance, oracle);\n }\n\n /**\n@notice setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _fee is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@dev this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract\n**/\n function setUpAHR(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n uint256 _fee,\n uint256 _initialExchangeRate,\n address _assetContractAdd\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n\n _MMI._setUpAHR(interestRateModel, _fee, _initialExchangeRate);\n\n emit AHRcreated(_assetContractAdd, interestRateModel);\n }\n\n /**\n@notice setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _fee is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@dev this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract\n**/\n function setUpALR(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n uint256 _fee,\n uint256 _initialExchangeRate,\n address _assetContractAdd\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n isALR[address(_MMI)] = true;\n _MMI._setUpALR(interestRateModel, _fee, _initialExchangeRate);\n _ALRtracker[_MMI.ALR()] = address(_MMI);\n\n emit ALRcreated(_assetContractAdd, interestRateModel);\n }\n\n /**\n@notice getAsset returns an array of all assets whitelisted on the platform.\n@dev this can be used to loop through and retreive each assets MoneyMarket by the front end\n**/\n function getAssets() public view returns (address[] memory) {\n return assets;\n }\n\n /**\n@notice trackCollateralUp is an external function used bya MMI to track collateral amounts globally\n@param _borrower is the address of the corrower\n@param _ALR is the address of the seller\n@param _amount is the amount of USDC being collateralized\n@dev this function can only be called by a MoneyMarketInstance.\n**/\n function trackCollateralUp(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external onlyMMI {\n require(isMMI[msg.sender] || isALR[msg.sender], \"not a asko contract\");\n collateralTracker[_borrower][_ALR] = collateralTracker[_borrower][_ALR]\n .add(_amount);\n }\n\n /**\n @notice trackCollateralDown is an external function used bya MMI to track collateral amounts globally\n @param _borrower is the address of the corrower\n @param _ALR is the address of the seller\n @param _amount is the amount of USDC being collateralized\n @dev this function can only be called by a MoneyMarketInstance.\n **/\n function trackCollateralDown(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external onlyMMI {\n require(isMMI[msg.sender] || isALR[msg.sender], \"not a asko contract\");\n if (collateralTracker[_borrower][_ALR] > _amount) {\n collateralTracker[_borrower][_ALR] = collateralTracker[_borrower][_ALR]\n .sub(_amount);\n } else {\n collateralTracker[_borrower][_ALR] = 0;\n }\n }\n\n function checkCollateralizedALR(address _borrower, address _ALR)\n public\n view\n returns (uint256)\n {\n return collateralTracker[_borrower][_ALR];\n }\n\n /**\n@notice checkCollateralValue is a view function that accepts an account address and an ALR contract\n address and returns the USD value of the availible collateral they have. Availible collateral is\n determined by the total amount of collateral minus the amount of collateral that is still availible to borrow against\n@param _borrower is the address whos collateral value we are looking up\n@param _ALR is the address of the ALR token where collateral value is being looked up\n **/\n function checkAvailibleCollateralValue(address _borrower, address _ALR)\n external\n returns (uint256)\n {\n //instantiate art token\n AskoRiskTokenI _ART = AskoRiskTokenI(_ALR);\n //get borrowers art balance\n uint256 artBal = _ART.balanceOf(_borrower);\n //get USDC value of art balance\n uint256 usdcValOfBalance = _ART.getUSDCWorthOfART(artBal);\n //retrieve the amount of the USDC value they have borrowed\n uint256 usdcValLocked = collateralTracker[_borrower][_ALR];\n //retrieve USDC availible collateral\n return usdcValOfBalance.sub(usdcValLocked);\n }\n\n function _checkIfALR(address __inQ) external view returns (bool) {\n return isALR[__inQ];\n }\n\n /**\ntells you the USDC value of their locked ALR\n**/\n function viewCollateral(address _account, address _alr)\n public\n view\n returns (uint256)\n {\n return collateralTracker[_account][_alr];\n }\n\n function liquidateTrigger(\n uint256 _liquidateValue,\n address _borrower,\n address _liquidator,\n AskoRiskTokenI _ALR\n ) public onlyMMI {\n collateralTracker[_borrower][address(_ALR)] = 0;\n _ALR._liquidate(_liquidateValue, _borrower, _liquidator);\n }\n\n function updateIRM(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n address _assetContractAdd,\n bool _isALR\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n if (_isALR) {\n _MMI.updateALR(interestRateModel);\n } else {\n _MMI.updateAHR(interestRateModel);\n }\n }\n\n function updateRR(\n uint256 _newRR,\n bool _isALR,\n address _asset\n ) public onlyMMI {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_asset]\n );\n if (_isALR) {\n _MMI.setRRALR(_newRR);\n } else {\n _MMI.setRRAHR(_newRR);\n }\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", + "sourceMap": "854:12659:10:-:0;;;2412:214;5:9:-1;2:2;;;27:1;24;17:12;2:2;2412:214:10;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2412:214:10;;;;;;;;;;;;;;882:17:38;902:12;-1:-1:-1;;;;;902:10:38;:12;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2517:6:10;:39;;-1:-1:-1;;;;;2517:39:10;;;-1:-1:-1;;;;;;2517:39:10;;;;;;;2566:3;:31;;;;;;;;;;;;;;;2607:4;:12;;;;;;;;;;;854:12659;;598:104:37;685:10;598:104;:::o;854:12659:10:-;;;;;;;", + "deployedSourceMap": "854:12659:10:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;854:12659:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3065:774:10;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;3065:774:10;;;;;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;3065:774:10;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3065:774:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3065:774:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3065:774:10;;;;;;;;-1:-1:-1;3065:774:10;;-1:-1:-1;;;;;11:28;;8:2;;;52:1;49;42:12;8:2;3065:774:10;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;3065:774:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3065:774:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3065:774:10;;-1:-1:-1;3065:774:10;;-1:-1:-1;;;;;3065:774:10:i;:::-;;10322:101;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10322:101:10;-1:-1:-1;;;;;10322:101:10;;:::i;:::-;;;;;;;;;;;;;;;;;;1012:19;;;:::i;:::-;;;;-1:-1:-1;;;;;1012:19:10;;;;;;;;;;;;;;11042:295;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;11042:295:10;;;-1:-1:-1;;;;;11042:295:10;;;;;;;;;;;;;;;;;;;;;:::i;1181:50::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1181:50:10;-1:-1:-1;;;;;1181:50:10;;:::i;12066:760::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;12066:760:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12066:760:10;;;;;;;;;;;;:::i;1292:46::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1292:46:10;-1:-1:-1;;;;;1292:46:10;;:::i;9679:637::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9679:637:10;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10486:171;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;10486:171:10;;;;;;;;;;:::i;7443:90::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7443:90:10;;;;;;;;;;;;;;;;;8517:467;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8517:467:10;;;;;;;;;;;;;;;;;:::i;1706:145:38:-;;;:::i;4714:791:10:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;4714:791:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4714:791:10;;:::i;1083:77:38:-;;;:::i;6380:876:10:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;6380:876:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6380:876:10;;:::i;7862:318::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:318:10;;;;;;;;;;;;;;;;;:::i;1151:23::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1151:23:10;;:::i;1114:30::-;;;:::i;1396:48::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1396:48:10;-1:-1:-1;;;;;1396:48:10;;:::i;945:28::-;;;:::i;13172:339::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13172:339:10;;;;;;;;;;;;;-1:-1:-1;;;;;13172:339:10;;:::i;1037:35::-;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;3065:774:10:-;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;3227:13:10::1;:15:::0;;;::::1;::::0;;3278:6:::1;::::0;:41:::1;::::0;;-1:-1:-1;;;3278:41:10;;-1:-1:-1;;;;;3278:41:10;;::::1;;::::0;::::1;::::0;;;3227:13:::1;::::0;3278:6;;;::::1;::::0;:22:::1;::::0;:41;;;;;::::1;::::0;;;;;;;;;3227:13;3278:6;:41;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3278:41:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3278:41:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;3278:41:10;;;;;;;;;;;;;;;;3253:67;;3331:19;3353:3;;;;;;;;;-1:-1:-1::0;;;;;3353:3:10::1;-1:-1:-1::0;;;;;3353:13:10::1;;3380:17;3419:6;;;;;;;;;-1:-1:-1::0;;;;;3419:6:10::1;3448:4;3467;;;;;;;;;-1:-1:-1::0;;;;;3467:4:10::1;3485:10;3509:12;3353:178;;;;;;;;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;-1:-1:-1::0;;;;;3353:178:10::1;-1:-1:-1::0;;;;;3353:178:10::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;3353:178:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;3353:178:10;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;3353:178:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;3353:178:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3353:178:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;3353:178:10;-1:-1:-1;;;;;3542:18:10;;::::1;;::::0;;;:5:::1;3353:178;3542:18:::0;;;;;:25;;-1:-1:-1;;3542:25:10::1;3563:4;3542:25;::::0;;3577:6:::1;::::0;:46;;-1:-1:-1;;;3577:46:10;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;3353:178;;-1:-1:-1;3577:6:10;;::::1;::::0;:14:::1;::::0;:46;;;;;3542:18;;3577:46;;;;;;3542:18;3577:6;:46;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3577:46:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;;;;;;3633:34:10;;::::1;;::::0;;;:15:::1;:34;::::0;;;;;;;:48;;;;::::1;-1:-1:-1::0;;;;;;3633:48:10;;::::1;::::0;::::1;::::0;;;3691:26;;;:13:::1;:26:::0;;;;;:35;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;3736:6:::1;27:10:-1::0;;3633:48:10;23:18:-1;::::1;45:23:::0;;3736:30:10;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;3781:51;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;::::0;-1:-1:-1;3781:51:10;;;;;;;::::1;1356:1:38;;3065:774:10::0;;;:::o;10322:101::-;-1:-1:-1;;;;;10404:12:10;10381:4;10404:12;;;:5;:12;;;;;;;;;10322:101::o;1012:19::-;;;-1:-1:-1;;;;;1012:19:10;;:::o;11042:295::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;-1:-1:-1;;;;;11217:28:10;;::::1;11263:1;11217:28:::0;;;:17:::1;:28;::::0;;;;;;;:43;;::::1;::::0;;;;;;;;:47;;;11274:56;;-1:-1:-1;;;11274:56:10;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;;:15:::1;::::0;:56;;;;;11263:1;11274:56;;;;;;11263:1;11217:43;11274:56;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;11274:56:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11274:56:10;;;;11042:295:::0;;;;:::o;1181:50::-;;;;;;;;;;;;-1:-1:-1;;;;;1181:50:10;;:::o;12066:760::-;-1:-1:-1;;;;;12362:34:10;;;12300:25;12362:34;;;:15;:34;;;;;;;12466:200;;12362:34;;;12503:16;;12537:18;;12573:22;;12613:8;;12362:34;;12466:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12466:200:10;;;;;;;;;;;;;;;-1:-1:-1;12466:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12466:200:10;12417:259;;12690:6;12686:134;;;12712:4;-1:-1:-1;;;;;12712:14:10;;12727:17;12712:33;;;;;;;;;;;;;-1:-1:-1;;;;;12712:33:10;-1:-1:-1;;;;;12712:33:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12712:33:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12712:33:10;;;;12686:134;;;12776:4;-1:-1:-1;;;;;12776:14:10;;12791:17;12776:33;;;;;;;;;;;;;-1:-1:-1;;;;;12776:33:10;-1:-1:-1;;;;;12776:33:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12776:33:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12776:33:10;;;;12066:760;;;;;;;;:::o;1292:46::-;;;;;;;;;;;;-1:-1:-1;;;;;1292:46:10;;:::o;9679:637::-;9785:7;9840:19;9877:4;9840:42;;9928:14;9945:4;-1:-1:-1;;;;;9945:14:10;;9960:9;9945:25;;;;;;;;;;;;;-1:-1:-1;;;;;9945:25:10;-1:-1:-1;;;;;9945:25:10;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9945:25:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9945:25:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9945:25:10;10047:30;;;-1:-1:-1;;;10047:30:10;;;;;;;;;;9945:25;;-1:-1:-1;10020:24:10;;-1:-1:-1;;;;;10047:22:10;;;;;:30;;;;;9945:25;;10047:30;;;;;;;10020:24;10047:22;:30;;;2:2:-1;;;;27:1;24;17:12;2:2;10047:30:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10047:30:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10047:30:10;-1:-1:-1;;;;;10178:28:10;;;10154:21;10178:28;;;:17;10047:30;10178:28;;;;;;;:34;;;;;;;;;;10047:30;;-1:-1:-1;10274:35:10;10047:30;10178:34;10274:35;:20;:35;:::i;:::-;10267:42;9679:637;-1:-1:-1;;;;;;;9679:637:10:o;10486:171::-;-1:-1:-1;;;;;10617:27:10;;;10587:7;10617:27;;;:17;:27;;;;;;;;:33;;;;;;;;;;;;;10486:171::o;7443:90::-;7485:16;7520:6;7513:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7513:13:10;;;;;;;;;;;;;;;;;;;;;;;7443:90;:::o;8517:467::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;8667:10:::1;8661:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;::::0;:38:::1;;-1:-1:-1::0;8688:10:10::1;8682:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;8661:38;8653:70;;;::::0;;-1:-1:-1;;;8653:70:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;8653:70:10;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8737:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:44;-1:-1:-1;8733:245:10::1;;;-1:-1:-1::0;;;;;8834:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:64:::1;::::0;8890:7;8834:64:::1;:55;:64;:::i;:::-;-1:-1:-1::0;;;;;8797:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;:101;8733:245:::1;;;-1:-1:-1::0;;;;;8929:28:10;;::::1;8966:1;8929:28:::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;;:38;8733:245:::1;8517:467:::0;;;:::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;4714:791:10:-;-1:-1:-1;;;;;5048:34:10;;;4986:25;5048:34;;;:15;:34;;;;;;;5152:200;;5048:34;;;5189:16;;5223:18;;5259:22;;5299:8;;5048:34;;5152:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5152:200:10;;;;;;;;;;;;;;;-1:-1:-1;5152:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5152:200:10;5103:259;;5373:4;-1:-1:-1;;;;;5373:14:10;;5388:17;5407:4;5413:20;5373:61;;;;;;;;;;;;;-1:-1:-1;;;;;5373:61:10;-1:-1:-1;;;;;5373:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5373:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5450:48:10;;;-1:-1:-1;;;;;5450:48:10;;;;;;;;;;;;;;;-1:-1:-1;5450:48:10;;;;;;;;-1:-1:-1;5450:48:10;4714:791;;;;;;;;;:::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;6380:876:10:-;-1:-1:-1;;;;;6714:34:10;;;6652:25;6714:34;;;:15;:34;;;;;;;6818:200;;6714:34;;;6855:16;;6889:18;;6925:22;;6965:8;;6714:34;;6818:200;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6818:200:10;;;;;;;;;;;;;;;-1:-1:-1;6818:200:10;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;7038:20:10;;;;;;;:5;:20;;;;;;:27;;-1:-1:-1;;7038:27:10;7061:4;7038:27;;;7075:61;;-1:-1:-1;;;7075:61:10;;;;;;;;;;;;;;;;;;;;;;6769:259;;-1:-1:-1;7038:20:10;;7075:14;;:61;;;;;7038:20;7075:61;;;;;;7038:20;;7075:61;;;2:2:-1;;;;27:1;24;17:12;2:2;7075:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7075:61:10;;;;7180:4;7146:11;:23;7158:4;-1:-1:-1;;;;;7158:8:10;;:10;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7158:10:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7158:10:10;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7158:10:10;-1:-1:-1;;;;;7146:23:10;;;;;7158:10;7146:23;;;;;;;;;;;-1:-1:-1;7146:23:10;:39;;-1:-1:-1;;;;;;7146:39:10;;;;;;;;;;;7201:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6380:876;;;;;;;;;:::o;7862:318::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;8010:10:::1;8004:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;::::0;:38:::1;;-1:-1:-1::0;8031:10:10::1;8025:17;::::0;;;:5:::1;:17;::::0;;;;;::::1;;8004:38;7996:70;;;::::0;;-1:-1:-1;;;7996:70:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7996:70:10;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;8113:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;::::1;::::0;;;;;;;:60:::1;::::0;8165:7;8113:60:::1;:51;:60;:::i;:::-;-1:-1:-1::0;;;;;8076:28:10;;::::1;;::::0;;;:17:::1;:28;::::0;;;;;;;:34;;;::::1;::::0;;;;;;;;;;:97;;;;-1:-1:-1;7862:318:10:o;1151:23::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1151:23:10;;-1:-1:-1;1151:23:10;:::o;1114:30::-;;;-1:-1:-1;;;;;1114:30:10;;:::o;1396:48::-;;;;;;;;;;;;-1:-1:-1;;;;;1396:48:10;;:::o;945:28::-;;;;:::o;13172:339::-;1880:10;1874:17;;;;:5;:17;;;;;;;;:25;;:17;:25;1866:34;;12:1:-1;9;2:12;1866:34:10;-1:-1:-1;;;;;13352:23:10;;::::1;13290:25;13352:23:::0;;;:15:::1;:23;::::0;;;;;::::1;13395:110:::0;::::1;;;13421:4;-1:-1:-1::0;;;;;13421:13:10::1;;13435:6;13421:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;13421:21:10;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;13421:21:10;;;;13395:110;;;13473:4;-1:-1:-1::0;;;;;13473:13:10::1;;13487:6;13473:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;13395:110:10;1910:1;13172:339:::0;;;:::o;1037:35::-;;;-1:-1:-1;;;;;1037:35:10;;:::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;598:104:37:-;685:10;598:104;:::o;1329:134:39:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1406:50;1329:134;-1:-1:-1;;;1329:134:39:o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;1754:187;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;854:12659:10:-;;;;;;;;:::o", + "source": "pragma solidity ^0.6.0;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./MoneyMarketInstance.sol\";\nimport \"./interfaces/UniswapOracleFactoryI.sol\";\nimport \"./interfaces/MoneyMarketFactoryI.sol\";\nimport \"./interfaces/MoneyMarketInstanceI.sol\";\nimport \"./interfaces/AskoRiskTokenI.sol\";\nimport \"./compound/JumpRateModelV2.sol\";\nimport \"./compound/Exponential.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketFactory\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nMoneyMarketControl is designed to coordinate Money Markets\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol\n**/\n\ncontract MoneyMarketControl is Ownable, Exponential {\n using SafeMath for uint256;\n\n uint256 public instanceCount; //tracks the number of instances\n address public ARTF;\n UniswapOracleFactoryI public Oracle; //oracle factory contract interface\n MoneyMarketFactoryI public MMF;\n\n address[] public assets;\n\n mapping(address => address) public instanceTracker; //maps erc20 address to the assets MoneyMarketInstance\n mapping(address => address) public _ALRtracker; // tracks a money markets address to its ALR token.\n mapping(address => address) public oracleTracker; //maps a MM oracle to its Money market address\n mapping(address => mapping(address => uint256)) collateralTracker; //tracks user to a market to an amount collaterlized in that market\n mapping(address => bool) isMMI;\n mapping(address => bool) isALR;\n\n /**\n @notice onlyMMFactory is a modifier used to make a function only callable by the Money Market Instance contract\n **/\n modifier onlyMMI() {\n require(isMMI[msg.sender] == true);\n _;\n }\n\n event WhiteListed(address asset, address moneyMarket, address oracle);\n event AHRcreated(address asset, address interestRateModel);\n event ALRcreated(address asset, address interestRateModel);\n\n /**\n@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\n is used to set up Oracle variables for the MoneyMarketFactory contract.\n@param _oracle is the address for the UniswapOracleFactorycontract\n**/\n constructor(\n address _oracle,\n address _MMF,\n address _ARTF\n ) public {\n Oracle = UniswapOracleFactoryI(_oracle);\n MMF = MoneyMarketFactoryI(_MMF);\n ARTF = _ARTF;\n }\n\n /**\n@notice whitelistAsset is an onlyOwner function designed to be called by the AskoDAO.\n This function creates a new MoneyMarketInstancecontract for an input asset as well\n as a UniswapOracleInstance for the asset.\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n**/\n function whitelistAsset(\n address _assetContractAdd,\n string memory _assetName,\n string memory _assetSymbol\n ) public onlyOwner {\n instanceCount++;\n\n address oracle = address(Oracle.createNewOracle(_assetContractAdd));\n\n address _MMinstance = MMF.createMMI(\n _assetContractAdd,\n address(Oracle),\n address(this),\n ARTF,\n _assetName,\n _assetSymbol\n );\n\n isMMI[_MMinstance] = true;\n Oracle.linkMMI(_MMinstance, _assetContractAdd);\n instanceTracker[_assetContractAdd] = _MMinstance;\n oracleTracker[_MMinstance] = oracle;\n assets.push(_assetContractAdd);\n emit WhiteListed(_assetContractAdd, _MMinstance, oracle);\n }\n\n /**\n@notice setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _fee is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@dev this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract\n**/\n function setUpAHR(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n uint256 _fee,\n uint256 _initialExchangeRate,\n address _assetContractAdd\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n\n _MMI._setUpAHR(interestRateModel, _fee, _initialExchangeRate);\n\n emit AHRcreated(_assetContractAdd, interestRateModel);\n }\n\n /**\n@notice setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _fee is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@dev this function can only be called after an asset has been whitelisted as it needs an existing MoneyMarketInstance contract\n**/\n function setUpALR(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n uint256 _fee,\n uint256 _initialExchangeRate,\n address _assetContractAdd\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n isALR[address(_MMI)] = true;\n _MMI._setUpALR(interestRateModel, _fee, _initialExchangeRate);\n _ALRtracker[_MMI.ALR()] = address(_MMI);\n\n emit ALRcreated(_assetContractAdd, interestRateModel);\n }\n\n /**\n@notice getAsset returns an array of all assets whitelisted on the platform.\n@dev this can be used to loop through and retreive each assets MoneyMarket by the front end\n**/\n function getAssets() public view returns (address[] memory) {\n return assets;\n }\n\n /**\n@notice trackCollateralUp is an external function used bya MMI to track collateral amounts globally\n@param _borrower is the address of the corrower\n@param _ALR is the address of the seller\n@param _amount is the amount of USDC being collateralized\n@dev this function can only be called by a MoneyMarketInstance.\n**/\n function trackCollateralUp(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external onlyMMI {\n require(isMMI[msg.sender] || isALR[msg.sender], \"not a asko contract\");\n collateralTracker[_borrower][_ALR] = collateralTracker[_borrower][_ALR]\n .add(_amount);\n }\n\n /**\n @notice trackCollateralDown is an external function used bya MMI to track collateral amounts globally\n @param _borrower is the address of the corrower\n @param _ALR is the address of the seller\n @param _amount is the amount of USDC being collateralized\n @dev this function can only be called by a MoneyMarketInstance.\n **/\n function trackCollateralDown(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external onlyMMI {\n require(isMMI[msg.sender] || isALR[msg.sender], \"not a asko contract\");\n if (collateralTracker[_borrower][_ALR] > _amount) {\n collateralTracker[_borrower][_ALR] = collateralTracker[_borrower][_ALR]\n .sub(_amount);\n } else {\n collateralTracker[_borrower][_ALR] = 0;\n }\n }\n\n function checkCollateralizedALR(address _borrower, address _ALR)\n public\n view\n returns (uint256)\n {\n return collateralTracker[_borrower][_ALR];\n }\n\n /**\n@notice checkCollateralValue is a view function that accepts an account address and an ALR contract\n address and returns the USD value of the availible collateral they have. Availible collateral is\n determined by the total amount of collateral minus the amount of collateral that is still availible to borrow against\n@param _borrower is the address whos collateral value we are looking up\n@param _ALR is the address of the ALR token where collateral value is being looked up\n **/\n function checkAvailibleCollateralValue(address _borrower, address _ALR)\n external\n returns (uint256)\n {\n //instantiate art token\n AskoRiskTokenI _ART = AskoRiskTokenI(_ALR);\n //get borrowers art balance\n uint256 artBal = _ART.balanceOf(_borrower);\n //get USDC value of art balance\n uint256 usdcValOfBalance = _ART.getUSDCWorthOfART(artBal);\n //retrieve the amount of the USDC value they have borrowed\n uint256 usdcValLocked = collateralTracker[_borrower][_ALR];\n //retrieve USDC availible collateral\n return usdcValOfBalance.sub(usdcValLocked);\n }\n\n function _checkIfALR(address __inQ) external view returns (bool) {\n return isALR[__inQ];\n }\n\n /**\ntells you the USDC value of their locked ALR\n**/\n function viewCollateral(address _account, address _alr)\n public\n view\n returns (uint256)\n {\n return collateralTracker[_account][_alr];\n }\n\n/**\n@notice liquidateTrigger is a protected function that can only be called by a money market instance.\n@param _liquidateValue is the value being liquidated\n@param _borrower is the address of the account being liquidated\n@param _liquidator is the address of the account doing the liquidating\n@param _ALR is the address of the Asko Low Risk token that was used as collateral\n**/\n function liquidateTrigger(\n uint256 _liquidateValue,\n address _borrower,\n address _liquidator,\n AskoRiskTokenI _ALR\n ) public onlyMMI {\n collateralTracker[_borrower][address(_ALR)] = 0;\n _ALR._liquidate(_liquidateValue, _borrower, _liquidator);\n }\n\n/**\n@notice updateIRM allows the admin of this contract to update a AskoRiskToken's Interest Rate Model\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@param _isALR is a bool representing whether or not the Asko risk token being updated is a ALR or not\n**/\n function updateIRM(\n uint256 _baseRatePerYear,\n uint256 _multiplierPerYear,\n uint256 _jumpMultiplierPerYear,\n uint256 _optimal,\n address _assetContractAdd,\n bool _isALR\n ) public {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_assetContractAdd]\n );\n\n address interestRateModel = address(\n new JumpRateModelV2(\n _baseRatePerYear,\n _multiplierPerYear,\n _jumpMultiplierPerYear,\n _optimal,\n address(_MMI)\n )\n );\n if (_isALR) {\n _MMI.updateALR(interestRateModel);\n } else {\n _MMI.updateAHR(interestRateModel);\n }\n }\n\n/**\n@notice updateRR allows the admin to update the reserve ratio for an Asko Risk Token \n@param _newRR is the new reserve ratio value(scaled by 1e18)\n@param _isALR is a bool representing whether of not the Reserve ratio being updated iis an ALR or not\n@param _asset is the address of the asset(token) whos ART tokens are being updated\n**/\n function updateRR(\n uint256 _newRR,\n bool _isALR,\n address _asset\n ) public onlyMMI {\n MoneyMarketInstanceI _MMI = MoneyMarketInstanceI(\n instanceTracker[_asset]\n );\n if (_isALR) {\n _MMI.setRRALR(_newRR);\n } else {\n _MMI.setRRAHR(_newRR);\n }\n }\n}\n", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", "exportedSymbols": { "MoneyMarketControl": [ - 2800 + 2803 ] }, - "id": 2801, + "id": 2804, "nodeType": "SourceUnit", "nodes": [ { @@ -661,8 +661,8 @@ "file": "openzeppelin-solidity/contracts/access/Ownable.sol", "id": 2145, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 10759, + "scope": 2804, + "sourceUnit": 10762, "src": "25:60:10", "symbolAliases": [], "unitAlias": "" @@ -672,85 +672,85 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2146, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 10955, + "scope": 2804, + "sourceUnit": 10958, "src": "86:59:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "file": "./MoneyMarketInstance.sol", "id": 2147, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 4050, + "scope": 2804, + "sourceUnit": 4053, "src": "146:35:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", "id": 2148, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6793, + "scope": 2804, + "sourceUnit": 6796, "src": "182:48:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", "id": 2149, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6650, + "scope": 2804, + "sourceUnit": 6653, "src": "231:46:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "file": "./interfaces/MoneyMarketInstanceI.sol", "id": 2150, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6720, + "scope": 2804, + "sourceUnit": 6723, "src": "278:47:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "file": "./interfaces/AskoRiskTokenI.sol", "id": 2151, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6559, + "scope": 2804, + "sourceUnit": 6562, "src": "326:41:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", "file": "./compound/JumpRateModelV2.sol", "id": 2152, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6427, + "scope": 2804, + "sourceUnit": 6430, "src": "368:40:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", "id": 2153, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6347, + "scope": 2804, + "sourceUnit": 6350, "src": "409:36:10", "symbolAliases": [], "unitAlias": "" @@ -765,10 +765,10 @@ "id": 2155, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10758, + "referencedDeclaration": 10761, "src": "885:7:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10758", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, @@ -783,10 +783,10 @@ "id": 2157, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6346, + "referencedDeclaration": 6349, "src": "894:11:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6346", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, @@ -796,11 +796,11 @@ } ], "contractDependencies": [ - 5161, - 6346, - 6426, - 10649, - 10758 + 5164, + 6349, + 6429, + 10652, + 10761 ], "contractKind": "contract", "documentation": { @@ -810,13 +810,13 @@ "text": "MoneyMarketControl is designed to coordinate Money Markets\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 2800, + "id": 2803, "linearizedBaseContracts": [ - 2800, - 6346, - 5161, - 10758, - 10649 + 2803, + 6349, + 5164, + 10761, + 10652 ], "name": "MoneyMarketControl", "nodeType": "ContractDefinition", @@ -828,10 +828,10 @@ "id": 2159, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10954, + "referencedDeclaration": 10957, "src": "918:8:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10954", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, @@ -856,7 +856,7 @@ "name": "instanceCount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "945:28:10", "stateVariable": true, "storageLocation": "default", @@ -885,7 +885,7 @@ "name": "ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1012:19:10", "stateVariable": true, "storageLocation": "default", @@ -915,12 +915,12 @@ "name": "Oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1037:35:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { @@ -928,10 +928,10 @@ "id": 2166, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "1037:21:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -946,12 +946,12 @@ "name": "MMF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1114:30:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { @@ -959,10 +959,10 @@ "id": 2168, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "1114:19:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -977,7 +977,7 @@ "name": "assets", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1151:23:10", "stateVariable": true, "storageLocation": "default", @@ -1017,7 +1017,7 @@ "name": "instanceTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1181:50:10", "stateVariable": true, "storageLocation": "default", @@ -1066,7 +1066,7 @@ "name": "_ALRtracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1292:46:10", "stateVariable": true, "storageLocation": "default", @@ -1115,7 +1115,7 @@ "name": "oracleTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1396:48:10", "stateVariable": true, "storageLocation": "default", @@ -1163,7 +1163,7 @@ "name": "collateralTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1497:65:10", "stateVariable": true, "storageLocation": "default", @@ -1229,7 +1229,7 @@ "name": "isMMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1636:30:10", "stateVariable": true, "storageLocation": "default", @@ -1276,7 +1276,7 @@ "name": "isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1672:30:10", "stateVariable": true, "storageLocation": "default", @@ -1765,7 +1765,7 @@ "referencedDeclaration": 2167, "src": "2517:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -1799,10 +1799,10 @@ "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "2526:21:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6792_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, @@ -1817,13 +1817,13 @@ "src": "2526:30:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "2517:39:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -1848,7 +1848,7 @@ "referencedDeclaration": 2169, "src": "2566:3:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -1882,10 +1882,10 @@ "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "2572:19:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6649_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, @@ -1900,13 +1900,13 @@ "src": "2572:25:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "2566:31:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -2075,7 +2075,7 @@ "parameters": [], "src": "2507:0:10" }, - "scope": 2800, + "scope": 2803, "src": "2412:214:10", "stateMutability": "nonpayable", "virtual": false, @@ -2193,7 +2193,7 @@ "referencedDeclaration": 2167, "src": "3278:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -2204,7 +2204,7 @@ "lValueRequested": false, "memberName": "createNewOracle", "nodeType": "MemberAccess", - "referencedDeclaration": 6730, + "referencedDeclaration": 6733, "src": "3278:22:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_address_$", @@ -2338,7 +2338,7 @@ "referencedDeclaration": 2167, "src": "3419:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -2346,7 +2346,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], @@ -2399,7 +2399,7 @@ "referencedDeclaration": -28, "src": "3448:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketControl_$2800", + "typeIdentifier": "t_contract$_MoneyMarketControl_$2803", "typeString": "contract MoneyMarketControl" } } @@ -2407,7 +2407,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketControl_$2800", + "typeIdentifier": "t_contract$_MoneyMarketControl_$2803", "typeString": "contract MoneyMarketControl" } ], @@ -2524,7 +2524,7 @@ "referencedDeclaration": 2169, "src": "3353:3:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -2535,7 +2535,7 @@ "lValueRequested": false, "memberName": "createMMI", "nodeType": "MemberAccess", - "referencedDeclaration": 6579, + "referencedDeclaration": 6582, "src": "3353:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$", @@ -2689,7 +2689,7 @@ "referencedDeclaration": 2167, "src": "3577:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -2700,7 +2700,7 @@ "lValueRequested": false, "memberName": "linkMMI", "nodeType": "MemberAccess", - "referencedDeclaration": 6782, + "referencedDeclaration": 6785, "src": "3577:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", @@ -3054,7 +3054,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "3207:9:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3166,7 +3166,7 @@ "parameters": [], "src": "3217:0:10" }, - "scope": 2800, + "scope": 2803, "src": "3065:774:10", "stateMutability": "nonpayable", "virtual": false, @@ -3195,7 +3195,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -3203,10 +3203,10 @@ "id": 2358, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "4986:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -3270,10 +3270,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "5014:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -3288,7 +3288,7 @@ "src": "5014:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -3401,7 +3401,7 @@ "referencedDeclaration": 2359, "src": "5333:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -3409,7 +3409,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -3482,7 +3482,7 @@ "nodeType": "NewExpression", "src": "5152:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { @@ -3490,10 +3490,10 @@ "id": 2370, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, + "referencedDeclaration": 6429, "src": "5156:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -3509,7 +3509,7 @@ "src": "5152:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -3517,7 +3517,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], @@ -3629,7 +3629,7 @@ "referencedDeclaration": 2359, "src": "5373:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -3640,7 +3640,7 @@ "lValueRequested": false, "memberName": "_setUpAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6663, + "referencedDeclaration": 6666, "src": "5373:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", @@ -3964,7 +3964,7 @@ "parameters": [], "src": "4976:0:10" }, - "scope": 2800, + "scope": 2803, "src": "4714:791:10", "stateMutability": "nonpayable", "virtual": false, @@ -3993,7 +3993,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -4001,10 +4001,10 @@ "id": 2415, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "6652:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -4068,10 +4068,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "6680:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -4086,7 +4086,7 @@ "src": "6680:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -4199,7 +4199,7 @@ "referencedDeclaration": 2416, "src": "6999:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -4207,7 +4207,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -4280,7 +4280,7 @@ "nodeType": "NewExpression", "src": "6818:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { @@ -4288,10 +4288,10 @@ "id": 2427, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, + "referencedDeclaration": 6429, "src": "6822:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -4307,7 +4307,7 @@ "src": "6818:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -4315,7 +4315,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], @@ -4395,7 +4395,7 @@ "referencedDeclaration": 2416, "src": "7052:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -4403,7 +4403,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -4553,7 +4553,7 @@ "referencedDeclaration": 2416, "src": "7075:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -4564,7 +4564,7 @@ "lValueRequested": false, "memberName": "_setUpALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6672, + "referencedDeclaration": 6675, "src": "7075:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", @@ -4628,7 +4628,7 @@ "referencedDeclaration": 2416, "src": "7158:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -4639,7 +4639,7 @@ "lValueRequested": false, "memberName": "ALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6654, + "referencedDeclaration": 6657, "src": "7158:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", @@ -4686,7 +4686,7 @@ "referencedDeclaration": 2416, "src": "7180:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -4694,7 +4694,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -5043,7 +5043,7 @@ "parameters": [], "src": "6642:0:10" }, - "scope": 2800, + "scope": 2803, "src": "6380:876:10", "stateMutability": "nonpayable", "virtual": false, @@ -5142,7 +5142,7 @@ ], "src": "7484:18:10" }, - "scope": 2800, + "scope": 2803, "src": "7443:90:10", "stateMutability": "view", "virtual": false, @@ -5527,7 +5527,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10787, + "referencedDeclaration": 10790, "src": "8113:51:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5694,7 +5694,7 @@ "parameters": [], "src": "7986:0:10" }, - "scope": 2800, + "scope": 2803, "src": "7862:318:10", "stateMutability": "nonpayable", "virtual": false, @@ -6299,7 +6299,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10804, + "referencedDeclaration": 10807, "src": "8834:55:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -6469,7 +6469,7 @@ "parameters": [], "src": "8643:0:10" }, - "scope": 2800, + "scope": 2803, "src": "8517:467:10", "stateMutability": "nonpayable", "virtual": false, @@ -6665,7 +6665,7 @@ ], "src": "9099:9:10" }, - "scope": 2800, + "scope": 2803, "src": "8990:181:10", "stateMutability": "view", "virtual": false, @@ -6694,7 +6694,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { @@ -6702,10 +6702,10 @@ "id": 2610, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6558, + "referencedDeclaration": 6561, "src": "9840:14:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -6742,10 +6742,10 @@ "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6558, + "referencedDeclaration": 6561, "src": "9862:14:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6558_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, @@ -6760,7 +6760,7 @@ "src": "9862:20:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -6835,7 +6835,7 @@ "referencedDeclaration": 2611, "src": "9945:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -6846,7 +6846,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 6547, + "referencedDeclaration": 6550, "src": "9945:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", @@ -6939,7 +6939,7 @@ "referencedDeclaration": 2611, "src": "10047:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -6950,7 +6950,7 @@ "lValueRequested": false, "memberName": "getUSDCWorthOfART", "nodeType": "MemberAccess", - "referencedDeclaration": 6512, + "referencedDeclaration": 6515, "src": "10047:22:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", @@ -7125,7 +7125,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10804, + "referencedDeclaration": 10807, "src": "10274:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -7268,7 +7268,7 @@ ], "src": "9784:9:10" }, - "scope": 2800, + "scope": 2803, "src": "9679:637:10", "stateMutability": "nonpayable", "virtual": false, @@ -7408,7 +7408,7 @@ ], "src": "10380:6:10" }, - "scope": 2800, + "scope": 2803, "src": "10322:101:10", "stateMutability": "view", "virtual": false, @@ -7609,7 +7609,7 @@ ], "src": "10586:9:10" }, - "scope": 2800, + "scope": 2803, "src": "10486:171:10", "stateMutability": "view", "virtual": false, @@ -7617,14 +7617,14 @@ }, { "body": { - "id": 2705, + "id": 2706, "nodeType": "Block", - "src": "10828:130:10", + "src": "11207:130:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2695, + "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, @@ -7635,26 +7635,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2686, + "id": 2687, "name": "collateralTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2190, - "src": "10838:17:10", + "src": "11217:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2692, + "id": 2693, "indexExpression": { "argumentTypes": null, - "id": 2687, + "id": 2688, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "10856:9:10", + "referencedDeclaration": 2678, + "src": "11235:9:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7665,26 +7665,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10838:28:10", + "src": "11217:28:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2693, + "id": 2694, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2690, + "id": 2691, "name": "_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2681, - "src": "10875:4:10", + "referencedDeclaration": 2682, + "src": "11254:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -7692,33 +7692,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 2689, + "id": 2690, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10867:7:10", + "src": "11246:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2688, + "id": 2689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10867:7:10", + "src": "11246:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2691, + "id": 2692, "isConstant": false, "isLValue": false, "isPure": false, @@ -7726,7 +7726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10867:13:10", + "src": "11246:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -7738,7 +7738,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10838:43:10", + "src": "11217:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7749,14 +7749,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2694, + "id": 2695, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10884:1:10", + "src": "11263:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7764,15 +7764,15 @@ }, "value": "0" }, - "src": "10838:47:10", + "src": "11217:47:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2696, + "id": 2697, "nodeType": "ExpressionStatement", - "src": "10838:47:10" + "src": "11217:47:10" }, { "expression": { @@ -7780,12 +7780,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2700, + "id": 2701, "name": "_liquidateValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "10911:15:10", + "referencedDeclaration": 2676, + "src": "11290:15:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7793,12 +7793,12 @@ }, { "argumentTypes": null, - "id": 2701, + "id": 2702, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "10928:9:10", + "referencedDeclaration": 2678, + "src": "11307:9:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7806,12 +7806,12 @@ }, { "argumentTypes": null, - "id": 2702, + "id": 2703, "name": "_liquidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, - "src": "10939:11:10", + "referencedDeclaration": 2680, + "src": "11318:11:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7835,32 +7835,32 @@ ], "expression": { "argumentTypes": null, - "id": 2697, + "id": 2698, "name": "_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2681, - "src": "10895:4:10", + "referencedDeclaration": 2682, + "src": "11274:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 2699, + "id": 2700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_liquidate", "nodeType": "MemberAccess", - "referencedDeclaration": 6482, - "src": "10895:15:10", + "referencedDeclaration": 6485, + "src": "11274:15:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", "typeString": "function (uint256,address,address) external" } }, - "id": 2703, + "id": 2704, "isConstant": false, "isLValue": false, "isPure": false, @@ -7868,61 +7868,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10895:56:10", + "src": "11274:56:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2704, + "id": 2705, "nodeType": "ExpressionStatement", - "src": "10895:56:10" + "src": "11274:56:10" } ] }, - "documentation": null, + "documentation": { + "id": 2674, + "nodeType": "StructuredDocumentation", + "src": "10659:378:10", + "text": "@notice liquidateTrigger is a protected function that can only be called by a money market instance.\n@param _liquidateValue is the value being liquidated\n@param _borrower is the address of the account being liquidated\n@param _liquidator is the address of the account doing the liquidating\n@param _ALR is the address of the Asko Low Risk token that was used as collateral*" + }, "functionSelector": "2bb0df23", - "id": 2706, + "id": 2707, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2684, + "id": 2685, "modifierName": { "argumentTypes": null, - "id": 2683, + "id": 2684, "name": "onlyMMI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2212, - "src": "10820:7:10", + "src": "11199:7:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "10820:7:10" + "src": "11199:7:10" } ], "name": "liquidateTrigger", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2682, + "id": 2683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2675, + "id": 2676, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10698:23:10", + "scope": 2707, + "src": "11077:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7930,10 +7935,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2674, + "id": 2675, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10698:7:10", + "src": "11077:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7944,13 +7949,13 @@ }, { "constant": false, - "id": 2677, + "id": 2678, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10731:17:10", + "scope": 2707, + "src": "11110:17:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7958,10 +7963,10 @@ "typeString": "address" }, "typeName": { - "id": 2676, + "id": 2677, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10731:7:10", + "src": "11110:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7973,13 +7978,13 @@ }, { "constant": false, - "id": 2679, + "id": 2680, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10758:19:10", + "scope": 2707, + "src": "11137:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7987,10 +7992,10 @@ "typeString": "address" }, "typeName": { - "id": 2678, + "id": 2679, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10758:7:10", + "src": "11137:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8002,28 +8007,28 @@ }, { "constant": false, - "id": 2681, + "id": 2682, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10787:19:10", + "scope": 2707, + "src": "11166:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2680, + "id": 2681, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6558, - "src": "10787:14:10", + "referencedDeclaration": 6561, + "src": "11166:14:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -8031,55 +8036,55 @@ "visibility": "internal" } ], - "src": "10688:124:10" + "src": "11067:124:10" }, "returnParameters": { - "id": 2685, + "id": 2686, "nodeType": "ParameterList", "parameters": [], - "src": "10828:0:10" + "src": "11207:0:10" }, - "scope": 2800, - "src": "10663:295:10", + "scope": 2803, + "src": "11042:295:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 2762, + "id": 2764, "nodeType": "Block", - "src": "11188:536:10", + "src": "12290:536:10", "statements": [ { "assignments": [ - 2722 + 2724 ], "declarations": [ { "constant": false, - "id": 2722, + "id": 2724, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2762, - "src": "11198:25:10", + "scope": 2764, + "src": "12300:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { "contractScope": null, - "id": 2721, + "id": 2723, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, - "src": "11198:20:10", + "referencedDeclaration": 6722, + "src": "12300:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -8087,7 +8092,7 @@ "visibility": "internal" } ], - "id": 2728, + "id": 2730, "initialValue": { "argumentTypes": null, "arguments": [ @@ -8095,26 +8100,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2724, + "id": 2726, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, - "src": "11260:15:10", + "src": "12362:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 2726, + "id": 2728, "indexExpression": { "argumentTypes": null, - "id": 2725, + "id": 2727, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "11276:17:10", + "referencedDeclaration": 2718, + "src": "12378:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8125,7 +8130,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11260:34:10", + "src": "12362:34:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8139,18 +8144,18 @@ "typeString": "address" } ], - "id": 2723, + "id": 2725, "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "11226:20:10", + "referencedDeclaration": 6722, + "src": "12328:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, - "id": 2727, + "id": 2729, "isConstant": false, "isLValue": false, "isPure": false, @@ -8158,30 +8163,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11226:78:10", + "src": "12328:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "nodeType": "VariableDeclarationStatement", - "src": "11198:106:10" + "src": "12300:106:10" }, { "assignments": [ - 2730 + 2732 ], "declarations": [ { "constant": false, - "id": 2730, + "id": 2732, "mutability": "mutable", "name": "interestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2762, - "src": "11315:25:10", + "scope": 2764, + "src": "12417:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8189,10 +8194,10 @@ "typeString": "address" }, "typeName": { - "id": 2729, + "id": 2731, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11315:7:10", + "src": "12417:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8203,7 +8208,7 @@ "visibility": "internal" } ], - "id": 2745, + "id": 2747, "initialValue": { "argumentTypes": null, "arguments": [ @@ -8212,12 +8217,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2735, + "id": 2737, "name": "_baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2708, - "src": "11401:16:10", + "referencedDeclaration": 2710, + "src": "12503:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8225,12 +8230,12 @@ }, { "argumentTypes": null, - "id": 2736, + "id": 2738, "name": "_multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "11435:18:10", + "referencedDeclaration": 2712, + "src": "12537:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8238,12 +8243,12 @@ }, { "argumentTypes": null, - "id": 2737, + "id": 2739, "name": "_jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2712, - "src": "11471:22:10", + "referencedDeclaration": 2714, + "src": "12573:22:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8251,12 +8256,12 @@ }, { "argumentTypes": null, - "id": 2738, + "id": 2740, "name": "_optimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2714, - "src": "11511:8:10", + "referencedDeclaration": 2716, + "src": "12613:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8267,14 +8272,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2741, + "id": 2743, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11545:4:10", + "referencedDeclaration": 2724, + "src": "12647:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -8282,33 +8287,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], - "id": 2740, + "id": 2742, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "11537:7:10", + "src": "12639:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2739, + "id": 2741, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11537:7:10", + "src": "12639:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2742, + "id": 2744, "isConstant": false, "isLValue": false, "isPure": false, @@ -8316,7 +8321,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11537:13:10", + "src": "12639:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8347,31 +8352,31 @@ "typeString": "address" } ], - "id": 2734, + "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "11364:19:10", + "src": "12466:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { "contractScope": null, - "id": 2733, + "id": 2735, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, - "src": "11368:15:10", + "referencedDeclaration": 6429, + "src": "12470:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } }, - "id": 2743, + "id": 2745, "isConstant": false, "isLValue": false, "isPure": false, @@ -8379,10 +8384,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11364:200:10", + "src": "12466:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -8390,33 +8395,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], - "id": 2732, + "id": 2734, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "11343:7:10", + "src": "12445:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2731, + "id": 2733, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11343:7:10", + "src": "12445:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2744, + "id": 2746, "isConstant": false, "isLValue": false, "isPure": false, @@ -8424,7 +8429,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11343:231:10", + "src": "12445:231:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8432,26 +8437,26 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "11315:259:10" + "src": "12417:259:10" }, { "condition": { "argumentTypes": null, - "id": 2746, + "id": 2748, "name": "_isALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2718, - "src": "11588:6:10", + "referencedDeclaration": 2720, + "src": "12690:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2760, + "id": 2762, "nodeType": "Block", - "src": "11660:58:10", + "src": "12762:58:10", "statements": [ { "expression": { @@ -8459,12 +8464,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2757, + "id": 2759, "name": "interestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "11689:17:10", + "referencedDeclaration": 2732, + "src": "12791:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8480,32 +8485,32 @@ ], "expression": { "argumentTypes": null, - "id": 2754, + "id": 2756, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11674:4:10", + "referencedDeclaration": 2724, + "src": "12776:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2756, + "id": 2758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "updateAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6708, - "src": "11674:14:10", + "referencedDeclaration": 6711, + "src": "12776:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2758, + "id": 2760, "isConstant": false, "isLValue": false, "isPure": false, @@ -8513,26 +8518,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11674:33:10", + "src": "12776:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2759, + "id": 2761, "nodeType": "ExpressionStatement", - "src": "11674:33:10" + "src": "12776:33:10" } ] }, - "id": 2761, + "id": 2763, "nodeType": "IfStatement", - "src": "11584:134:10", + "src": "12686:134:10", "trueBody": { - "id": 2753, + "id": 2755, "nodeType": "Block", - "src": "11596:58:10", + "src": "12698:58:10", "statements": [ { "expression": { @@ -8540,12 +8545,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2750, + "id": 2752, "name": "interestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "11625:17:10", + "referencedDeclaration": 2732, + "src": "12727:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8561,32 +8566,32 @@ ], "expression": { "argumentTypes": null, - "id": 2747, + "id": 2749, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11610:4:10", + "referencedDeclaration": 2724, + "src": "12712:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2749, + "id": 2751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "updateALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6703, - "src": "11610:14:10", + "referencedDeclaration": 6706, + "src": "12712:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2751, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, @@ -8594,25 +8599,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11610:33:10", + "src": "12712:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2752, + "id": 2754, "nodeType": "ExpressionStatement", - "src": "11610:33:10" + "src": "12712:33:10" } ] } } ] }, - "documentation": null, + "documentation": { + "id": 2708, + "nodeType": "StructuredDocumentation", + "src": "11339:722:10", + "text": "@notice updateIRM allows the admin of this contract to update a AskoRiskToken's Interest Rate Model\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@param _isALR is a bool representing whether or not the Asko risk token being updated is a ALR or not*" + }, "functionSelector": "35424d2c", - "id": 2763, + "id": 2765, "implemented": true, "kind": "function", "modifiers": [], @@ -8620,18 +8630,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2719, + "id": 2721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2708, + "id": 2710, "mutability": "mutable", "name": "_baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "10992:24:10", + "scope": 2765, + "src": "12094:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8639,10 +8649,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2707, + "id": 2709, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10992:7:10", + "src": "12094:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8653,13 +8663,13 @@ }, { "constant": false, - "id": 2710, + "id": 2712, "mutability": "mutable", "name": "_multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11026:26:10", + "scope": 2765, + "src": "12128:26:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8667,10 +8677,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2709, + "id": 2711, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11026:7:10", + "src": "12128:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8681,13 +8691,13 @@ }, { "constant": false, - "id": 2712, + "id": 2714, "mutability": "mutable", "name": "_jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11062:30:10", + "scope": 2765, + "src": "12164:30:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8695,10 +8705,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2711, + "id": 2713, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11062:7:10", + "src": "12164:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8709,13 +8719,13 @@ }, { "constant": false, - "id": 2714, + "id": 2716, "mutability": "mutable", "name": "_optimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11102:16:10", + "scope": 2765, + "src": "12204:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8723,10 +8733,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2713, + "id": 2715, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11102:7:10", + "src": "12204:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8737,13 +8747,13 @@ }, { "constant": false, - "id": 2716, + "id": 2718, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11128:25:10", + "scope": 2765, + "src": "12230:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8751,10 +8761,10 @@ "typeString": "address" }, "typeName": { - "id": 2715, + "id": 2717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11128:7:10", + "src": "12230:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8766,13 +8776,13 @@ }, { "constant": false, - "id": 2718, + "id": 2720, "mutability": "mutable", "name": "_isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11163:11:10", + "scope": 2765, + "src": "12265:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8780,10 +8790,10 @@ "typeString": "bool" }, "typeName": { - "id": 2717, + "id": 2719, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11163:4:10", + "src": "12265:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8793,55 +8803,55 @@ "visibility": "internal" } ], - "src": "10982:198:10" + "src": "12084:198:10" }, "returnParameters": { - "id": 2720, + "id": 2722, "nodeType": "ParameterList", "parameters": [], - "src": "11188:0:10" + "src": "12290:0:10" }, - "scope": 2800, - "src": "10964:760:10", + "scope": 2803, + "src": "12066:760:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 2798, + "id": 2801, "nodeType": "Block", - "src": "11838:231:10", + "src": "13280:231:10", "statements": [ { "assignments": [ - 2775 + 2778 ], "declarations": [ { "constant": false, - "id": 2775, + "id": 2778, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2798, - "src": "11848:25:10", + "scope": 2801, + "src": "13290:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { "contractScope": null, - "id": 2774, + "id": 2777, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, - "src": "11848:20:10", + "referencedDeclaration": 6722, + "src": "13290:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -8849,7 +8859,7 @@ "visibility": "internal" } ], - "id": 2781, + "id": 2784, "initialValue": { "argumentTypes": null, "arguments": [ @@ -8857,26 +8867,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2777, + "id": 2780, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, - "src": "11910:15:10", + "src": "13352:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 2779, + "id": 2782, "indexExpression": { "argumentTypes": null, - "id": 2778, + "id": 2781, "name": "_asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2769, - "src": "11926:6:10", + "referencedDeclaration": 2772, + "src": "13368:6:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8887,7 +8897,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11910:23:10", + "src": "13352:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8901,18 +8911,18 @@ "typeString": "address" } ], - "id": 2776, + "id": 2779, "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "11876:20:10", + "referencedDeclaration": 6722, + "src": "13318:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, - "id": 2780, + "id": 2783, "isConstant": false, "isLValue": false, "isPure": false, @@ -8920,34 +8930,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11876:67:10", + "src": "13318:67:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "nodeType": "VariableDeclarationStatement", - "src": "11848:95:10" + "src": "13290:95:10" }, { "condition": { "argumentTypes": null, - "id": 2782, + "id": 2785, "name": "_isALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "11957:6:10", + "referencedDeclaration": 2770, + "src": "13399:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2796, + "id": 2799, "nodeType": "Block", - "src": "12017:46:10", + "src": "13459:46:10", "statements": [ { "expression": { @@ -8955,12 +8965,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2793, + "id": 2796, "name": "_newRR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "12045:6:10", + "referencedDeclaration": 2768, + "src": "13487:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8976,32 +8986,32 @@ ], "expression": { "argumentTypes": null, - "id": 2790, + "id": 2793, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "12031:4:10", + "referencedDeclaration": 2778, + "src": "13473:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2792, + "id": 2795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setRRAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6718, - "src": "12031:13:10", + "referencedDeclaration": 6721, + "src": "13473:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 2794, + "id": 2797, "isConstant": false, "isLValue": false, "isPure": false, @@ -9009,26 +9019,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12031:21:10", + "src": "13473:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2795, + "id": 2798, "nodeType": "ExpressionStatement", - "src": "12031:21:10" + "src": "13473:21:10" } ] }, - "id": 2797, + "id": 2800, "nodeType": "IfStatement", - "src": "11953:110:10", + "src": "13395:110:10", "trueBody": { - "id": 2789, + "id": 2792, "nodeType": "Block", - "src": "11965:46:10", + "src": "13407:46:10", "statements": [ { "expression": { @@ -9036,12 +9046,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2786, + "id": 2789, "name": "_newRR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "11993:6:10", + "referencedDeclaration": 2768, + "src": "13435:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9057,32 +9067,32 @@ ], "expression": { "argumentTypes": null, - "id": 2783, + "id": 2786, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "11979:4:10", + "referencedDeclaration": 2778, + "src": "13421:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2785, + "id": 2788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setRRALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6713, - "src": "11979:13:10", + "referencedDeclaration": 6716, + "src": "13421:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 2787, + "id": 2790, "isConstant": false, "isLValue": false, "isPure": false, @@ -9090,64 +9100,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11979:21:10", + "src": "13421:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2788, + "id": 2791, "nodeType": "ExpressionStatement", - "src": "11979:21:10" + "src": "13421:21:10" } ] } } ] }, - "documentation": null, + "documentation": { + "id": 2766, + "nodeType": "StructuredDocumentation", + "src": "12828:339:10", + "text": "@notice updateRR allows the admin to update the reserve ratio for an Asko Risk Token \n@param _newRR is the new reserve ratio value(scaled by 1e18)\n@param _isALR is a bool representing whether of not the Reserve ratio being updated iis an ALR or not\n@param _asset is the address of the asset(token) whos ART tokens are being updated*" + }, "functionSelector": "f189d7a3", - "id": 2799, + "id": 2802, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2772, + "id": 2775, "modifierName": { "argumentTypes": null, - "id": 2771, + "id": 2774, "name": "onlyMMI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2212, - "src": "11830:7:10", + "src": "13272:7:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "11830:7:10" + "src": "13272:7:10" } ], "name": "updateRR", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2770, + "id": 2773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2765, + "id": 2768, "mutability": "mutable", "name": "_newRR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11757:14:10", + "scope": 2802, + "src": "13199:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9155,10 +9170,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2764, + "id": 2767, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11757:7:10", + "src": "13199:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9169,13 +9184,13 @@ }, { "constant": false, - "id": 2767, + "id": 2770, "mutability": "mutable", "name": "_isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11781:11:10", + "scope": 2802, + "src": "13223:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9183,10 +9198,10 @@ "typeString": "bool" }, "typeName": { - "id": 2766, + "id": 2769, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11781:4:10", + "src": "13223:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9197,13 +9212,13 @@ }, { "constant": false, - "id": 2769, + "id": 2772, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11802:14:10", + "scope": 2802, + "src": "13244:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9211,10 +9226,10 @@ "typeString": "address" }, "typeName": { - "id": 2768, + "id": 2771, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11802:7:10", + "src": "13244:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9225,35 +9240,35 @@ "visibility": "internal" } ], - "src": "11747:75:10" + "src": "13189:75:10" }, "returnParameters": { - "id": 2773, + "id": 2776, "nodeType": "ParameterList", "parameters": [], - "src": "11838:0:10" + "src": "13280:0:10" }, - "scope": 2800, - "src": "11730:339:10", + "scope": 2803, + "src": "13172:339:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2801, - "src": "854:11217:10" + "scope": 2804, + "src": "854:12659:10" } ], - "src": "0:12072:10" + "src": "0:13514:10" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketControl.sol", "exportedSymbols": { "MoneyMarketControl": [ - 2800 + 2803 ] }, - "id": 2801, + "id": 2804, "nodeType": "SourceUnit", "nodes": [ { @@ -9272,8 +9287,8 @@ "file": "openzeppelin-solidity/contracts/access/Ownable.sol", "id": 2145, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 10759, + "scope": 2804, + "sourceUnit": 10762, "src": "25:60:10", "symbolAliases": [], "unitAlias": "" @@ -9283,85 +9298,85 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2146, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 10955, + "scope": 2804, + "sourceUnit": 10958, "src": "86:59:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "file": "./MoneyMarketInstance.sol", "id": 2147, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 4050, + "scope": 2804, + "sourceUnit": 4053, "src": "146:35:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", "id": 2148, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6793, + "scope": 2804, + "sourceUnit": 6796, "src": "182:48:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", "id": 2149, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6650, + "scope": 2804, + "sourceUnit": 6653, "src": "231:46:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "file": "./interfaces/MoneyMarketInstanceI.sol", "id": 2150, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6720, + "scope": 2804, + "sourceUnit": 6723, "src": "278:47:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "file": "./interfaces/AskoRiskTokenI.sol", "id": 2151, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6559, + "scope": 2804, + "sourceUnit": 6562, "src": "326:41:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/JumpRateModelV2.sol", "file": "./compound/JumpRateModelV2.sol", "id": 2152, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6427, + "scope": 2804, + "sourceUnit": 6430, "src": "368:40:10", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", "id": 2153, "nodeType": "ImportDirective", - "scope": 2801, - "sourceUnit": 6347, + "scope": 2804, + "sourceUnit": 6350, "src": "409:36:10", "symbolAliases": [], "unitAlias": "" @@ -9376,10 +9391,10 @@ "id": 2155, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10758, + "referencedDeclaration": 10761, "src": "885:7:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10758", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, @@ -9394,10 +9409,10 @@ "id": 2157, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6346, + "referencedDeclaration": 6349, "src": "894:11:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6346", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, @@ -9407,11 +9422,11 @@ } ], "contractDependencies": [ - 5161, - 6346, - 6426, - 10649, - 10758 + 5164, + 6349, + 6429, + 10652, + 10761 ], "contractKind": "contract", "documentation": { @@ -9421,13 +9436,13 @@ "text": "MoneyMarketControl is designed to coordinate Money Markets\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 2800, + "id": 2803, "linearizedBaseContracts": [ - 2800, - 6346, - 5161, - 10758, - 10649 + 2803, + 6349, + 5164, + 10761, + 10652 ], "name": "MoneyMarketControl", "nodeType": "ContractDefinition", @@ -9439,10 +9454,10 @@ "id": 2159, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10954, + "referencedDeclaration": 10957, "src": "918:8:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10954", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, @@ -9467,7 +9482,7 @@ "name": "instanceCount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "945:28:10", "stateVariable": true, "storageLocation": "default", @@ -9496,7 +9511,7 @@ "name": "ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1012:19:10", "stateVariable": true, "storageLocation": "default", @@ -9526,12 +9541,12 @@ "name": "Oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1037:35:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { @@ -9539,10 +9554,10 @@ "id": 2166, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "1037:21:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -9557,12 +9572,12 @@ "name": "MMF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1114:30:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { @@ -9570,10 +9585,10 @@ "id": 2168, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "1114:19:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -9588,7 +9603,7 @@ "name": "assets", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1151:23:10", "stateVariable": true, "storageLocation": "default", @@ -9628,7 +9643,7 @@ "name": "instanceTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1181:50:10", "stateVariable": true, "storageLocation": "default", @@ -9677,7 +9692,7 @@ "name": "_ALRtracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1292:46:10", "stateVariable": true, "storageLocation": "default", @@ -9726,7 +9741,7 @@ "name": "oracleTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1396:48:10", "stateVariable": true, "storageLocation": "default", @@ -9774,7 +9789,7 @@ "name": "collateralTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1497:65:10", "stateVariable": true, "storageLocation": "default", @@ -9840,7 +9855,7 @@ "name": "isMMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1636:30:10", "stateVariable": true, "storageLocation": "default", @@ -9887,7 +9902,7 @@ "name": "isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2800, + "scope": 2803, "src": "1672:30:10", "stateVariable": true, "storageLocation": "default", @@ -10376,7 +10391,7 @@ "referencedDeclaration": 2167, "src": "2517:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -10410,10 +10425,10 @@ "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6792, + "referencedDeclaration": 6795, "src": "2526:21:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6792_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, @@ -10428,13 +10443,13 @@ "src": "2526:30:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "2517:39:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -10459,7 +10474,7 @@ "referencedDeclaration": 2169, "src": "2566:3:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -10493,10 +10508,10 @@ "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6649, + "referencedDeclaration": 6652, "src": "2572:19:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6649_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, @@ -10511,13 +10526,13 @@ "src": "2572:25:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "2566:31:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -10686,7 +10701,7 @@ "parameters": [], "src": "2507:0:10" }, - "scope": 2800, + "scope": 2803, "src": "2412:214:10", "stateMutability": "nonpayable", "virtual": false, @@ -10804,7 +10819,7 @@ "referencedDeclaration": 2167, "src": "3278:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -10815,7 +10830,7 @@ "lValueRequested": false, "memberName": "createNewOracle", "nodeType": "MemberAccess", - "referencedDeclaration": 6730, + "referencedDeclaration": 6733, "src": "3278:22:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_address_$", @@ -10949,7 +10964,7 @@ "referencedDeclaration": 2167, "src": "3419:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -10957,7 +10972,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], @@ -11010,7 +11025,7 @@ "referencedDeclaration": -28, "src": "3448:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketControl_$2800", + "typeIdentifier": "t_contract$_MoneyMarketControl_$2803", "typeString": "contract MoneyMarketControl" } } @@ -11018,7 +11033,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketControl_$2800", + "typeIdentifier": "t_contract$_MoneyMarketControl_$2803", "typeString": "contract MoneyMarketControl" } ], @@ -11135,7 +11150,7 @@ "referencedDeclaration": 2169, "src": "3353:3:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6649", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -11146,7 +11161,7 @@ "lValueRequested": false, "memberName": "createMMI", "nodeType": "MemberAccess", - "referencedDeclaration": 6579, + "referencedDeclaration": 6582, "src": "3353:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$", @@ -11300,7 +11315,7 @@ "referencedDeclaration": 2167, "src": "3577:6:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6792", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -11311,7 +11326,7 @@ "lValueRequested": false, "memberName": "linkMMI", "nodeType": "MemberAccess", - "referencedDeclaration": 6782, + "referencedDeclaration": 6785, "src": "3577:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", @@ -11665,7 +11680,7 @@ "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10707, + "referencedDeclaration": 10710, "src": "3207:9:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -11777,7 +11792,7 @@ "parameters": [], "src": "3217:0:10" }, - "scope": 2800, + "scope": 2803, "src": "3065:774:10", "stateMutability": "nonpayable", "virtual": false, @@ -11806,7 +11821,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -11814,10 +11829,10 @@ "id": 2358, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "4986:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -11881,10 +11896,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "5014:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -11899,7 +11914,7 @@ "src": "5014:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -12012,7 +12027,7 @@ "referencedDeclaration": 2359, "src": "5333:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -12020,7 +12035,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -12093,7 +12108,7 @@ "nodeType": "NewExpression", "src": "5152:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { @@ -12101,10 +12116,10 @@ "id": 2370, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, + "referencedDeclaration": 6429, "src": "5156:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -12120,7 +12135,7 @@ "src": "5152:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -12128,7 +12143,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], @@ -12240,7 +12255,7 @@ "referencedDeclaration": 2359, "src": "5373:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -12251,7 +12266,7 @@ "lValueRequested": false, "memberName": "_setUpAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6663, + "referencedDeclaration": 6666, "src": "5373:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", @@ -12575,7 +12590,7 @@ "parameters": [], "src": "4976:0:10" }, - "scope": 2800, + "scope": 2803, "src": "4714:791:10", "stateMutability": "nonpayable", "virtual": false, @@ -12604,7 +12619,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { @@ -12612,10 +12627,10 @@ "id": 2415, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "6652:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -12679,10 +12694,10 @@ "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, + "referencedDeclaration": 6722, "src": "6680:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, @@ -12697,7 +12712,7 @@ "src": "6680:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -12810,7 +12825,7 @@ "referencedDeclaration": 2416, "src": "6999:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -12818,7 +12833,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -12891,7 +12906,7 @@ "nodeType": "NewExpression", "src": "6818:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { @@ -12899,10 +12914,10 @@ "id": 2427, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, + "referencedDeclaration": 6429, "src": "6822:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -12918,7 +12933,7 @@ "src": "6818:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -12926,7 +12941,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], @@ -13006,7 +13021,7 @@ "referencedDeclaration": 2416, "src": "7052:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -13014,7 +13029,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -13164,7 +13179,7 @@ "referencedDeclaration": 2416, "src": "7075:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -13175,7 +13190,7 @@ "lValueRequested": false, "memberName": "_setUpALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6672, + "referencedDeclaration": 6675, "src": "7075:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", @@ -13239,7 +13254,7 @@ "referencedDeclaration": 2416, "src": "7158:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -13250,7 +13265,7 @@ "lValueRequested": false, "memberName": "ALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6654, + "referencedDeclaration": 6657, "src": "7158:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", @@ -13297,7 +13312,7 @@ "referencedDeclaration": 2416, "src": "7180:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -13305,7 +13320,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], @@ -13654,7 +13669,7 @@ "parameters": [], "src": "6642:0:10" }, - "scope": 2800, + "scope": 2803, "src": "6380:876:10", "stateMutability": "nonpayable", "virtual": false, @@ -13753,7 +13768,7 @@ ], "src": "7484:18:10" }, - "scope": 2800, + "scope": 2803, "src": "7443:90:10", "stateMutability": "view", "virtual": false, @@ -14138,7 +14153,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10787, + "referencedDeclaration": 10790, "src": "8113:51:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -14305,7 +14320,7 @@ "parameters": [], "src": "7986:0:10" }, - "scope": 2800, + "scope": 2803, "src": "7862:318:10", "stateMutability": "nonpayable", "virtual": false, @@ -14910,7 +14925,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10804, + "referencedDeclaration": 10807, "src": "8834:55:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -15080,7 +15095,7 @@ "parameters": [], "src": "8643:0:10" }, - "scope": 2800, + "scope": 2803, "src": "8517:467:10", "stateMutability": "nonpayable", "virtual": false, @@ -15276,7 +15291,7 @@ ], "src": "9099:9:10" }, - "scope": 2800, + "scope": 2803, "src": "8990:181:10", "stateMutability": "view", "virtual": false, @@ -15305,7 +15320,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { @@ -15313,10 +15328,10 @@ "id": 2610, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6558, + "referencedDeclaration": 6561, "src": "9840:14:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -15353,10 +15368,10 @@ "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6558, + "referencedDeclaration": 6561, "src": "9862:14:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6558_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, @@ -15371,7 +15386,7 @@ "src": "9862:20:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -15446,7 +15461,7 @@ "referencedDeclaration": 2611, "src": "9945:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -15457,7 +15472,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 6547, + "referencedDeclaration": 6550, "src": "9945:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", @@ -15550,7 +15565,7 @@ "referencedDeclaration": 2611, "src": "10047:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -15561,7 +15576,7 @@ "lValueRequested": false, "memberName": "getUSDCWorthOfART", "nodeType": "MemberAccess", - "referencedDeclaration": 6512, + "referencedDeclaration": 6515, "src": "10047:22:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", @@ -15736,7 +15751,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10804, + "referencedDeclaration": 10807, "src": "10274:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -15879,7 +15894,7 @@ ], "src": "9784:9:10" }, - "scope": 2800, + "scope": 2803, "src": "9679:637:10", "stateMutability": "nonpayable", "virtual": false, @@ -16019,7 +16034,7 @@ ], "src": "10380:6:10" }, - "scope": 2800, + "scope": 2803, "src": "10322:101:10", "stateMutability": "view", "virtual": false, @@ -16220,7 +16235,7 @@ ], "src": "10586:9:10" }, - "scope": 2800, + "scope": 2803, "src": "10486:171:10", "stateMutability": "view", "virtual": false, @@ -16228,14 +16243,14 @@ }, { "body": { - "id": 2705, + "id": 2706, "nodeType": "Block", - "src": "10828:130:10", + "src": "11207:130:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2695, + "id": 2696, "isConstant": false, "isLValue": false, "isPure": false, @@ -16246,26 +16261,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2686, + "id": 2687, "name": "collateralTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2190, - "src": "10838:17:10", + "src": "11217:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2692, + "id": 2693, "indexExpression": { "argumentTypes": null, - "id": 2687, + "id": 2688, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "10856:9:10", + "referencedDeclaration": 2678, + "src": "11235:9:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16276,26 +16291,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10838:28:10", + "src": "11217:28:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2693, + "id": 2694, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2690, + "id": 2691, "name": "_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2681, - "src": "10875:4:10", + "referencedDeclaration": 2682, + "src": "11254:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -16303,33 +16318,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 2689, + "id": 2690, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10867:7:10", + "src": "11246:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2688, + "id": 2689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10867:7:10", + "src": "11246:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2691, + "id": 2692, "isConstant": false, "isLValue": false, "isPure": false, @@ -16337,7 +16352,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10867:13:10", + "src": "11246:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -16349,7 +16364,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10838:43:10", + "src": "11217:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16360,14 +16375,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 2694, + "id": 2695, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10884:1:10", + "src": "11263:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16375,15 +16390,15 @@ }, "value": "0" }, - "src": "10838:47:10", + "src": "11217:47:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2696, + "id": 2697, "nodeType": "ExpressionStatement", - "src": "10838:47:10" + "src": "11217:47:10" }, { "expression": { @@ -16391,12 +16406,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2700, + "id": 2701, "name": "_liquidateValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "10911:15:10", + "referencedDeclaration": 2676, + "src": "11290:15:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16404,12 +16419,12 @@ }, { "argumentTypes": null, - "id": 2701, + "id": 2702, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "10928:9:10", + "referencedDeclaration": 2678, + "src": "11307:9:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16417,12 +16432,12 @@ }, { "argumentTypes": null, - "id": 2702, + "id": 2703, "name": "_liquidator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, - "src": "10939:11:10", + "referencedDeclaration": 2680, + "src": "11318:11:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16446,32 +16461,32 @@ ], "expression": { "argumentTypes": null, - "id": 2697, + "id": 2698, "name": "_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2681, - "src": "10895:4:10", + "referencedDeclaration": 2682, + "src": "11274:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 2699, + "id": 2700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_liquidate", "nodeType": "MemberAccess", - "referencedDeclaration": 6482, - "src": "10895:15:10", + "referencedDeclaration": 6485, + "src": "11274:15:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", "typeString": "function (uint256,address,address) external" } }, - "id": 2703, + "id": 2704, "isConstant": false, "isLValue": false, "isPure": false, @@ -16479,61 +16494,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10895:56:10", + "src": "11274:56:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2704, + "id": 2705, "nodeType": "ExpressionStatement", - "src": "10895:56:10" + "src": "11274:56:10" } ] }, - "documentation": null, + "documentation": { + "id": 2674, + "nodeType": "StructuredDocumentation", + "src": "10659:378:10", + "text": "@notice liquidateTrigger is a protected function that can only be called by a money market instance.\n@param _liquidateValue is the value being liquidated\n@param _borrower is the address of the account being liquidated\n@param _liquidator is the address of the account doing the liquidating\n@param _ALR is the address of the Asko Low Risk token that was used as collateral*" + }, "functionSelector": "2bb0df23", - "id": 2706, + "id": 2707, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2684, + "id": 2685, "modifierName": { "argumentTypes": null, - "id": 2683, + "id": 2684, "name": "onlyMMI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2212, - "src": "10820:7:10", + "src": "11199:7:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "10820:7:10" + "src": "11199:7:10" } ], "name": "liquidateTrigger", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2682, + "id": 2683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2675, + "id": 2676, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10698:23:10", + "scope": 2707, + "src": "11077:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16541,10 +16561,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2674, + "id": 2675, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10698:7:10", + "src": "11077:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16555,13 +16575,13 @@ }, { "constant": false, - "id": 2677, + "id": 2678, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10731:17:10", + "scope": 2707, + "src": "11110:17:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16569,10 +16589,10 @@ "typeString": "address" }, "typeName": { - "id": 2676, + "id": 2677, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10731:7:10", + "src": "11110:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16584,13 +16604,13 @@ }, { "constant": false, - "id": 2679, + "id": 2680, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10758:19:10", + "scope": 2707, + "src": "11137:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16598,10 +16618,10 @@ "typeString": "address" }, "typeName": { - "id": 2678, + "id": 2679, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10758:7:10", + "src": "11137:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16613,28 +16633,28 @@ }, { "constant": false, - "id": 2681, + "id": 2682, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2706, - "src": "10787:19:10", + "scope": 2707, + "src": "11166:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2680, + "id": 2681, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6558, - "src": "10787:14:10", + "referencedDeclaration": 6561, + "src": "11166:14:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6558", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -16642,55 +16662,55 @@ "visibility": "internal" } ], - "src": "10688:124:10" + "src": "11067:124:10" }, "returnParameters": { - "id": 2685, + "id": 2686, "nodeType": "ParameterList", "parameters": [], - "src": "10828:0:10" + "src": "11207:0:10" }, - "scope": 2800, - "src": "10663:295:10", + "scope": 2803, + "src": "11042:295:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 2762, + "id": 2764, "nodeType": "Block", - "src": "11188:536:10", + "src": "12290:536:10", "statements": [ { "assignments": [ - 2722 + 2724 ], "declarations": [ { "constant": false, - "id": 2722, + "id": 2724, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2762, - "src": "11198:25:10", + "scope": 2764, + "src": "12300:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { "contractScope": null, - "id": 2721, + "id": 2723, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, - "src": "11198:20:10", + "referencedDeclaration": 6722, + "src": "12300:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -16698,7 +16718,7 @@ "visibility": "internal" } ], - "id": 2728, + "id": 2730, "initialValue": { "argumentTypes": null, "arguments": [ @@ -16706,26 +16726,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2724, + "id": 2726, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, - "src": "11260:15:10", + "src": "12362:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 2726, + "id": 2728, "indexExpression": { "argumentTypes": null, - "id": 2725, + "id": 2727, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "11276:17:10", + "referencedDeclaration": 2718, + "src": "12378:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16736,7 +16756,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11260:34:10", + "src": "12362:34:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16750,18 +16770,18 @@ "typeString": "address" } ], - "id": 2723, + "id": 2725, "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "11226:20:10", + "referencedDeclaration": 6722, + "src": "12328:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, - "id": 2727, + "id": 2729, "isConstant": false, "isLValue": false, "isPure": false, @@ -16769,30 +16789,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11226:78:10", + "src": "12328:78:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "nodeType": "VariableDeclarationStatement", - "src": "11198:106:10" + "src": "12300:106:10" }, { "assignments": [ - 2730 + 2732 ], "declarations": [ { "constant": false, - "id": 2730, + "id": 2732, "mutability": "mutable", "name": "interestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2762, - "src": "11315:25:10", + "scope": 2764, + "src": "12417:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16800,10 +16820,10 @@ "typeString": "address" }, "typeName": { - "id": 2729, + "id": 2731, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11315:7:10", + "src": "12417:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16814,7 +16834,7 @@ "visibility": "internal" } ], - "id": 2745, + "id": 2747, "initialValue": { "argumentTypes": null, "arguments": [ @@ -16823,12 +16843,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2735, + "id": 2737, "name": "_baseRatePerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2708, - "src": "11401:16:10", + "referencedDeclaration": 2710, + "src": "12503:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16836,12 +16856,12 @@ }, { "argumentTypes": null, - "id": 2736, + "id": 2738, "name": "_multiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "11435:18:10", + "referencedDeclaration": 2712, + "src": "12537:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16849,12 +16869,12 @@ }, { "argumentTypes": null, - "id": 2737, + "id": 2739, "name": "_jumpMultiplierPerYear", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2712, - "src": "11471:22:10", + "referencedDeclaration": 2714, + "src": "12573:22:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16862,12 +16882,12 @@ }, { "argumentTypes": null, - "id": 2738, + "id": 2740, "name": "_optimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2714, - "src": "11511:8:10", + "referencedDeclaration": 2716, + "src": "12613:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16878,14 +16898,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2741, + "id": 2743, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11545:4:10", + "referencedDeclaration": 2724, + "src": "12647:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } } @@ -16893,33 +16913,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } ], - "id": 2740, + "id": 2742, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "11537:7:10", + "src": "12639:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2739, + "id": 2741, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11537:7:10", + "src": "12639:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2742, + "id": 2744, "isConstant": false, "isLValue": false, "isPure": false, @@ -16927,7 +16947,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11537:13:10", + "src": "12639:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -16958,31 +16978,31 @@ "typeString": "address" } ], - "id": 2734, + "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "11364:19:10", + "src": "12466:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6426_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_contract$_JumpRateModelV2_$6429_$", "typeString": "function (uint256,uint256,uint256,uint256,address) returns (contract JumpRateModelV2)" }, "typeName": { "contractScope": null, - "id": 2733, + "id": 2735, "name": "JumpRateModelV2", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6426, - "src": "11368:15:10", + "referencedDeclaration": 6429, + "src": "12470:15:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } }, - "id": 2743, + "id": 2745, "isConstant": false, "isLValue": false, "isPure": false, @@ -16990,10 +17010,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11364:200:10", + "src": "12466:200:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } } @@ -17001,33 +17021,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_JumpRateModelV2_$6426", + "typeIdentifier": "t_contract$_JumpRateModelV2_$6429", "typeString": "contract JumpRateModelV2" } ], - "id": 2732, + "id": 2734, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "11343:7:10", + "src": "12445:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2731, + "id": 2733, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11343:7:10", + "src": "12445:7:10", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 2744, + "id": 2746, "isConstant": false, "isLValue": false, "isPure": false, @@ -17035,7 +17055,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11343:231:10", + "src": "12445:231:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -17043,26 +17063,26 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "11315:259:10" + "src": "12417:259:10" }, { "condition": { "argumentTypes": null, - "id": 2746, + "id": 2748, "name": "_isALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2718, - "src": "11588:6:10", + "referencedDeclaration": 2720, + "src": "12690:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2760, + "id": 2762, "nodeType": "Block", - "src": "11660:58:10", + "src": "12762:58:10", "statements": [ { "expression": { @@ -17070,12 +17090,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2757, + "id": 2759, "name": "interestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "11689:17:10", + "referencedDeclaration": 2732, + "src": "12791:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17091,32 +17111,32 @@ ], "expression": { "argumentTypes": null, - "id": 2754, + "id": 2756, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11674:4:10", + "referencedDeclaration": 2724, + "src": "12776:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2756, + "id": 2758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "updateAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6708, - "src": "11674:14:10", + "referencedDeclaration": 6711, + "src": "12776:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2758, + "id": 2760, "isConstant": false, "isLValue": false, "isPure": false, @@ -17124,26 +17144,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11674:33:10", + "src": "12776:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2759, + "id": 2761, "nodeType": "ExpressionStatement", - "src": "11674:33:10" + "src": "12776:33:10" } ] }, - "id": 2761, + "id": 2763, "nodeType": "IfStatement", - "src": "11584:134:10", + "src": "12686:134:10", "trueBody": { - "id": 2753, + "id": 2755, "nodeType": "Block", - "src": "11596:58:10", + "src": "12698:58:10", "statements": [ { "expression": { @@ -17151,12 +17171,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2750, + "id": 2752, "name": "interestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "11625:17:10", + "referencedDeclaration": 2732, + "src": "12727:17:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17172,32 +17192,32 @@ ], "expression": { "argumentTypes": null, - "id": 2747, + "id": 2749, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "11610:4:10", + "referencedDeclaration": 2724, + "src": "12712:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2749, + "id": 2751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "updateALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6703, - "src": "11610:14:10", + "referencedDeclaration": 6706, + "src": "12712:14:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 2751, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, @@ -17205,25 +17225,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11610:33:10", + "src": "12712:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2752, + "id": 2754, "nodeType": "ExpressionStatement", - "src": "11610:33:10" + "src": "12712:33:10" } ] } } ] }, - "documentation": null, + "documentation": { + "id": 2708, + "nodeType": "StructuredDocumentation", + "src": "11339:722:10", + "text": "@notice updateIRM allows the admin of this contract to update a AskoRiskToken's Interest Rate Model\n@param _baseRatePerYear The approximate target base APR, as a mantissa (scaled by 1e18)\n@param _multiplierPerYear The rate of increase in interest rate wrt utilization (scaled by 1e18)\n@param _jumpMultiplierPerYear The multiplierPerBlock after hitting a specified utilization point\n@param _optimal The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)\n@param _assetContractAdd is the contract address of the asset whos MoneyMarketInstance is being set up\n@param _isALR is a bool representing whether or not the Asko risk token being updated is a ALR or not*" + }, "functionSelector": "35424d2c", - "id": 2763, + "id": 2765, "implemented": true, "kind": "function", "modifiers": [], @@ -17231,18 +17256,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2719, + "id": 2721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2708, + "id": 2710, "mutability": "mutable", "name": "_baseRatePerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "10992:24:10", + "scope": 2765, + "src": "12094:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17250,10 +17275,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2707, + "id": 2709, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10992:7:10", + "src": "12094:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17264,13 +17289,13 @@ }, { "constant": false, - "id": 2710, + "id": 2712, "mutability": "mutable", "name": "_multiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11026:26:10", + "scope": 2765, + "src": "12128:26:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17278,10 +17303,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2709, + "id": 2711, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11026:7:10", + "src": "12128:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17292,13 +17317,13 @@ }, { "constant": false, - "id": 2712, + "id": 2714, "mutability": "mutable", "name": "_jumpMultiplierPerYear", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11062:30:10", + "scope": 2765, + "src": "12164:30:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17306,10 +17331,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2711, + "id": 2713, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11062:7:10", + "src": "12164:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17320,13 +17345,13 @@ }, { "constant": false, - "id": 2714, + "id": 2716, "mutability": "mutable", "name": "_optimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11102:16:10", + "scope": 2765, + "src": "12204:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17334,10 +17359,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2713, + "id": 2715, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11102:7:10", + "src": "12204:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17348,13 +17373,13 @@ }, { "constant": false, - "id": 2716, + "id": 2718, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11128:25:10", + "scope": 2765, + "src": "12230:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17362,10 +17387,10 @@ "typeString": "address" }, "typeName": { - "id": 2715, + "id": 2717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11128:7:10", + "src": "12230:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17377,13 +17402,13 @@ }, { "constant": false, - "id": 2718, + "id": 2720, "mutability": "mutable", "name": "_isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2763, - "src": "11163:11:10", + "scope": 2765, + "src": "12265:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17391,10 +17416,10 @@ "typeString": "bool" }, "typeName": { - "id": 2717, + "id": 2719, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11163:4:10", + "src": "12265:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17404,55 +17429,55 @@ "visibility": "internal" } ], - "src": "10982:198:10" + "src": "12084:198:10" }, "returnParameters": { - "id": 2720, + "id": 2722, "nodeType": "ParameterList", "parameters": [], - "src": "11188:0:10" + "src": "12290:0:10" }, - "scope": 2800, - "src": "10964:760:10", + "scope": 2803, + "src": "12066:760:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 2798, + "id": 2801, "nodeType": "Block", - "src": "11838:231:10", + "src": "13280:231:10", "statements": [ { "assignments": [ - 2775 + 2778 ], "declarations": [ { "constant": false, - "id": 2775, + "id": 2778, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2798, - "src": "11848:25:10", + "scope": 2801, + "src": "13290:25:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" }, "typeName": { "contractScope": null, - "id": 2774, + "id": 2777, "name": "MoneyMarketInstanceI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6719, - "src": "11848:20:10", + "referencedDeclaration": 6722, + "src": "13290:20:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, @@ -17460,7 +17485,7 @@ "visibility": "internal" } ], - "id": 2781, + "id": 2784, "initialValue": { "argumentTypes": null, "arguments": [ @@ -17468,26 +17493,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2777, + "id": 2780, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, - "src": "11910:15:10", + "src": "13352:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 2779, + "id": 2782, "indexExpression": { "argumentTypes": null, - "id": 2778, + "id": 2781, "name": "_asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2769, - "src": "11926:6:10", + "referencedDeclaration": 2772, + "src": "13368:6:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17498,7 +17523,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11910:23:10", + "src": "13352:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17512,18 +17537,18 @@ "typeString": "address" } ], - "id": 2776, + "id": 2779, "name": "MoneyMarketInstanceI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "11876:20:10", + "referencedDeclaration": 6722, + "src": "13318:20:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6719_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketInstanceI_$6722_$", "typeString": "type(contract MoneyMarketInstanceI)" } }, - "id": 2780, + "id": 2783, "isConstant": false, "isLValue": false, "isPure": false, @@ -17531,34 +17556,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11876:67:10", + "src": "13318:67:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, "nodeType": "VariableDeclarationStatement", - "src": "11848:95:10" + "src": "13290:95:10" }, { "condition": { "argumentTypes": null, - "id": 2782, + "id": 2785, "name": "_isALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "11957:6:10", + "referencedDeclaration": 2770, + "src": "13399:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2796, + "id": 2799, "nodeType": "Block", - "src": "12017:46:10", + "src": "13459:46:10", "statements": [ { "expression": { @@ -17566,12 +17591,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2793, + "id": 2796, "name": "_newRR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "12045:6:10", + "referencedDeclaration": 2768, + "src": "13487:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17587,32 +17612,32 @@ ], "expression": { "argumentTypes": null, - "id": 2790, + "id": 2793, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "12031:4:10", + "referencedDeclaration": 2778, + "src": "13473:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2792, + "id": 2795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setRRAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 6718, - "src": "12031:13:10", + "referencedDeclaration": 6721, + "src": "13473:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 2794, + "id": 2797, "isConstant": false, "isLValue": false, "isPure": false, @@ -17620,26 +17645,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12031:21:10", + "src": "13473:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2795, + "id": 2798, "nodeType": "ExpressionStatement", - "src": "12031:21:10" + "src": "13473:21:10" } ] }, - "id": 2797, + "id": 2800, "nodeType": "IfStatement", - "src": "11953:110:10", + "src": "13395:110:10", "trueBody": { - "id": 2789, + "id": 2792, "nodeType": "Block", - "src": "11965:46:10", + "src": "13407:46:10", "statements": [ { "expression": { @@ -17647,12 +17672,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2786, + "id": 2789, "name": "_newRR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "11993:6:10", + "referencedDeclaration": 2768, + "src": "13435:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17668,32 +17693,32 @@ ], "expression": { "argumentTypes": null, - "id": 2783, + "id": 2786, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2775, - "src": "11979:4:10", + "referencedDeclaration": 2778, + "src": "13421:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6719", + "typeIdentifier": "t_contract$_MoneyMarketInstanceI_$6722", "typeString": "contract MoneyMarketInstanceI" } }, - "id": 2785, + "id": 2788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setRRALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6713, - "src": "11979:13:10", + "referencedDeclaration": 6716, + "src": "13421:13:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 2787, + "id": 2790, "isConstant": false, "isLValue": false, "isPure": false, @@ -17701,64 +17726,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11979:21:10", + "src": "13421:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2788, + "id": 2791, "nodeType": "ExpressionStatement", - "src": "11979:21:10" + "src": "13421:21:10" } ] } } ] }, - "documentation": null, + "documentation": { + "id": 2766, + "nodeType": "StructuredDocumentation", + "src": "12828:339:10", + "text": "@notice updateRR allows the admin to update the reserve ratio for an Asko Risk Token \n@param _newRR is the new reserve ratio value(scaled by 1e18)\n@param _isALR is a bool representing whether of not the Reserve ratio being updated iis an ALR or not\n@param _asset is the address of the asset(token) whos ART tokens are being updated*" + }, "functionSelector": "f189d7a3", - "id": 2799, + "id": 2802, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2772, + "id": 2775, "modifierName": { "argumentTypes": null, - "id": 2771, + "id": 2774, "name": "onlyMMI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2212, - "src": "11830:7:10", + "src": "13272:7:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "11830:7:10" + "src": "13272:7:10" } ], "name": "updateRR", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2770, + "id": 2773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2765, + "id": 2768, "mutability": "mutable", "name": "_newRR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11757:14:10", + "scope": 2802, + "src": "13199:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17766,10 +17796,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2764, + "id": 2767, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11757:7:10", + "src": "13199:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17780,13 +17810,13 @@ }, { "constant": false, - "id": 2767, + "id": 2770, "mutability": "mutable", "name": "_isALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11781:11:10", + "scope": 2802, + "src": "13223:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17794,10 +17824,10 @@ "typeString": "bool" }, "typeName": { - "id": 2766, + "id": 2769, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11781:4:10", + "src": "13223:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17808,13 +17838,13 @@ }, { "constant": false, - "id": 2769, + "id": 2772, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2799, - "src": "11802:14:10", + "scope": 2802, + "src": "13244:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17822,10 +17852,10 @@ "typeString": "address" }, "typeName": { - "id": 2768, + "id": 2771, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11802:7:10", + "src": "13244:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17836,26 +17866,26 @@ "visibility": "internal" } ], - "src": "11747:75:10" + "src": "13189:75:10" }, "returnParameters": { - "id": 2773, + "id": 2776, "nodeType": "ParameterList", "parameters": [], - "src": "11838:0:10" + "src": "13280:0:10" }, - "scope": 2800, - "src": "11730:339:10", + "scope": 2803, + "src": "13172:339:10", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2801, - "src": "854:11217:10" + "scope": 2804, + "src": "854:12659:10" } ], - "src": "0:12072:10" + "src": "0:13514:10" }, "compiler": { "name": "solc", @@ -17948,8 +17978,8 @@ } }, "links": {}, - "address": "0x618e07DECcCf6a4B313994CAD4cfe48a80a013cC", - "transactionHash": "0x4446d76a2e9c30c9bb28b66d365bc8061b5ca8a1565ccb865ec888eae52b3cd3" + "address": "0x80Eeab912E21bAB6c39f102958eDB6966b9a20f4", + "transactionHash": "0x7c336da45ea6b7e58fd8b99ee00f9522f7dd817db355ed7388e8ee0574a18598" }, "1607622663952": { "events": { @@ -18039,10 +18069,99 @@ "links": {}, "address": "0xad158eb627229aa3Ad31C8C201bD8E99cfCD24E7", "transactionHash": "0x54c2f7db16722e94afc439057af0e10706638a53cd3cdb6aabfc1844fc0c98f7" + }, + "1607733595468": { + "events": { + "0x1441a6afff6cbd4a06d0416e0d93d0fa8d5fbe9c7c5d1df49b7f93d72add0282": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "interestRateModel", + "type": "address" + } + ], + "name": "AHRcreated", + "type": "event" + }, + "0x450572808a85306efa02e194c62463c8bb5a4e6b55dc35e3732ed63a35d27ce7": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "interestRateModel", + "type": "address" + } + ], + "name": "ALRcreated", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + "0x1f39f253506bf384ce653a878c22225914e6a145c0e77c978fbe8d578024a64e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "moneyMarket", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "WhiteListed", + "type": "event" + } + }, + "links": {}, + "address": "0x2CE9799CA2c4e8D845b90c974B8B92C805375975", + "transactionHash": "0xa141be6b3a50ffa4e675ceb2fd6fc5987af2ce5a9107979e0f22e148a415b951" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.099Z", + "updatedAt": "2020-12-12T01:26:53.478Z", "networkType": "ethereum", "devdoc": { "methods": { @@ -18060,6 +18179,14 @@ "getAssets()": { "details": "this can be used to loop through and retreive each assets MoneyMarket by the front end*" }, + "liquidateTrigger(uint256,address,address,address)": { + "params": { + "_ALR": "is the address of the Asko Low Risk token that was used as collateral*", + "_borrower": "is the address of the account being liquidated", + "_liquidateValue": "is the value being liquidated", + "_liquidator": "is the address of the account doing the liquidating" + } + }, "owner()": { "details": "Returns the address of the current owner." }, @@ -18107,6 +18234,23 @@ "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." }, + "updateIRM(uint256,uint256,uint256,uint256,address,bool)": { + "params": { + "_assetContractAdd": "is the contract address of the asset whos MoneyMarketInstance is being set up", + "_baseRatePerYear": "The approximate target base APR, as a mantissa (scaled by 1e18)", + "_isALR": "is a bool representing whether or not the Asko risk token being updated is a ALR or not*", + "_jumpMultiplierPerYear": "The multiplierPerBlock after hitting a specified utilization point", + "_multiplierPerYear": "The rate of increase in interest rate wrt utilization (scaled by 1e18)", + "_optimal": "The utilization point at which the jump multiplier is applied(Refered to as the Kink in the InterestRateModel)" + } + }, + "updateRR(uint256,bool,address)": { + "params": { + "_asset": "is the address of the asset(token) whos ART tokens are being updated*", + "_isALR": "is a bool representing whether of not the Reserve ratio being updated iis an ALR or not", + "_newRR": "is the new reserve ratio value(scaled by 1e18)" + } + }, "whitelistAsset(address,string,string)": { "params": { "_assetContractAdd": "is the address of the ERC20 asset being whitelisted", @@ -18125,6 +18269,9 @@ "getAssets()": { "notice": "getAsset returns an array of all assets whitelisted on the platform." }, + "liquidateTrigger(uint256,address,address,address)": { + "notice": "liquidateTrigger is a protected function that can only be called by a money market instance." + }, "setUpAHR(uint256,uint256,uint256,uint256,uint256,uint256,address)": { "notice": "setUpAHR is used to set up a MoneyMarketInstances Asko High Risk Token as well as its InterestRateModel" }, @@ -18137,6 +18284,12 @@ "trackCollateralUp(address,address,uint256)": { "notice": "trackCollateralUp is an external function used bya MMI to track collateral amounts globally" }, + "updateIRM(uint256,uint256,uint256,uint256,address,bool)": { + "notice": "updateIRM allows the admin of this contract to update a AskoRiskToken's Interest Rate Model" + }, + "updateRR(uint256,bool,address)": { + "notice": "updateRR allows the admin to update the reserve ratio for an Asko Risk Token " + }, "viewCollateral(address,address)": { "notice": "tells you the USDC value of their locked ALR*" }, diff --git a/AskoLend-contracts/build/contracts/MoneyMarketFactory.json b/AskoLend-contracts/build/contracts/MoneyMarketFactory.json index c76f3505..d868431d 100644 --- a/AskoLend-contracts/build/contracts/MoneyMarketFactory.json +++ b/AskoLend-contracts/build/contracts/MoneyMarketFactory.json @@ -99,26 +99,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"createMMI\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\",\"_owner\":\"is the address that will own this contract(The AskoDAO)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"notice\":\"the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\"}},\"notice\":\"The MoneyMarketFactory contract is designed to produce individual MoneyMarketInstance contracts This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol\":\"MoneyMarketFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol\":{\"keccak256\":\"0x603c4ac0ab6e8a08e08056944b1cfdad77369b825bd8e76147dbc23bc4eb202b\",\"urls\":[\"bzz-raw://fa1b0662befa45732e213ca014024c3b893565d229d6f28572fa202b05de8495\",\"dweb:/ipfs/QmYbayX7hnHHVV5gJkrhhFwyg5Uv3R72MhdtSDuruSCtzy\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]}},\"version\":1}", - "bytecode": "0x608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b6136da806100796000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b578063cc83954d1461007f578063f2fde38b146101d0575b600080fd5b6100596101f6565b005b6100636102aa565b604080516001600160a01b039092168252519081900360200190f35b610063600480360360c081101561009557600080fd5b6001600160a01b03823581169260208101358216926040820135831692606083013516919081019060a081016080820135600160201b8111156100d757600080fd5b8201836020820111156100e957600080fd5b803590602001918460018302840111600160201b8311171561010a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561015c57600080fd5b82018360208201111561016e57600080fd5b803590602001918460018302840111600160201b8311171561018f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102b9945050505050565b610059600480360360208110156101e657600080fd5b50356001600160a01b03166103f9565b6101fe610503565b6000546001600160a01b03908116911614610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000808787878787876040516102ce90610507565b6001600160a01b0380881682528681166020808401919091528682166040840152908516606083015260c0608083018181528551918401919091528451909160a084019160e085019187019080838360005b83811015610338578181015183820152602001610320565b50505050905090810190601f1680156103655780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610398578181015183820152602001610380565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f0801580156103ec573d6000803e3d6000fd5b5098975050505050505050565b610401610503565b6000546001600160a01b03908116911614610463576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104a85760405162461bcd60e51b815260040180806020018281038252602681526020018061367f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61316a806105158339019056fe60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a264697066735822122036a573394eb997a115e075f7a22043ebccba1c817c9cd8ee6ffbe93610b2691164736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220510c2e6399d37898f7b5245ea65875ef4d7fe844dde252cae023b66da97a33c764736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b578063cc83954d1461007f578063f2fde38b146101d0575b600080fd5b6100596101f6565b005b6100636102aa565b604080516001600160a01b039092168252519081900360200190f35b610063600480360360c081101561009557600080fd5b6001600160a01b03823581169260208101358216926040820135831692606083013516919081019060a081016080820135600160201b8111156100d757600080fd5b8201836020820111156100e957600080fd5b803590602001918460018302840111600160201b8311171561010a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561015c57600080fd5b82018360208201111561016e57600080fd5b803590602001918460018302840111600160201b8311171561018f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102b9945050505050565b610059600480360360208110156101e657600080fd5b50356001600160a01b03166103f9565b6101fe610503565b6000546001600160a01b03908116911614610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000808787878787876040516102ce90610507565b6001600160a01b0380881682528681166020808401919091528682166040840152908516606083015260c0608083018181528551918401919091528451909160a084019160e085019187019080838360005b83811015610338578181015183820152602001610320565b50505050905090810190601f1680156103655780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610398578181015183820152602001610380565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f0801580156103ec573d6000803e3d6000fd5b5098975050505050505050565b610401610503565b6000546001600160a01b03908116911614610463576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104a85760405162461bcd60e51b815260040180806020018281038252602681526020018061367f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61316a806105158339019056fe60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a264697066735822122036a573394eb997a115e075f7a22043ebccba1c817c9cd8ee6ffbe93610b2691164736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220510c2e6399d37898f7b5245ea65875ef4d7fe844dde252cae023b66da97a33c764736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"createMMI\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\",\"_owner\":\"is the address that will own this contract(The AskoDAO)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"notice\":\"the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\"}},\"notice\":\"The MoneyMarketFactory contract is designed to produce individual MoneyMarketInstance contracts This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol\":\"MoneyMarketFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol\":{\"keccak256\":\"0x603c4ac0ab6e8a08e08056944b1cfdad77369b825bd8e76147dbc23bc4eb202b\",\"urls\":[\"bzz-raw://fa1b0662befa45732e213ca014024c3b893565d229d6f28572fa202b05de8495\",\"dweb:/ipfs/QmYbayX7hnHHVV5gJkrhhFwyg5Uv3R72MhdtSDuruSCtzy\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b6136da806100796000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b578063cc83954d1461007f578063f2fde38b146101d0575b600080fd5b6100596101f6565b005b6100636102aa565b604080516001600160a01b039092168252519081900360200190f35b610063600480360360c081101561009557600080fd5b6001600160a01b03823581169260208101358216926040820135831692606083013516919081019060a081016080820135600160201b8111156100d757600080fd5b8201836020820111156100e957600080fd5b803590602001918460018302840111600160201b8311171561010a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561015c57600080fd5b82018360208201111561016e57600080fd5b803590602001918460018302840111600160201b8311171561018f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102b9945050505050565b610059600480360360208110156101e657600080fd5b50356001600160a01b03166103f9565b6101fe610503565b6000546001600160a01b03908116911614610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000808787878787876040516102ce90610507565b6001600160a01b0380881682528681166020808401919091528682166040840152908516606083015260c0608083018181528551918401919091528451909160a084019160e085019187019080838360005b83811015610338578181015183820152602001610320565b50505050905090810190601f1680156103655780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610398578181015183820152602001610380565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f0801580156103ec573d6000803e3d6000fd5b5098975050505050505050565b610401610503565b6000546001600160a01b03908116911614610463576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104a85760405162461bcd60e51b815260040180806020018281038252602681526020018061367f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61316a806105158339019056fe60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a26469706673582212206dda51aecdf456d4fddda12f758fe678bff25457ed603675e7ea266fcd749ad564736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220ef6a11c12598d467cf235fb36ece33019faf40df95c261dbd4b51f45d608ead764736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b578063cc83954d1461007f578063f2fde38b146101d0575b600080fd5b6100596101f6565b005b6100636102aa565b604080516001600160a01b039092168252519081900360200190f35b610063600480360360c081101561009557600080fd5b6001600160a01b03823581169260208101358216926040820135831692606083013516919081019060a081016080820135600160201b8111156100d757600080fd5b8201836020820111156100e957600080fd5b803590602001918460018302840111600160201b8311171561010a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561015c57600080fd5b82018360208201111561016e57600080fd5b803590602001918460018302840111600160201b8311171561018f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102b9945050505050565b610059600480360360208110156101e657600080fd5b50356001600160a01b03166103f9565b6101fe610503565b6000546001600160a01b03908116911614610260576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000808787878787876040516102ce90610507565b6001600160a01b0380881682528681166020808401919091528682166040840152908516606083015260c0608083018181528551918401919091528451909160a084019160e085019187019080838360005b83811015610338578181015183820152602001610320565b50505050905090810190601f1680156103655780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610398578181015183820152602001610380565b50505050905090810190601f1680156103c55780820380516001836020036101000a031916815260200191505b5098505050505050505050604051809103906000f0801580156103ec573d6000803e3d6000fd5b5098975050505050505050565b610401610503565b6000546001600160a01b03908116911614610463576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104a85760405162461bcd60e51b815260040180806020018281038252602681526020018061367f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61316a806105158339019056fe60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a26469706673582212206dda51aecdf456d4fddda12f758fe678bff25457ed603675e7ea266fcd749ad564736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220ef6a11c12598d467cf235fb36ece33019faf40df95c261dbd4b51f45d608ead764736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "567:1141:11:-:0;;;865:17:38;885:12;-1:-1:-1;;;;;885:10:38;:12;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;831:159;567:1141:11;;590:104:37;677:10;590:104;:::o;567:1141:11:-;;;;;;;", - "deployedSourceMap": "567:1141:11:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;567:1141:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1689:145:38;;;:::i;:::-;;1066:77;;;:::i;:::-;;;;-1:-1:-1;;;;;1066:77:38;;;;;;;;;;;;;;1164:542:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;1164:542:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1164:542:11;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1164:542:11;;;;;;;;-1:-1:-1;1164:542:11;;-1:-1:-1;;;;;11:28;;8:2;;;52:1;49;42:12;8:2;1164:542:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1164:542:11;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1164:542:11;;-1:-1:-1;1164:542:11;;-1:-1:-1;;;;;1164:542:11:i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;1689:145::-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;1066:77::-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;1164:542:11:-;1389:7;1408:19;1492:17;1527:14;1559:6;1583:5;1606:10;1634:12;1451:209;;;;;:::i;:::-;-1:-1:-1;;;;;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1451:209:11;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1408:262:11;1164:542;-1:-1:-1;;;;;;;;1164:542:11:o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;590:104:37:-;677:10;590:104;:::o;567:1141:11:-;;;;;;;;:::o", + "sourceMap": "567:1141:11:-:0;;;882:17:38;902:12;-1:-1:-1;;;;;902:10:38;:12;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;848:159;567:1141:11;;598:104:37;685:10;598:104;:::o;567:1141:11:-;;;;;;;", + "deployedSourceMap": "567:1141:11:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;567:1141:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1706:145:38;;;:::i;:::-;;1083:77;;;:::i;:::-;;;;-1:-1:-1;;;;;1083:77:38;;;;;;;;;;;;;;1164:542:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;1164:542:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1164:542:11;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1164:542:11;;;;;;;;-1:-1:-1;1164:542:11;;-1:-1:-1;;;;;11:28;;8:2;;;52:1;49;42:12;8:2;1164:542:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1164:542:11;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1164:542:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1164:542:11;;-1:-1:-1;1164:542:11;;-1:-1:-1;;;;;1164:542:11:i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;1706:145::-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;1083:77::-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;1164:542:11:-;1389:7;1408:19;1492:17;1527:14;1559:6;1583:5;1606:10;1634:12;1451:209;;;;;:::i;:::-;-1:-1:-1;;;;;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1451:209:11;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1451:209:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;1408:262:11;1164:542;-1:-1:-1;;;;;;;;1164:542:11:o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;598:104:37:-;685:10;598:104;:::o;567:1141:11:-;;;;;;;;:::o", "source": "pragma solidity ^0.6.0;\n\nimport \"./MoneyMarketInstance.sol\";\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketFactory\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe MoneyMarketFactory contract is designed to produce individual MoneyMarketInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol\n**/\n\ncontract MoneyMarketFactory is Ownable {\n /**\n@notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _owner is the address that will own this contract(The AskoDAO)\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\n before creating each token.\n**/\n function createMMI(\n address _assetContractAdd,\n address _oracleFactory,\n address _owner,\n address _ARTF,\n string memory _assetName,\n string memory _assetSymbol\n ) public returns (address) {\n address _MMinstance = address(\n new MoneyMarketInstance(\n _assetContractAdd,\n _oracleFactory,\n _owner,\n _ARTF,\n _assetName,\n _assetSymbol\n )\n );\n\n return _MMinstance;\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", "exportedSymbols": { "MoneyMarketFactory": [ - 2840 + 2847 ] }, - "id": 2841, + "id": 2848, "nodeType": "SourceUnit", "nodes": [ { - "id": 2798, + "id": 2805, "literals": [ "solidity", "^", @@ -129,12 +129,12 @@ "src": "0:23:11" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "file": "./MoneyMarketInstance.sol", - "id": 2799, + "id": 2806, "nodeType": "ImportDirective", - "scope": 2841, - "sourceUnit": 4046, + "scope": 2848, + "sourceUnit": 4053, "src": "25:35:11", "symbolAliases": [], "unitAlias": "" @@ -142,10 +142,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 2800, + "id": 2807, "nodeType": "ImportDirective", - "scope": 2841, - "sourceUnit": 10755, + "scope": 2848, + "sourceUnit": 10762, "src": "61:60:11", "symbolAliases": [], "unitAlias": "" @@ -157,62 +157,62 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2802, + "id": 2809, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10754, + "referencedDeclaration": 10761, "src": "598:7:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10754", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 2803, + "id": 2810, "nodeType": "InheritanceSpecifier", "src": "598:7:11" } ], "contractDependencies": [ - 4045, - 10645, - 10754 + 4052, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 2801, + "id": 2808, "nodeType": "StructuredDocumentation", "src": "369:196:11", "text": "The MoneyMarketFactory contract is designed to produce individual MoneyMarketInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 2840, + "id": 2847, "linearizedBaseContracts": [ - 2840, - 10754, - 10645 + 2847, + 10761, + 10652 ], "name": "MoneyMarketFactory", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2838, + "id": 2845, "nodeType": "Block", "src": "1398:308:11", "statements": [ { "assignments": [ - 2822 + 2829 ], "declarations": [ { "constant": false, - "id": 2822, + "id": 2829, "mutability": "mutable", "name": "_MMinstance", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2838, + "scope": 2845, "src": "1408:19:11", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 2821, + "id": 2828, "name": "address", "nodeType": "ElementaryTypeName", "src": "1408:7:11", @@ -235,7 +235,7 @@ "visibility": "internal" } ], - "id": 2835, + "id": 2842, "initialValue": { "argumentTypes": null, "arguments": [ @@ -244,11 +244,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2827, + "id": 2834, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2806, + "referencedDeclaration": 2813, "src": "1492:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -257,11 +257,11 @@ }, { "argumentTypes": null, - "id": 2828, + "id": 2835, "name": "_oracleFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2808, + "referencedDeclaration": 2815, "src": "1527:14:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -270,11 +270,11 @@ }, { "argumentTypes": null, - "id": 2829, + "id": 2836, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2810, + "referencedDeclaration": 2817, "src": "1559:6:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -283,11 +283,11 @@ }, { "argumentTypes": null, - "id": 2830, + "id": 2837, "name": "_ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2812, + "referencedDeclaration": 2819, "src": "1583:5:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -296,11 +296,11 @@ }, { "argumentTypes": null, - "id": 2831, + "id": 2838, "name": "_assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2814, + "referencedDeclaration": 2821, "src": "1606:10:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -309,11 +309,11 @@ }, { "argumentTypes": null, - "id": 2832, + "id": 2839, "name": "_assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2816, + "referencedDeclaration": 2823, "src": "1634:12:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -348,7 +348,7 @@ "typeString": "string memory" } ], - "id": 2826, + "id": 2833, "isConstant": false, "isLValue": false, "isPure": false, @@ -356,23 +356,23 @@ "nodeType": "NewExpression", "src": "1451:23:11", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MoneyMarketInstance_$4045_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MoneyMarketInstance_$4052_$", "typeString": "function (address,address,address,address,string memory,string memory) returns (contract MoneyMarketInstance)" }, "typeName": { "contractScope": null, - "id": 2825, + "id": 2832, "name": "MoneyMarketInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4045, + "referencedDeclaration": 4052, "src": "1455:19:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } } }, - "id": 2833, + "id": 2840, "isConstant": false, "isLValue": false, "isPure": false, @@ -383,7 +383,7 @@ "src": "1451:209:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } } @@ -391,11 +391,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } ], - "id": 2824, + "id": 2831, "isConstant": false, "isLValue": false, "isPure": true, @@ -407,7 +407,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 2823, + "id": 2830, "name": "address", "nodeType": "ElementaryTypeName", "src": "1430:7:11", @@ -417,7 +417,7 @@ } } }, - "id": 2834, + "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, @@ -438,32 +438,32 @@ { "expression": { "argumentTypes": null, - "id": 2836, + "id": 2843, "name": "_MMinstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2822, + "referencedDeclaration": 2829, "src": "1688:11:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 2820, - "id": 2837, + "functionReturnParameters": 2827, + "id": 2844, "nodeType": "Return", "src": "1681:18:11" } ] }, "documentation": { - "id": 2804, + "id": 2811, "nodeType": "StructuredDocumentation", "src": "612:547:11", "text": "@notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _owner is the address that will own this contract(The AskoDAO)\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, "functionSelector": "cc83954d", - "id": 2839, + "id": 2846, "implemented": true, "kind": "function", "modifiers": [], @@ -471,17 +471,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2817, + "id": 2824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2806, + "id": 2813, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1192:25:11", "stateVariable": false, "storageLocation": "default", @@ -490,7 +490,7 @@ "typeString": "address" }, "typeName": { - "id": 2805, + "id": 2812, "name": "address", "nodeType": "ElementaryTypeName", "src": "1192:7:11", @@ -505,12 +505,12 @@ }, { "constant": false, - "id": 2808, + "id": 2815, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1227:22:11", "stateVariable": false, "storageLocation": "default", @@ -519,7 +519,7 @@ "typeString": "address" }, "typeName": { - "id": 2807, + "id": 2814, "name": "address", "nodeType": "ElementaryTypeName", "src": "1227:7:11", @@ -534,12 +534,12 @@ }, { "constant": false, - "id": 2810, + "id": 2817, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1259:14:11", "stateVariable": false, "storageLocation": "default", @@ -548,7 +548,7 @@ "typeString": "address" }, "typeName": { - "id": 2809, + "id": 2816, "name": "address", "nodeType": "ElementaryTypeName", "src": "1259:7:11", @@ -563,12 +563,12 @@ }, { "constant": false, - "id": 2812, + "id": 2819, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1283:13:11", "stateVariable": false, "storageLocation": "default", @@ -577,7 +577,7 @@ "typeString": "address" }, "typeName": { - "id": 2811, + "id": 2818, "name": "address", "nodeType": "ElementaryTypeName", "src": "1283:7:11", @@ -592,12 +592,12 @@ }, { "constant": false, - "id": 2814, + "id": 2821, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1306:24:11", "stateVariable": false, "storageLocation": "memory", @@ -606,7 +606,7 @@ "typeString": "string" }, "typeName": { - "id": 2813, + "id": 2820, "name": "string", "nodeType": "ElementaryTypeName", "src": "1306:6:11", @@ -620,12 +620,12 @@ }, { "constant": false, - "id": 2816, + "id": 2823, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1340:26:11", "stateVariable": false, "storageLocation": "memory", @@ -634,7 +634,7 @@ "typeString": "string" }, "typeName": { - "id": 2815, + "id": 2822, "name": "string", "nodeType": "ElementaryTypeName", "src": "1340:6:11", @@ -650,17 +650,17 @@ "src": "1182:190:11" }, "returnParameters": { - "id": 2820, + "id": 2827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2819, + "id": 2826, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1389:7:11", "stateVariable": false, "storageLocation": "default", @@ -669,7 +669,7 @@ "typeString": "address" }, "typeName": { - "id": 2818, + "id": 2825, "name": "address", "nodeType": "ElementaryTypeName", "src": "1389:7:11", @@ -685,31 +685,31 @@ ], "src": "1388:9:11" }, - "scope": 2840, + "scope": 2847, "src": "1164:542:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2841, + "scope": 2848, "src": "567:1141:11" } ], "src": "0:1709:11" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketFactory.sol", "exportedSymbols": { "MoneyMarketFactory": [ - 2840 + 2847 ] }, - "id": 2841, + "id": 2848, "nodeType": "SourceUnit", "nodes": [ { - "id": 2798, + "id": 2805, "literals": [ "solidity", "^", @@ -720,12 +720,12 @@ "src": "0:23:11" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "file": "./MoneyMarketInstance.sol", - "id": 2799, + "id": 2806, "nodeType": "ImportDirective", - "scope": 2841, - "sourceUnit": 4046, + "scope": 2848, + "sourceUnit": 4053, "src": "25:35:11", "symbolAliases": [], "unitAlias": "" @@ -733,10 +733,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 2800, + "id": 2807, "nodeType": "ImportDirective", - "scope": 2841, - "sourceUnit": 10755, + "scope": 2848, + "sourceUnit": 10762, "src": "61:60:11", "symbolAliases": [], "unitAlias": "" @@ -748,62 +748,62 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2802, + "id": 2809, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10754, + "referencedDeclaration": 10761, "src": "598:7:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10754", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 2803, + "id": 2810, "nodeType": "InheritanceSpecifier", "src": "598:7:11" } ], "contractDependencies": [ - 4045, - 10645, - 10754 + 4052, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 2801, + "id": 2808, "nodeType": "StructuredDocumentation", "src": "369:196:11", "text": "The MoneyMarketFactory contract is designed to produce individual MoneyMarketInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 2840, + "id": 2847, "linearizedBaseContracts": [ - 2840, - 10754, - 10645 + 2847, + 10761, + 10652 ], "name": "MoneyMarketFactory", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2838, + "id": 2845, "nodeType": "Block", "src": "1398:308:11", "statements": [ { "assignments": [ - 2822 + 2829 ], "declarations": [ { "constant": false, - "id": 2822, + "id": 2829, "mutability": "mutable", "name": "_MMinstance", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2838, + "scope": 2845, "src": "1408:19:11", "stateVariable": false, "storageLocation": "default", @@ -812,7 +812,7 @@ "typeString": "address" }, "typeName": { - "id": 2821, + "id": 2828, "name": "address", "nodeType": "ElementaryTypeName", "src": "1408:7:11", @@ -826,7 +826,7 @@ "visibility": "internal" } ], - "id": 2835, + "id": 2842, "initialValue": { "argumentTypes": null, "arguments": [ @@ -835,11 +835,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2827, + "id": 2834, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2806, + "referencedDeclaration": 2813, "src": "1492:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -848,11 +848,11 @@ }, { "argumentTypes": null, - "id": 2828, + "id": 2835, "name": "_oracleFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2808, + "referencedDeclaration": 2815, "src": "1527:14:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -861,11 +861,11 @@ }, { "argumentTypes": null, - "id": 2829, + "id": 2836, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2810, + "referencedDeclaration": 2817, "src": "1559:6:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -874,11 +874,11 @@ }, { "argumentTypes": null, - "id": 2830, + "id": 2837, "name": "_ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2812, + "referencedDeclaration": 2819, "src": "1583:5:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -887,11 +887,11 @@ }, { "argumentTypes": null, - "id": 2831, + "id": 2838, "name": "_assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2814, + "referencedDeclaration": 2821, "src": "1606:10:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -900,11 +900,11 @@ }, { "argumentTypes": null, - "id": 2832, + "id": 2839, "name": "_assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2816, + "referencedDeclaration": 2823, "src": "1634:12:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -939,7 +939,7 @@ "typeString": "string memory" } ], - "id": 2826, + "id": 2833, "isConstant": false, "isLValue": false, "isPure": false, @@ -947,23 +947,23 @@ "nodeType": "NewExpression", "src": "1451:23:11", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MoneyMarketInstance_$4045_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_MoneyMarketInstance_$4052_$", "typeString": "function (address,address,address,address,string memory,string memory) returns (contract MoneyMarketInstance)" }, "typeName": { "contractScope": null, - "id": 2825, + "id": 2832, "name": "MoneyMarketInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4045, + "referencedDeclaration": 4052, "src": "1455:19:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } } }, - "id": 2833, + "id": 2840, "isConstant": false, "isLValue": false, "isPure": false, @@ -974,7 +974,7 @@ "src": "1451:209:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } } @@ -982,11 +982,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketInstance_$4045", + "typeIdentifier": "t_contract$_MoneyMarketInstance_$4052", "typeString": "contract MoneyMarketInstance" } ], - "id": 2824, + "id": 2831, "isConstant": false, "isLValue": false, "isPure": true, @@ -998,7 +998,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 2823, + "id": 2830, "name": "address", "nodeType": "ElementaryTypeName", "src": "1430:7:11", @@ -1008,7 +1008,7 @@ } } }, - "id": 2834, + "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, @@ -1029,32 +1029,32 @@ { "expression": { "argumentTypes": null, - "id": 2836, + "id": 2843, "name": "_MMinstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2822, + "referencedDeclaration": 2829, "src": "1688:11:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 2820, - "id": 2837, + "functionReturnParameters": 2827, + "id": 2844, "nodeType": "Return", "src": "1681:18:11" } ] }, "documentation": { - "id": 2804, + "id": 2811, "nodeType": "StructuredDocumentation", "src": "612:547:11", "text": "@notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _owner is the address that will own this contract(The AskoDAO)\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, "functionSelector": "cc83954d", - "id": 2839, + "id": 2846, "implemented": true, "kind": "function", "modifiers": [], @@ -1062,17 +1062,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2817, + "id": 2824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2806, + "id": 2813, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1192:25:11", "stateVariable": false, "storageLocation": "default", @@ -1081,7 +1081,7 @@ "typeString": "address" }, "typeName": { - "id": 2805, + "id": 2812, "name": "address", "nodeType": "ElementaryTypeName", "src": "1192:7:11", @@ -1096,12 +1096,12 @@ }, { "constant": false, - "id": 2808, + "id": 2815, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1227:22:11", "stateVariable": false, "storageLocation": "default", @@ -1110,7 +1110,7 @@ "typeString": "address" }, "typeName": { - "id": 2807, + "id": 2814, "name": "address", "nodeType": "ElementaryTypeName", "src": "1227:7:11", @@ -1125,12 +1125,12 @@ }, { "constant": false, - "id": 2810, + "id": 2817, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1259:14:11", "stateVariable": false, "storageLocation": "default", @@ -1139,7 +1139,7 @@ "typeString": "address" }, "typeName": { - "id": 2809, + "id": 2816, "name": "address", "nodeType": "ElementaryTypeName", "src": "1259:7:11", @@ -1154,12 +1154,12 @@ }, { "constant": false, - "id": 2812, + "id": 2819, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1283:13:11", "stateVariable": false, "storageLocation": "default", @@ -1168,7 +1168,7 @@ "typeString": "address" }, "typeName": { - "id": 2811, + "id": 2818, "name": "address", "nodeType": "ElementaryTypeName", "src": "1283:7:11", @@ -1183,12 +1183,12 @@ }, { "constant": false, - "id": 2814, + "id": 2821, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1306:24:11", "stateVariable": false, "storageLocation": "memory", @@ -1197,7 +1197,7 @@ "typeString": "string" }, "typeName": { - "id": 2813, + "id": 2820, "name": "string", "nodeType": "ElementaryTypeName", "src": "1306:6:11", @@ -1211,12 +1211,12 @@ }, { "constant": false, - "id": 2816, + "id": 2823, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1340:26:11", "stateVariable": false, "storageLocation": "memory", @@ -1225,7 +1225,7 @@ "typeString": "string" }, "typeName": { - "id": 2815, + "id": 2822, "name": "string", "nodeType": "ElementaryTypeName", "src": "1340:6:11", @@ -1241,17 +1241,17 @@ "src": "1182:190:11" }, "returnParameters": { - "id": 2820, + "id": 2827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2819, + "id": 2826, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2839, + "scope": 2846, "src": "1389:7:11", "stateVariable": false, "storageLocation": "default", @@ -1260,7 +1260,7 @@ "typeString": "address" }, "typeName": { - "id": 2818, + "id": 2825, "name": "address", "nodeType": "ElementaryTypeName", "src": "1389:7:11", @@ -1276,14 +1276,14 @@ ], "src": "1388:9:11" }, - "scope": 2840, + "scope": 2847, "src": "1164:542:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 2841, + "scope": 2848, "src": "567:1141:11" } ], @@ -1317,8 +1317,8 @@ } }, "links": {}, - "address": "0xD50f7dA915331F9CCb75b3029A0985535D357415", - "transactionHash": "0x226e5e6d08ea2fae34c35f614358e161a372a166a164f38c4f86a78315f1b366" + "address": "0x5E38da373710C3B11c927261fE8d37dcC0b0b463", + "transactionHash": "0xd57273134d01eb39f74ca9a2aada92e7bc280b48e5b9da07e3037b58da23af0d" }, "1607622663952": { "events": { @@ -1345,10 +1345,36 @@ "links": {}, "address": "0x6AabD71c176b20E93a9F7aA1d0c8DEc975314B9c", "transactionHash": "0x37242318342933cae479c70590604e5fe1adc989599751f038ee0d319a47bc6c" + }, + "1607733595468": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x0c1cA47E48e75e89D5f2c17C0fBa619cB4e3aFD9", + "transactionHash": "0x6d316649c62637bfa7d25e7a5b1eff61bfe50eb3a76d708305e20b76ce3a7c83" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.092Z", + "updatedAt": "2020-12-12T01:26:53.460Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/AskoLend-contracts/build/contracts/MoneyMarketFactoryI.json b/AskoLend-contracts/build/contracts/MoneyMarketFactoryI.json index 702d1a5f..6cfbda43 100644 --- a/AskoLend-contracts/build/contracts/MoneyMarketFactoryI.json +++ b/AskoLend-contracts/build/contracts/MoneyMarketFactoryI.json @@ -226,26 +226,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"__inQ\",\"type\":\"address\"}],\"name\":\"_checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkAvailibleCollateralValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"createMMI\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lendedART\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralART\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidater\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"liquidateBorrowAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"liquidateTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralDown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\",\"_owner\":\"is the address that will own this contract(The AskoDAO)\"}}}},\"userdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"notice\":\"the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\"}},\"notice\":\"The MoneyMarketFactoryI contract an abstract contract the MoneyMarketInstance uses to interface with the MoneyMarketFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a truffle compiler error due when imported into the same contract due to the use of two seperate SafeMath instances*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":\"MoneyMarketFactoryI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"__inQ\",\"type\":\"address\"}],\"name\":\"_checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkAvailibleCollateralValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"checkCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"name\":\"createMMI\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lendedART\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralART\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidater\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"liquidateBorrowAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidateValue\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"}],\"name\":\"liquidateTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralDown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ALR\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"trackCollateralUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\",\"_owner\":\"is the address that will own this contract(The AskoDAO)\"}}}},\"userdoc\":{\"methods\":{\"createMMI(address,address,address,address,string,string)\":{\"notice\":\"the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\"}},\"notice\":\"The MoneyMarketFactoryI contract an abstract contract the MoneyMarketInstance uses to interface with the MoneyMarketFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a truffle compiler error due when imported into the same contract due to the use of two seperate SafeMath instances*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":\"MoneyMarketFactoryI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketFactoryI\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe MoneyMarketFactoryI contract an abstract contract the MoneyMarketInstance uses to interface\n with the MoneyMarketFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\n truffle compiler error due when imported into the same contract due to the use of two seperate\n SafeMath instances\n**/\n\nabstract contract MoneyMarketFactoryI {\n /**\n @notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n @param _assetContractAdd is the address of the ERC20 asset being whitelisted\n @param _owner is the address that will own this contract(The AskoDAO)\n @param _assetName is the name of the asset(e.x: ChainLink)\n @param _assetSymbol is the symbol of the asset(e.x: LINK)\n @dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\n before creating each token.\n **/\n function createMMI(\n address _assetContractAdd,\n address _oracleFactory,\n address _owner,\n address _ARTF,\n string memory _assetName,\n string memory _assetSymbol\n ) public virtual returns (address);\n\n function liquidateBorrowAllowed(\n address _lendedART,\n address _collateralART,\n address _liquidater,\n address _borrower,\n uint256 _repayAmount\n ) public virtual returns (bool);\n\n function checkAvailibleCollateralValue(address _borrower, address _ALR)\n external\n virtual\n returns (uint256);\n\n function trackCollateralUp(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external virtual;\n\n function trackCollateralDown(\n address _borrower,\n address _ALR,\n uint256 _amount\n ) external virtual;\n\n function _checkIfALR(address __inQ) external view virtual returns (bool);\n\n function checkCollateralizedALR(address _borrower, address _ALR)\n public\n view\n virtual\n returns (uint256);\n\n function liquidateTrigger(\n uint256 _liquidateValue,\n address _borrower,\n address _liquidator,\n address _ALR\n ) public virtual;\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "exportedSymbols": { "MoneyMarketFactoryI": [ - 6509 + 6652 ] }, - "id": 6510, + "id": 6653, "nodeType": "SourceUnit", "nodes": [ { - "id": 6420, + "id": 6563, "literals": [ "solidity", "^", @@ -261,15 +261,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6421, + "id": 6564, "nodeType": "StructuredDocumentation", "src": "272:326:22", "text": "The MoneyMarketFactoryI contract an abstract contract the MoneyMarketInstance uses to interface\nwith the MoneyMarketFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\ntruffle compiler error due when imported into the same contract due to the use of two seperate\nSafeMath instances*" }, "fullyImplemented": false, - "id": 6509, + "id": 6652, "linearizedBaseContracts": [ - 6509 + 6652 ], "name": "MoneyMarketFactoryI", "nodeType": "ContractDefinition", @@ -277,13 +277,13 @@ { "body": null, "documentation": { - "id": 6422, + "id": 6565, "nodeType": "StructuredDocumentation", "src": "644:571:22", "text": "@notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _owner is the address that will own this contract(The AskoDAO)\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, "functionSelector": "cc83954d", - "id": 6439, + "id": 6582, "implemented": false, "kind": "function", "modifiers": [], @@ -291,17 +291,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6435, + "id": 6578, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6424, + "id": 6567, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1248:25:22", "stateVariable": false, "storageLocation": "default", @@ -310,7 +310,7 @@ "typeString": "address" }, "typeName": { - "id": 6423, + "id": 6566, "name": "address", "nodeType": "ElementaryTypeName", "src": "1248:7:22", @@ -325,12 +325,12 @@ }, { "constant": false, - "id": 6426, + "id": 6569, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1283:22:22", "stateVariable": false, "storageLocation": "default", @@ -339,7 +339,7 @@ "typeString": "address" }, "typeName": { - "id": 6425, + "id": 6568, "name": "address", "nodeType": "ElementaryTypeName", "src": "1283:7:22", @@ -354,12 +354,12 @@ }, { "constant": false, - "id": 6428, + "id": 6571, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1315:14:22", "stateVariable": false, "storageLocation": "default", @@ -368,7 +368,7 @@ "typeString": "address" }, "typeName": { - "id": 6427, + "id": 6570, "name": "address", "nodeType": "ElementaryTypeName", "src": "1315:7:22", @@ -383,12 +383,12 @@ }, { "constant": false, - "id": 6430, + "id": 6573, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1339:13:22", "stateVariable": false, "storageLocation": "default", @@ -397,7 +397,7 @@ "typeString": "address" }, "typeName": { - "id": 6429, + "id": 6572, "name": "address", "nodeType": "ElementaryTypeName", "src": "1339:7:22", @@ -412,12 +412,12 @@ }, { "constant": false, - "id": 6432, + "id": 6575, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1362:24:22", "stateVariable": false, "storageLocation": "memory", @@ -426,7 +426,7 @@ "typeString": "string" }, "typeName": { - "id": 6431, + "id": 6574, "name": "string", "nodeType": "ElementaryTypeName", "src": "1362:6:22", @@ -440,12 +440,12 @@ }, { "constant": false, - "id": 6434, + "id": 6577, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1396:26:22", "stateVariable": false, "storageLocation": "memory", @@ -454,7 +454,7 @@ "typeString": "string" }, "typeName": { - "id": 6433, + "id": 6576, "name": "string", "nodeType": "ElementaryTypeName", "src": "1396:6:22", @@ -470,17 +470,17 @@ "src": "1238:190:22" }, "returnParameters": { - "id": 6438, + "id": 6581, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6437, + "id": 6580, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1453:7:22", "stateVariable": false, "storageLocation": "default", @@ -489,7 +489,7 @@ "typeString": "address" }, "typeName": { - "id": 6436, + "id": 6579, "name": "address", "nodeType": "ElementaryTypeName", "src": "1453:7:22", @@ -505,7 +505,7 @@ ], "src": "1452:9:22" }, - "scope": 6509, + "scope": 6652, "src": "1220:242:22", "stateMutability": "nonpayable", "virtual": true, @@ -515,7 +515,7 @@ "body": null, "documentation": null, "functionSelector": "5fc7e71e", - "id": 6454, + "id": 6597, "implemented": false, "kind": "function", "modifiers": [], @@ -523,17 +523,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6450, + "id": 6593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6441, + "id": 6584, "mutability": "mutable", "name": "_lendedART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1509:18:22", "stateVariable": false, "storageLocation": "default", @@ -542,7 +542,7 @@ "typeString": "address" }, "typeName": { - "id": 6440, + "id": 6583, "name": "address", "nodeType": "ElementaryTypeName", "src": "1509:7:22", @@ -557,12 +557,12 @@ }, { "constant": false, - "id": 6443, + "id": 6586, "mutability": "mutable", "name": "_collateralART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1537:22:22", "stateVariable": false, "storageLocation": "default", @@ -571,7 +571,7 @@ "typeString": "address" }, "typeName": { - "id": 6442, + "id": 6585, "name": "address", "nodeType": "ElementaryTypeName", "src": "1537:7:22", @@ -586,12 +586,12 @@ }, { "constant": false, - "id": 6445, + "id": 6588, "mutability": "mutable", "name": "_liquidater", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1569:19:22", "stateVariable": false, "storageLocation": "default", @@ -600,7 +600,7 @@ "typeString": "address" }, "typeName": { - "id": 6444, + "id": 6587, "name": "address", "nodeType": "ElementaryTypeName", "src": "1569:7:22", @@ -615,12 +615,12 @@ }, { "constant": false, - "id": 6447, + "id": 6590, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1598:17:22", "stateVariable": false, "storageLocation": "default", @@ -629,7 +629,7 @@ "typeString": "address" }, "typeName": { - "id": 6446, + "id": 6589, "name": "address", "nodeType": "ElementaryTypeName", "src": "1598:7:22", @@ -644,12 +644,12 @@ }, { "constant": false, - "id": 6449, + "id": 6592, "mutability": "mutable", "name": "_repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1625:20:22", "stateVariable": false, "storageLocation": "default", @@ -658,7 +658,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6448, + "id": 6591, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1625:7:22", @@ -674,17 +674,17 @@ "src": "1499:152:22" }, "returnParameters": { - "id": 6453, + "id": 6596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6452, + "id": 6595, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1676:4:22", "stateVariable": false, "storageLocation": "default", @@ -693,7 +693,7 @@ "typeString": "bool" }, "typeName": { - "id": 6451, + "id": 6594, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1676:4:22", @@ -708,7 +708,7 @@ ], "src": "1675:6:22" }, - "scope": 6509, + "scope": 6652, "src": "1468:214:22", "stateMutability": "nonpayable", "virtual": true, @@ -718,7 +718,7 @@ "body": null, "documentation": null, "functionSelector": "6012b431", - "id": 6463, + "id": 6606, "implemented": false, "kind": "function", "modifiers": [], @@ -726,17 +726,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6459, + "id": 6602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6456, + "id": 6599, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1727:17:22", "stateVariable": false, "storageLocation": "default", @@ -745,7 +745,7 @@ "typeString": "address" }, "typeName": { - "id": 6455, + "id": 6598, "name": "address", "nodeType": "ElementaryTypeName", "src": "1727:7:22", @@ -760,12 +760,12 @@ }, { "constant": false, - "id": 6458, + "id": 6601, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1746:12:22", "stateVariable": false, "storageLocation": "default", @@ -774,7 +774,7 @@ "typeString": "address" }, "typeName": { - "id": 6457, + "id": 6600, "name": "address", "nodeType": "ElementaryTypeName", "src": "1746:7:22", @@ -791,17 +791,17 @@ "src": "1726:33:22" }, "returnParameters": { - "id": 6462, + "id": 6605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6461, + "id": 6604, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1810:7:22", "stateVariable": false, "storageLocation": "default", @@ -810,7 +810,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6460, + "id": 6603, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1810:7:22", @@ -825,7 +825,7 @@ ], "src": "1809:9:22" }, - "scope": 6509, + "scope": 6652, "src": "1688:131:22", "stateMutability": "nonpayable", "virtual": true, @@ -835,7 +835,7 @@ "body": null, "documentation": null, "functionSelector": "b3f643e7", - "id": 6472, + "id": 6615, "implemented": false, "kind": "function", "modifiers": [], @@ -843,17 +843,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6470, + "id": 6613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6465, + "id": 6608, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1861:17:22", "stateVariable": false, "storageLocation": "default", @@ -862,7 +862,7 @@ "typeString": "address" }, "typeName": { - "id": 6464, + "id": 6607, "name": "address", "nodeType": "ElementaryTypeName", "src": "1861:7:22", @@ -877,12 +877,12 @@ }, { "constant": false, - "id": 6467, + "id": 6610, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1888:12:22", "stateVariable": false, "storageLocation": "default", @@ -891,7 +891,7 @@ "typeString": "address" }, "typeName": { - "id": 6466, + "id": 6609, "name": "address", "nodeType": "ElementaryTypeName", "src": "1888:7:22", @@ -906,12 +906,12 @@ }, { "constant": false, - "id": 6469, + "id": 6612, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1910:15:22", "stateVariable": false, "storageLocation": "default", @@ -920,7 +920,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6468, + "id": 6611, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1910:7:22", @@ -936,12 +936,12 @@ "src": "1851:80:22" }, "returnParameters": { - "id": 6471, + "id": 6614, "nodeType": "ParameterList", "parameters": [], "src": "1948:0:22" }, - "scope": 6509, + "scope": 6652, "src": "1825:124:22", "stateMutability": "nonpayable", "virtual": true, @@ -951,7 +951,7 @@ "body": null, "documentation": null, "functionSelector": "6a8394ad", - "id": 6481, + "id": 6624, "implemented": false, "kind": "function", "modifiers": [], @@ -959,17 +959,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6479, + "id": 6622, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6474, + "id": 6617, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "1993:17:22", "stateVariable": false, "storageLocation": "default", @@ -978,7 +978,7 @@ "typeString": "address" }, "typeName": { - "id": 6473, + "id": 6616, "name": "address", "nodeType": "ElementaryTypeName", "src": "1993:7:22", @@ -993,12 +993,12 @@ }, { "constant": false, - "id": 6476, + "id": 6619, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "2020:12:22", "stateVariable": false, "storageLocation": "default", @@ -1007,7 +1007,7 @@ "typeString": "address" }, "typeName": { - "id": 6475, + "id": 6618, "name": "address", "nodeType": "ElementaryTypeName", "src": "2020:7:22", @@ -1022,12 +1022,12 @@ }, { "constant": false, - "id": 6478, + "id": 6621, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "2042:15:22", "stateVariable": false, "storageLocation": "default", @@ -1036,7 +1036,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6477, + "id": 6620, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2042:7:22", @@ -1052,12 +1052,12 @@ "src": "1983:80:22" }, "returnParameters": { - "id": 6480, + "id": 6623, "nodeType": "ParameterList", "parameters": [], "src": "2080:0:22" }, - "scope": 6509, + "scope": 6652, "src": "1955:126:22", "stateMutability": "nonpayable", "virtual": true, @@ -1067,7 +1067,7 @@ "body": null, "documentation": null, "functionSelector": "0dc9cacd", - "id": 6488, + "id": 6631, "implemented": false, "kind": "function", "modifiers": [], @@ -1075,17 +1075,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6484, + "id": 6627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6483, + "id": 6626, "mutability": "mutable", "name": "__inQ", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6488, + "scope": 6631, "src": "2108:13:22", "stateVariable": false, "storageLocation": "default", @@ -1094,7 +1094,7 @@ "typeString": "address" }, "typeName": { - "id": 6482, + "id": 6625, "name": "address", "nodeType": "ElementaryTypeName", "src": "2108:7:22", @@ -1111,17 +1111,17 @@ "src": "2107:15:22" }, "returnParameters": { - "id": 6487, + "id": 6630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6486, + "id": 6629, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6488, + "scope": 6631, "src": "2154:4:22", "stateVariable": false, "storageLocation": "default", @@ -1130,7 +1130,7 @@ "typeString": "bool" }, "typeName": { - "id": 6485, + "id": 6628, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2154:4:22", @@ -1145,7 +1145,7 @@ ], "src": "2153:6:22" }, - "scope": 6509, + "scope": 6652, "src": "2087:73:22", "stateMutability": "view", "virtual": true, @@ -1155,7 +1155,7 @@ "body": null, "documentation": null, "functionSelector": "da92fd8a", - "id": 6497, + "id": 6640, "implemented": false, "kind": "function", "modifiers": [], @@ -1163,17 +1163,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6493, + "id": 6636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6490, + "id": 6633, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2198:17:22", "stateVariable": false, "storageLocation": "default", @@ -1182,7 +1182,7 @@ "typeString": "address" }, "typeName": { - "id": 6489, + "id": 6632, "name": "address", "nodeType": "ElementaryTypeName", "src": "2198:7:22", @@ -1197,12 +1197,12 @@ }, { "constant": false, - "id": 6492, + "id": 6635, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2217:12:22", "stateVariable": false, "storageLocation": "default", @@ -1211,7 +1211,7 @@ "typeString": "address" }, "typeName": { - "id": 6491, + "id": 6634, "name": "address", "nodeType": "ElementaryTypeName", "src": "2217:7:22", @@ -1228,17 +1228,17 @@ "src": "2197:33:22" }, "returnParameters": { - "id": 6496, + "id": 6639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6495, + "id": 6638, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2292:7:22", "stateVariable": false, "storageLocation": "default", @@ -1247,7 +1247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6494, + "id": 6637, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2292:7:22", @@ -1262,7 +1262,7 @@ ], "src": "2291:9:22" }, - "scope": 6509, + "scope": 6652, "src": "2166:135:22", "stateMutability": "view", "virtual": true, @@ -1272,7 +1272,7 @@ "body": null, "documentation": null, "functionSelector": "2bb0df23", - "id": 6508, + "id": 6651, "implemented": false, "kind": "function", "modifiers": [], @@ -1280,17 +1280,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6506, + "id": 6649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6499, + "id": 6642, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2342:23:22", "stateVariable": false, "storageLocation": "default", @@ -1299,7 +1299,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6498, + "id": 6641, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2342:7:22", @@ -1313,12 +1313,12 @@ }, { "constant": false, - "id": 6501, + "id": 6644, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2375:17:22", "stateVariable": false, "storageLocation": "default", @@ -1327,7 +1327,7 @@ "typeString": "address" }, "typeName": { - "id": 6500, + "id": 6643, "name": "address", "nodeType": "ElementaryTypeName", "src": "2375:7:22", @@ -1342,12 +1342,12 @@ }, { "constant": false, - "id": 6503, + "id": 6646, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2402:19:22", "stateVariable": false, "storageLocation": "default", @@ -1356,7 +1356,7 @@ "typeString": "address" }, "typeName": { - "id": 6502, + "id": 6645, "name": "address", "nodeType": "ElementaryTypeName", "src": "2402:7:22", @@ -1371,12 +1371,12 @@ }, { "constant": false, - "id": 6505, + "id": 6648, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2431:12:22", "stateVariable": false, "storageLocation": "default", @@ -1385,7 +1385,7 @@ "typeString": "address" }, "typeName": { - "id": 6504, + "id": 6647, "name": "address", "nodeType": "ElementaryTypeName", "src": "2431:7:22", @@ -1402,36 +1402,36 @@ "src": "2332:117:22" }, "returnParameters": { - "id": 6507, + "id": 6650, "nodeType": "ParameterList", "parameters": [], "src": "2464:0:22" }, - "scope": 6509, + "scope": 6652, "src": "2307:158:22", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6510, + "scope": 6653, "src": "600:1867:22" } ], "src": "0:2468:22" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "exportedSymbols": { "MoneyMarketFactoryI": [ - 6509 + 6652 ] }, - "id": 6510, + "id": 6653, "nodeType": "SourceUnit", "nodes": [ { - "id": 6420, + "id": 6563, "literals": [ "solidity", "^", @@ -1447,15 +1447,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6421, + "id": 6564, "nodeType": "StructuredDocumentation", "src": "272:326:22", "text": "The MoneyMarketFactoryI contract an abstract contract the MoneyMarketInstance uses to interface\nwith the MoneyMarketFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\ntruffle compiler error due when imported into the same contract due to the use of two seperate\nSafeMath instances*" }, "fullyImplemented": false, - "id": 6509, + "id": 6652, "linearizedBaseContracts": [ - 6509 + 6652 ], "name": "MoneyMarketFactoryI", "nodeType": "ContractDefinition", @@ -1463,13 +1463,13 @@ { "body": null, "documentation": { - "id": 6422, + "id": 6565, "nodeType": "StructuredDocumentation", "src": "644:571:22", "text": "@notice the createMMI function is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _owner is the address that will own this contract(The AskoDAO)\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, "functionSelector": "cc83954d", - "id": 6439, + "id": 6582, "implemented": false, "kind": "function", "modifiers": [], @@ -1477,17 +1477,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6435, + "id": 6578, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6424, + "id": 6567, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1248:25:22", "stateVariable": false, "storageLocation": "default", @@ -1496,7 +1496,7 @@ "typeString": "address" }, "typeName": { - "id": 6423, + "id": 6566, "name": "address", "nodeType": "ElementaryTypeName", "src": "1248:7:22", @@ -1511,12 +1511,12 @@ }, { "constant": false, - "id": 6426, + "id": 6569, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1283:22:22", "stateVariable": false, "storageLocation": "default", @@ -1525,7 +1525,7 @@ "typeString": "address" }, "typeName": { - "id": 6425, + "id": 6568, "name": "address", "nodeType": "ElementaryTypeName", "src": "1283:7:22", @@ -1540,12 +1540,12 @@ }, { "constant": false, - "id": 6428, + "id": 6571, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1315:14:22", "stateVariable": false, "storageLocation": "default", @@ -1554,7 +1554,7 @@ "typeString": "address" }, "typeName": { - "id": 6427, + "id": 6570, "name": "address", "nodeType": "ElementaryTypeName", "src": "1315:7:22", @@ -1569,12 +1569,12 @@ }, { "constant": false, - "id": 6430, + "id": 6573, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1339:13:22", "stateVariable": false, "storageLocation": "default", @@ -1583,7 +1583,7 @@ "typeString": "address" }, "typeName": { - "id": 6429, + "id": 6572, "name": "address", "nodeType": "ElementaryTypeName", "src": "1339:7:22", @@ -1598,12 +1598,12 @@ }, { "constant": false, - "id": 6432, + "id": 6575, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1362:24:22", "stateVariable": false, "storageLocation": "memory", @@ -1612,7 +1612,7 @@ "typeString": "string" }, "typeName": { - "id": 6431, + "id": 6574, "name": "string", "nodeType": "ElementaryTypeName", "src": "1362:6:22", @@ -1626,12 +1626,12 @@ }, { "constant": false, - "id": 6434, + "id": 6577, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1396:26:22", "stateVariable": false, "storageLocation": "memory", @@ -1640,7 +1640,7 @@ "typeString": "string" }, "typeName": { - "id": 6433, + "id": 6576, "name": "string", "nodeType": "ElementaryTypeName", "src": "1396:6:22", @@ -1656,17 +1656,17 @@ "src": "1238:190:22" }, "returnParameters": { - "id": 6438, + "id": 6581, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6437, + "id": 6580, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6439, + "scope": 6582, "src": "1453:7:22", "stateVariable": false, "storageLocation": "default", @@ -1675,7 +1675,7 @@ "typeString": "address" }, "typeName": { - "id": 6436, + "id": 6579, "name": "address", "nodeType": "ElementaryTypeName", "src": "1453:7:22", @@ -1691,7 +1691,7 @@ ], "src": "1452:9:22" }, - "scope": 6509, + "scope": 6652, "src": "1220:242:22", "stateMutability": "nonpayable", "virtual": true, @@ -1701,7 +1701,7 @@ "body": null, "documentation": null, "functionSelector": "5fc7e71e", - "id": 6454, + "id": 6597, "implemented": false, "kind": "function", "modifiers": [], @@ -1709,17 +1709,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6450, + "id": 6593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6441, + "id": 6584, "mutability": "mutable", "name": "_lendedART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1509:18:22", "stateVariable": false, "storageLocation": "default", @@ -1728,7 +1728,7 @@ "typeString": "address" }, "typeName": { - "id": 6440, + "id": 6583, "name": "address", "nodeType": "ElementaryTypeName", "src": "1509:7:22", @@ -1743,12 +1743,12 @@ }, { "constant": false, - "id": 6443, + "id": 6586, "mutability": "mutable", "name": "_collateralART", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1537:22:22", "stateVariable": false, "storageLocation": "default", @@ -1757,7 +1757,7 @@ "typeString": "address" }, "typeName": { - "id": 6442, + "id": 6585, "name": "address", "nodeType": "ElementaryTypeName", "src": "1537:7:22", @@ -1772,12 +1772,12 @@ }, { "constant": false, - "id": 6445, + "id": 6588, "mutability": "mutable", "name": "_liquidater", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1569:19:22", "stateVariable": false, "storageLocation": "default", @@ -1786,7 +1786,7 @@ "typeString": "address" }, "typeName": { - "id": 6444, + "id": 6587, "name": "address", "nodeType": "ElementaryTypeName", "src": "1569:7:22", @@ -1801,12 +1801,12 @@ }, { "constant": false, - "id": 6447, + "id": 6590, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1598:17:22", "stateVariable": false, "storageLocation": "default", @@ -1815,7 +1815,7 @@ "typeString": "address" }, "typeName": { - "id": 6446, + "id": 6589, "name": "address", "nodeType": "ElementaryTypeName", "src": "1598:7:22", @@ -1830,12 +1830,12 @@ }, { "constant": false, - "id": 6449, + "id": 6592, "mutability": "mutable", "name": "_repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1625:20:22", "stateVariable": false, "storageLocation": "default", @@ -1844,7 +1844,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6448, + "id": 6591, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1625:7:22", @@ -1860,17 +1860,17 @@ "src": "1499:152:22" }, "returnParameters": { - "id": 6453, + "id": 6596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6452, + "id": 6595, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6454, + "scope": 6597, "src": "1676:4:22", "stateVariable": false, "storageLocation": "default", @@ -1879,7 +1879,7 @@ "typeString": "bool" }, "typeName": { - "id": 6451, + "id": 6594, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1676:4:22", @@ -1894,7 +1894,7 @@ ], "src": "1675:6:22" }, - "scope": 6509, + "scope": 6652, "src": "1468:214:22", "stateMutability": "nonpayable", "virtual": true, @@ -1904,7 +1904,7 @@ "body": null, "documentation": null, "functionSelector": "6012b431", - "id": 6463, + "id": 6606, "implemented": false, "kind": "function", "modifiers": [], @@ -1912,17 +1912,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6459, + "id": 6602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6456, + "id": 6599, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1727:17:22", "stateVariable": false, "storageLocation": "default", @@ -1931,7 +1931,7 @@ "typeString": "address" }, "typeName": { - "id": 6455, + "id": 6598, "name": "address", "nodeType": "ElementaryTypeName", "src": "1727:7:22", @@ -1946,12 +1946,12 @@ }, { "constant": false, - "id": 6458, + "id": 6601, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1746:12:22", "stateVariable": false, "storageLocation": "default", @@ -1960,7 +1960,7 @@ "typeString": "address" }, "typeName": { - "id": 6457, + "id": 6600, "name": "address", "nodeType": "ElementaryTypeName", "src": "1746:7:22", @@ -1977,17 +1977,17 @@ "src": "1726:33:22" }, "returnParameters": { - "id": 6462, + "id": 6605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6461, + "id": 6604, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6463, + "scope": 6606, "src": "1810:7:22", "stateVariable": false, "storageLocation": "default", @@ -1996,7 +1996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6460, + "id": 6603, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1810:7:22", @@ -2011,7 +2011,7 @@ ], "src": "1809:9:22" }, - "scope": 6509, + "scope": 6652, "src": "1688:131:22", "stateMutability": "nonpayable", "virtual": true, @@ -2021,7 +2021,7 @@ "body": null, "documentation": null, "functionSelector": "b3f643e7", - "id": 6472, + "id": 6615, "implemented": false, "kind": "function", "modifiers": [], @@ -2029,17 +2029,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6470, + "id": 6613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6465, + "id": 6608, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1861:17:22", "stateVariable": false, "storageLocation": "default", @@ -2048,7 +2048,7 @@ "typeString": "address" }, "typeName": { - "id": 6464, + "id": 6607, "name": "address", "nodeType": "ElementaryTypeName", "src": "1861:7:22", @@ -2063,12 +2063,12 @@ }, { "constant": false, - "id": 6467, + "id": 6610, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1888:12:22", "stateVariable": false, "storageLocation": "default", @@ -2077,7 +2077,7 @@ "typeString": "address" }, "typeName": { - "id": 6466, + "id": 6609, "name": "address", "nodeType": "ElementaryTypeName", "src": "1888:7:22", @@ -2092,12 +2092,12 @@ }, { "constant": false, - "id": 6469, + "id": 6612, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6472, + "scope": 6615, "src": "1910:15:22", "stateVariable": false, "storageLocation": "default", @@ -2106,7 +2106,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6468, + "id": 6611, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1910:7:22", @@ -2122,12 +2122,12 @@ "src": "1851:80:22" }, "returnParameters": { - "id": 6471, + "id": 6614, "nodeType": "ParameterList", "parameters": [], "src": "1948:0:22" }, - "scope": 6509, + "scope": 6652, "src": "1825:124:22", "stateMutability": "nonpayable", "virtual": true, @@ -2137,7 +2137,7 @@ "body": null, "documentation": null, "functionSelector": "6a8394ad", - "id": 6481, + "id": 6624, "implemented": false, "kind": "function", "modifiers": [], @@ -2145,17 +2145,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6479, + "id": 6622, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6474, + "id": 6617, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "1993:17:22", "stateVariable": false, "storageLocation": "default", @@ -2164,7 +2164,7 @@ "typeString": "address" }, "typeName": { - "id": 6473, + "id": 6616, "name": "address", "nodeType": "ElementaryTypeName", "src": "1993:7:22", @@ -2179,12 +2179,12 @@ }, { "constant": false, - "id": 6476, + "id": 6619, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "2020:12:22", "stateVariable": false, "storageLocation": "default", @@ -2193,7 +2193,7 @@ "typeString": "address" }, "typeName": { - "id": 6475, + "id": 6618, "name": "address", "nodeType": "ElementaryTypeName", "src": "2020:7:22", @@ -2208,12 +2208,12 @@ }, { "constant": false, - "id": 6478, + "id": 6621, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6481, + "scope": 6624, "src": "2042:15:22", "stateVariable": false, "storageLocation": "default", @@ -2222,7 +2222,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6477, + "id": 6620, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2042:7:22", @@ -2238,12 +2238,12 @@ "src": "1983:80:22" }, "returnParameters": { - "id": 6480, + "id": 6623, "nodeType": "ParameterList", "parameters": [], "src": "2080:0:22" }, - "scope": 6509, + "scope": 6652, "src": "1955:126:22", "stateMutability": "nonpayable", "virtual": true, @@ -2253,7 +2253,7 @@ "body": null, "documentation": null, "functionSelector": "0dc9cacd", - "id": 6488, + "id": 6631, "implemented": false, "kind": "function", "modifiers": [], @@ -2261,17 +2261,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6484, + "id": 6627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6483, + "id": 6626, "mutability": "mutable", "name": "__inQ", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6488, + "scope": 6631, "src": "2108:13:22", "stateVariable": false, "storageLocation": "default", @@ -2280,7 +2280,7 @@ "typeString": "address" }, "typeName": { - "id": 6482, + "id": 6625, "name": "address", "nodeType": "ElementaryTypeName", "src": "2108:7:22", @@ -2297,17 +2297,17 @@ "src": "2107:15:22" }, "returnParameters": { - "id": 6487, + "id": 6630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6486, + "id": 6629, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6488, + "scope": 6631, "src": "2154:4:22", "stateVariable": false, "storageLocation": "default", @@ -2316,7 +2316,7 @@ "typeString": "bool" }, "typeName": { - "id": 6485, + "id": 6628, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2154:4:22", @@ -2331,7 +2331,7 @@ ], "src": "2153:6:22" }, - "scope": 6509, + "scope": 6652, "src": "2087:73:22", "stateMutability": "view", "virtual": true, @@ -2341,7 +2341,7 @@ "body": null, "documentation": null, "functionSelector": "da92fd8a", - "id": 6497, + "id": 6640, "implemented": false, "kind": "function", "modifiers": [], @@ -2349,17 +2349,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6493, + "id": 6636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6490, + "id": 6633, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2198:17:22", "stateVariable": false, "storageLocation": "default", @@ -2368,7 +2368,7 @@ "typeString": "address" }, "typeName": { - "id": 6489, + "id": 6632, "name": "address", "nodeType": "ElementaryTypeName", "src": "2198:7:22", @@ -2383,12 +2383,12 @@ }, { "constant": false, - "id": 6492, + "id": 6635, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2217:12:22", "stateVariable": false, "storageLocation": "default", @@ -2397,7 +2397,7 @@ "typeString": "address" }, "typeName": { - "id": 6491, + "id": 6634, "name": "address", "nodeType": "ElementaryTypeName", "src": "2217:7:22", @@ -2414,17 +2414,17 @@ "src": "2197:33:22" }, "returnParameters": { - "id": 6496, + "id": 6639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6495, + "id": 6638, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6497, + "scope": 6640, "src": "2292:7:22", "stateVariable": false, "storageLocation": "default", @@ -2433,7 +2433,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6494, + "id": 6637, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2292:7:22", @@ -2448,7 +2448,7 @@ ], "src": "2291:9:22" }, - "scope": 6509, + "scope": 6652, "src": "2166:135:22", "stateMutability": "view", "virtual": true, @@ -2458,7 +2458,7 @@ "body": null, "documentation": null, "functionSelector": "2bb0df23", - "id": 6508, + "id": 6651, "implemented": false, "kind": "function", "modifiers": [], @@ -2466,17 +2466,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6506, + "id": 6649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6499, + "id": 6642, "mutability": "mutable", "name": "_liquidateValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2342:23:22", "stateVariable": false, "storageLocation": "default", @@ -2485,7 +2485,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6498, + "id": 6641, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2342:7:22", @@ -2499,12 +2499,12 @@ }, { "constant": false, - "id": 6501, + "id": 6644, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2375:17:22", "stateVariable": false, "storageLocation": "default", @@ -2513,7 +2513,7 @@ "typeString": "address" }, "typeName": { - "id": 6500, + "id": 6643, "name": "address", "nodeType": "ElementaryTypeName", "src": "2375:7:22", @@ -2528,12 +2528,12 @@ }, { "constant": false, - "id": 6503, + "id": 6646, "mutability": "mutable", "name": "_liquidator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2402:19:22", "stateVariable": false, "storageLocation": "default", @@ -2542,7 +2542,7 @@ "typeString": "address" }, "typeName": { - "id": 6502, + "id": 6645, "name": "address", "nodeType": "ElementaryTypeName", "src": "2402:7:22", @@ -2557,12 +2557,12 @@ }, { "constant": false, - "id": 6505, + "id": 6648, "mutability": "mutable", "name": "_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6508, + "scope": 6651, "src": "2431:12:22", "stateVariable": false, "storageLocation": "default", @@ -2571,7 +2571,7 @@ "typeString": "address" }, "typeName": { - "id": 6504, + "id": 6647, "name": "address", "nodeType": "ElementaryTypeName", "src": "2431:7:22", @@ -2588,19 +2588,19 @@ "src": "2332:117:22" }, "returnParameters": { - "id": 6507, + "id": 6650, "nodeType": "ParameterList", "parameters": [], "src": "2464:0:22" }, - "scope": 6509, + "scope": 6652, "src": "2307:158:22", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6510, + "scope": 6653, "src": "600:1867:22" } ], @@ -2612,7 +2612,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.045Z", + "updatedAt": "2020-12-12T01:13:52.573Z", "devdoc": { "methods": { "createMMI(address,address,address,address,string,string)": { diff --git a/AskoLend-contracts/build/contracts/MoneyMarketInstance.json b/AskoLend-contracts/build/contracts/MoneyMarketInstance.json index e7818bec..36e3f8de 100644 --- a/AskoLend-contracts/build/contracts/MoneyMarketInstance.json +++ b/AskoLend-contracts/build/contracts/MoneyMarketInstance.json @@ -590,26 +590,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"AHRamount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ALRamount\",\"type\":\"uint256\"}],\"name\":\"Borrow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collateralizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Collateralized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LentToAHR\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LentToALR\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"AHRamount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ALRamount\",\"type\":\"uint256\"}],\"name\":\"Repayed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"AHR\",\"outputs\":[{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ALR\",\"outputs\":[{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ARTF\",\"outputs\":[{\"internalType\":\"contract ARTFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UOF\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ahr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"alr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assetName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assetSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_collateral\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_inQuestion\",\"type\":\"address\"}],\"name\":\"checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee_AHR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee_ALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lendToAHRpool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lendToALRpool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"_ARTcollateralized\",\"type\":\"address\"}],\"name\":\"liquidateAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"repay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"viewLockedCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"_setUpAHR(address,uint256,uint256)\":{\"details\":\"this function will create a token whos name and symbol is concatenated with a \\\"AHR-\\\" in front of it example: AHR-LINKasset.approve() is called to allow the AHR contract to freeely transfer the assset from this contract when the mint lendToAHRpool function is called.*\",\"params\":{\"_InterestRateModel\":\"is the address of this MoneyMarketInstances InterestRateModel\",\"_fee\":\"is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\"}},\"_setUpALR(address,uint256,uint256)\":{\"details\":\"this function will create a token whos name and symbol is concatenated with a \\\"ALR-\\\" in front of it example: ALR-LINKasset.approve() is called to allow the ALR contract to freeely transfer the assset from this contract when the mint lendToALRpool function is called.*\",\"params\":{\"_InterestRateModel\":\"is the address of this MoneyMarketInstances InterestRateModel\",\"_fee\":\"is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\"}},\"borrow(uint256,address)\":{\"params\":{\"_amount\":\"is the amount of asset being barrowed\",\"_collateral\":\"is the address of the ALR token being used as collateral*\"}},\"constructor\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\"}},\"lendToAHRpool(uint256)\":{\"details\":\"the user will need to first approve the transfer of the underlying asset*\",\"params\":{\"_amount\":\"is the amount of the asset being lent\"}},\"lendToALRpool(uint256)\":{\"details\":\"the user will need to first approve the transfer of the underlying asset*\",\"params\":{\"_amount\":\"is the amount of the asset being lent\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"repay(uint256)\":{\"params\":{\"_repayAmount\":\"is the amount of the underlying asset being repayed*\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"_setUpAHR(address,uint256,uint256)\":{\"notice\":\"setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables. This is split from the constructor function to keep from reaching the gas block limit\"},\"_setUpALR(address,uint256,uint256)\":{\"notice\":\"setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables. This is split from the constructor function to keep from reaching the gas block limit\"},\"borrow(uint256,address)\":{\"notice\":\"borrow is used to take out a loan from in MoneyMarketInstance's underlying asset\"},\"checkIfALR(address)\":{\"notice\":\"these are admin functions for updating individual ART values*\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\",\"getAssetAdd()\":{\"notice\":\"getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*\"},\"lendToAHRpool(uint256)\":{\"notice\":\"lendToAHRpool is used to lend assets to a MoneyMarketInstance's High Risk pool\"},\"lendToALRpool(uint256)\":{\"notice\":\"lendToAHRpool is used to lend assets to a MoneyMarketInstance's Low Risk pool\"},\"liquidateAccount(address,address)\":{\"notice\":\"_liquidateFor is called by the liquidateAccount function on a MMI where a user is being liquidated. This function is called on a MMI contract where collateral is staked.*\"},\"repay(uint256)\":{\"notice\":\"repay is used to repay a loan\"}},\"notice\":\"The MoneyMarketInstance contract is designed facilitate a tiered money market for an individual ERC20 asset This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol && IRC20.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":\"MoneyMarketInstance\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a264697066735822122036a573394eb997a115e075f7a22043ebccba1c817c9cd8ee6ffbe93610b2691164736f6c63430006060033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a264697066735822122036a573394eb997a115e075f7a22043ebccba1c817c9cd8ee6ffbe93610b2691164736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetContractAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracleFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ARTF\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_assetName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_assetSymbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"AHRamount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ALRamount\",\"type\":\"uint256\"}],\"name\":\"Borrow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collateralizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Collateralized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LentToAHR\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LentToALR\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"AHRamount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ALRamount\",\"type\":\"uint256\"}],\"name\":\"Repayed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"AHR\",\"outputs\":[{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ALR\",\"outputs\":[{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ARTF\",\"outputs\":[{\"internalType\":\"contract ARTFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMF\",\"outputs\":[{\"internalType\":\"contract MoneyMarketFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UOF\",\"outputs\":[{\"internalType\":\"contract UniswapOracleFactoryI\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ahr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"alr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assetName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assetSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_collateral\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_inQuestion\",\"type\":\"address\"}],\"name\":\"checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee_AHR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee_ALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lendToAHRpool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"lendToALRpool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrower\",\"type\":\"address\"},{\"internalType\":\"contract AskoRiskTokenI\",\"name\":\"_ARTcollateralized\",\"type\":\"address\"}],\"name\":\"liquidateAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"repay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"viewLockedCollateralizedALR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"_setUpAHR(address,uint256,uint256)\":{\"details\":\"this function will create a token whos name and symbol is concatenated with a \\\"AHR-\\\" in front of it example: AHR-LINKasset.approve() is called to allow the AHR contract to freeely transfer the assset from this contract when the mint lendToAHRpool function is called.*\",\"params\":{\"_InterestRateModel\":\"is the address of this MoneyMarketInstances InterestRateModel\",\"_fee\":\"is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\"}},\"_setUpALR(address,uint256,uint256)\":{\"details\":\"this function will create a token whos name and symbol is concatenated with a \\\"ALR-\\\" in front of it example: ALR-LINKasset.approve() is called to allow the ALR contract to freeely transfer the assset from this contract when the mint lendToALRpool function is called.*\",\"params\":{\"_InterestRateModel\":\"is the address of this MoneyMarketInstances InterestRateModel\",\"_fee\":\"is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\"}},\"borrow(uint256,address)\":{\"params\":{\"_amount\":\"is the amount of asset being barrowed\",\"_collateral\":\"is the address of the ALR token being used as collateral*\"}},\"constructor\":{\"details\":\"this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol before creating each token.*\",\"params\":{\"_assetContractAdd\":\"is the address of the ERC20 asset being whitelisted\",\"_assetName\":\"is the name of the asset(e.x: ChainLink)\",\"_assetSymbol\":\"is the symbol of the asset(e.x: LINK)\"}},\"lendToAHRpool(uint256)\":{\"details\":\"the user will need to first approve the transfer of the underlying asset*\",\"params\":{\"_amount\":\"is the amount of the asset being lent\"}},\"lendToALRpool(uint256)\":{\"details\":\"the user will need to first approve the transfer of the underlying asset*\",\"params\":{\"_amount\":\"is the amount of the asset being lent\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"repay(uint256)\":{\"params\":{\"_repayAmount\":\"is the amount of the underlying asset being repayed*\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"_setUpAHR(address,uint256,uint256)\":{\"notice\":\"setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables. This is split from the constructor function to keep from reaching the gas block limit\"},\"_setUpALR(address,uint256,uint256)\":{\"notice\":\"setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables. This is split from the constructor function to keep from reaching the gas block limit\"},\"borrow(uint256,address)\":{\"notice\":\"borrow is used to take out a loan from in MoneyMarketInstance's underlying asset\"},\"checkIfALR(address)\":{\"notice\":\"these are admin functions for updating individual ART values*\"},\"constructor\":\"the constructor function is fired during the contract deployment process. The constructor can only be fired once and is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\",\"getAssetAdd()\":{\"notice\":\"getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*\"},\"lendToAHRpool(uint256)\":{\"notice\":\"lendToAHRpool is used to lend assets to a MoneyMarketInstance's High Risk pool\"},\"lendToALRpool(uint256)\":{\"notice\":\"lendToAHRpool is used to lend assets to a MoneyMarketInstance's Low Risk pool\"},\"liquidateAccount(address,address)\":{\"notice\":\"_liquidateFor is called by the liquidateAccount function on a MMI where a user is being liquidated. This function is called on a MMI contract where collateral is staked.*\"},\"repay(uint256)\":{\"notice\":\"repay is used to repay a loan\"}},\"notice\":\"The MoneyMarketInstance contract is designed facilitate a tiered money market for an individual ERC20 asset This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol && IRC20.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":\"MoneyMarketInstance\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol\":{\"keccak256\":\"0xca616c539aa26bb275a17378ededda4816227bff7c5724f3b5abde95d2c1693c\",\"urls\":[\"bzz-raw://e2b1fef489d88877f3017a9ae6bc10837b4417e36983a222c9f8d067a8dd64e7\",\"dweb:/ipfs/QmYQQWLYTFJceaC9J9DCq8hcEGGhr8SjiXBL632jLEmg9b\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/CarefulMath.sol\":{\"keccak256\":\"0x50eb69c08c7248ff4fb5f0b0f8a4231180fcdb30c01865647502e55be73ec4be\",\"urls\":[\"bzz-raw://5df2a8f94eddbd61c9a1f68c5b4d42fd7795b1f6bdf1cb2726b11254356ea422\",\"dweb:/ipfs/QmNSVjiueGNwtbhTuiNcnz1DB5kcpdUoxYtM6uLFrACEfU\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol\":{\"keccak256\":\"0xdd5233083997f36f9d7b30caa76e856e32a82d0c420a43becf39e0735fbd80bf\",\"urls\":[\"bzz-raw://888019c5e919a7c162bb6c92c51a73399de19e3021eef93e0aa7d6bc017a78c7\",\"dweb:/ipfs/QmUY267CdoadiJAWxHtZirPcvqFBt4gtyQv8iSh7Va1meA\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol\":{\"keccak256\":\"0x65e99b2b97ed23ca08e02eb3742e55b6c30b8c57b82dc6e12871d353fc2ff06a\",\"urls\":[\"bzz-raw://a5ff564a9f151bc64d2b49744efc5920f70414c14f8747aeca182b44e87e818f\",\"dweb:/ipfs/QmQSaJPo3aFaMQLJ7MUMALDSeUz6DeXYKptWNF88svWDW1\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol\":{\"keccak256\":\"0x3258c1ba520f29fd363cafc279366ad5b2fa5e806919d93cb27cdfe20f628816\",\"urls\":[\"bzz-raw://7a18cedf0ea187a82cf42b8a063dfaa17c2df2df8a7025eacbe94a9a025c1944\",\"dweb:/ipfs/QmZNSrVW7s3tErE5uEht2W7w5cEBpqGmfxuntBWEJwk916\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol\":{\"keccak256\":\"0x4bb056a9aa01ab78d210f88d0f45a91585ffbb3c0d9a0253615c97dbbf69fe38\",\"urls\":[\"bzz-raw://86b774a4318c582d96e572a814178005a2074c70bf30cd4e8c8fd0d086ac66d9\",\"dweb:/ipfs/QmUXRJwpc8qmtn7f1qhhuEXc1a3uPFxmcDZEsyqQmReuKQ\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040516200316a3803806200316a833981810160405260c08110156200003757600080fd5b81516020830151604080850151606086015160808701805193519597949692959194919392820192846401000000008211156200007357600080fd5b9083019060208201858111156200008957600080fd5b8251640100000000811182820188101715620000a457600080fd5b82525081516020918201929091019080838360005b83811015620000d3578181015183820152602001620000b9565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012557600080fd5b9083019060208201858111156200013b57600080fd5b82516401000000008111828201881017156200015657600080fd5b82525081516020918201929091019080838360005b83811015620001855781810151838201526020016200016b565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b506040525050506000620001cc620002a060201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350612710600155815162000231906006906020850190620002a5565b50805162000247906007906020840190620002a5565b5050600c80546001600160a01b03199081166001600160a01b0396871617909155600b80548216948616949094179093555060088054831694841694909417909355600d80549091169290911691909117905562000347565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e857805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000318578251825591602001919060010190620002fb565b50620003269291506200032a565b5090565b620002a291905b8082111562000326576000815560010162000331565b612e1380620003576000396000f3fe608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a26469706673582212206dda51aecdf456d4fddda12f758fe678bff25457ed603675e7ea266fcd749ad564736f6c63430006060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061019a5760003560e01c8063715018a6116100e4578063c9230c5d11610092578063c9230c5d14610433578063cf0aea851461043b578063d162054a14610458578063d6b9b5d914610460578063dcc716bd1461047d578063f2130c70146104af578063f2fde38b146104b7578063f9828b4f146104dd5761019a565b8063715018a6146103995780637d1fc742146103a15780638da5cb5b146103c75780639241cef2146103cf578063ac979028146103d7578063b451bb2e14610405578063c27d4df31461042b5761019a565b80631f432cf51161014c5780631f432cf5146102af57806322b2d402146102e1578063371fd8e6146102fe57806338d52e0f1461031b578063460bb650146103235780634b3fd1481461032b5780634c20ac7414610357578063676128431461035f5761019a565b8063045de1f81461019f5780630a3ed432146101c357806311e2c02f146101eb578063176de7a8146101f35780631d7bd46e146102705780631dda07801461028d5780631f2dc5ef14610295575b600080fd5b6101a76104e5565b604080516001600160a01b039092168252519081900360200190f35b6101e9600480360360208110156101d957600080fd5b50356001600160a01b03166104f4565b005b6101a7610574565b6101fb610583565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023557818101518382015260200161021d565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e96004803603602081101561028657600080fd5b5035610611565b6101a7610675565b61029d610684565b60408051918252519081900360200190f35b6101e9600480360360608110156102c557600080fd5b506001600160a01b03813516906020810135906040013561068a565b6101e9600480360360208110156102f757600080fd5b5035610acd565b6101e96004803603602081101561031457600080fd5b5035610c01565b6101a761163a565b6101a7611649565b6101e96004803603604081101561034157600080fd5b50803590602001356001600160a01b0316611658565b6101a7611c1a565b6103856004803603602081101561037557600080fd5b50356001600160a01b0316611c29565b604080519115158252519081900360200190f35b6101e9611cac565b61029d600480360360208110156103b757600080fd5b50356001600160a01b0316611d60565b6101a7611d7b565b6101a7611d8a565b6101e9600480360360408110156103ed57600080fd5b506001600160a01b0381358116916020013516611d99565b6101e96004803603602081101561041b57600080fd5b50356001600160a01b0316612397565b6101a76123fc565b6101fb61240b565b6101e96004803603602081101561045157600080fd5b5035612466565b6101a761259a565b6101e96004803603602081101561047657600080fd5b50356125a9565b6101e96004803603606081101561049357600080fd5b506001600160a01b03813516906020810135906040013561260d565b61029d612a50565b6101e9600480360360208110156104cd57600080fd5b50356001600160a01b0316612a56565b61029d612b60565b6005546001600160a01b031681565b600b546001600160a01b0316331461050b57600080fd5b600a5460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b505af115801561056d573d6000803e3d6000fd5b5050505050565b600c546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b505050505081565b600b546001600160a01b0316331461062857600080fd5b600a54604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600d546001600160a01b031681565b60015481565b600b546001600160a01b031633146106a157600080fd5b60038290556040805163416c522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106107015780518252601f1990920191602091820191016106e2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561077a5780601f1061075857610100808354040283529182019161077a565b820191906000526020600020905b815481529060010190602001808311610766575b50509250505060405160208183030381529060405290506060604051602001808063416c522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b6001836020036101000a0380198251168184511680821785525050505050509050018280546001816001161561010002031660029004801561086a5780601f1061084857610100808354040283529182019161086a565b820191906000526020600020905b815481529060010190602001808311610856575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760018d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156109b757818101518382015260200161099f565b50505050905090810190601f1680156109e45780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610a175781810151838201526020016109ff565b50505050905090810190601f168015610a445780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b5051600a80546001600160a01b03199081166001600160a01b0393841617918290556005805492909316911617905550505050505050565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b5050600a54604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b158015610bab57600080fd5b505af1158015610bbf573d6000803e3d6000fd5b5050604080513381526020810185905281517f7328ca2a2e824164ca6ec3121966d63601356d01901d9a5d2ee466cb726d1e3c9450908190039091019150a150565b600a54604080516305eff7ef60e21b815233600482015290516000926001600160a01b0316916317bfdfbc91602480830192602092919082900301818787803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b5051600954604080516305eff7ef60e21b815233600482015290519293506000926001600160a01b03909216916317bfdfbc9160248082019260209290919082900301818787803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d6020811015610cf557600080fd5b505190506000610d0b838363ffffffff612b6616565b905080841115610d56576040805162461bcd60e51b81526020600482015260116024820152700a4cae0c2f2d2dcce40e8dede40daeac6d607b1b604482015290519081900360640190fd5b60008085610fb4578415610e7257600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101899052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810188905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610e4357600080fd5b505af1158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505190505b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101889052905191909216916323b872dd9160648083019260209291908290030181600087803b158015610ed157600080fd5b505af1158015610ee5573d6000803e3d6000fd5b505050506040513d6020811015610efb57600080fd5b5050600954604080516369a5e8cf60e01b81526004810187905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b158015610f5157600080fd5b505af1158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505160408051338152602081018790528082018890529051919350600080516020612dbe833981519152919081900360600190a16114a9565b841561136b5785851061110357600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018a9052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561102057600080fd5b505af1158015611034573d6000803e3d6000fd5b505050506040513d602081101561104a57600080fd5b5050600a54604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d60208110156110ca57600080fd5b505160408051338152600060208201528082018990529051919250600080516020612dbe833981519152919081900360600190a1611366565b6000611115878763ffffffff612bc716565b600854600a54604080516323b872dd60e01b81523360048201526001600160a01b039283166024820152604481018b905290519394509116916323b872dd916064808201926020929091908290030181600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d60208110156111a057600080fd5b5050600a54604080516369a5e8cf60e01b815260006004820181905233602483015291516001600160a01b03909316926369a5e8cf92604480840193602093929083900390910190829087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b505050506040513d602081101561122357600080fd5b5051600854600954604080516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810186905290519395509116916323b872dd916064808201926020929091908290030181600087803b15801561128657600080fd5b505af115801561129a573d6000803e3d6000fd5b505050506040513d60208110156112b057600080fd5b5050600954604080516369a5e8cf60e01b81526004810184905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050506040513d602081101561133057600080fd5b505160408051338152602081018390528082018590529051919450600080516020612dbe833981519152919081900360600190a1505b6114a9565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b5050600954604080516369a5e8cf60e01b81526004810189905233602482015290516001600160a01b03909216916369a5e8cf916044808201926020929091908290030181600087803b15801561144a57600080fd5b505af115801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b505160408051338152602081018390526000818301529051919350600080516020612dbe833981519152919081900360600190a15b6000866114b75750826114ba565b50855b600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018590529051600093929092169163a2672dee9160448082019260209290919082900301818787803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050506040513d602081101561154057600080fd5b5051600b54336000818152600f6020526040808220548151636a8394ad60e01b815260048101949094526001600160a01b03908116602485015260448401869052905194955090921692636a8394ad9260648084019391929182900301818387803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506115d98487612bc790919063ffffffff16565b1580156115f357506115f1878463ffffffff612bc716565b155b1561163057336000908152600f6020908152604080832080546001600160a01b031916905560108252808320805460ff19169055600e9091528120555b5050505050505050565b6008546001600160a01b031681565b6004546001600160a01b031681565b336000908152600f60205260409020546001600160a01b038281169116148061169157503360009081526010602052604090205460ff16155b6116d9576040805162461bcd60e51b815260206004820152601460248201527318dbdb1b185d195c985b081b9bdd081c9a59da1d60621b604482015290519081900360640190fd5b6116e1612d4b565b600954604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b15801561172e57600080fd5b505af1158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b50518152600a54604080516305eff7ef60e21b815233600482015290516001600160a01b03909216916317bfdfbc916024808201926020929091908290030181600087803b1580156117a957600080fd5b505af11580156117bd573d6000803e3d6000fd5b505050506040513d60208110156117d357600080fd5b5051602082018190526117fe906117f0908563ffffffff612b6616565b82519063ffffffff612b6616565b6040808301829052600c54600854825163513396f760e11b81526001600160a01b0391821660048201526024810194909452915191169163a2672dee9160448083019260209291908290030181600087803b15801561185c57600080fd5b505af1158015611870573d6000803e3d6000fd5b505050506040513d602081101561188657600080fd5b50516080820152600c546008546040805163513396f760e11b81526001600160a01b039283166004820152602481018790529051919092169163a2672dee9160448083019260209291908290030181600087803b1580156118e657600080fd5b505af11580156118fa573d6000803e3d6000fd5b505050506040513d602081101561191057600080fd5b505160a0820152600b5460408051636012b43160e01b81523360048201526001600160a01b03858116602483015291519190921691636012b4319160448083019260209291908290030181600087803b15801561196c57600080fd5b505af1158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051606082015260808101516119b390600263ffffffff612c0916565b60c0820181905260808201516119ce9163ffffffff612b6616565b60e0820181905260608201511015611a25576040805162461bcd60e51b81526020600482015260156024820152741b9bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b604482015290519081900360640190fd5b600b5460a08201516040805163b3f643e760e01b81523360048201526001600160a01b03868116602483015260448201939093529051919092169163b3f643e791606480830192600092919082900301818387803b158015611a8657600080fd5b505af1158015611a9a573d6000803e3d6000fd5b50505050611ab2600284612c0990919063ffffffff16565b6101008201908152336000818152600f6020908152604080832080546001600160a01b0319166001600160a01b03898116919091179091556010909252808320805460ff1916600117905560095494518151630967fa2960e31b81526004810191909152602481019490945251931692634b3fd14892604480820193929182900301818387803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b5050600a5461010084015160408051630967fa2960e31b81526004810192909252336024830152516001600160a01b039092169350634b3fd148925060448082019260009290919082900301818387803b158015611bb657600080fd5b505af1158015611bca573d6000803e3d6000fd5b505050610100820151604080513381526020810183905280820192909252517fe1979fe4c35e0cef342fef5668e2c8e7a7e9f5d5d1ca8fee0ac6c427fa4153af92509081900360600190a1505050565b6008546001600160a01b031690565b600b5460408051630dc9cacd60e01b81526001600160a01b03848116600483015291516000939290921691630dc9cacd91602480820192602092909190829003018186803b158015611c7a57600080fd5b505afa158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b505192915050565b611cb4612c4b565b6000546001600160a01b03908116911614611d16576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001600160a01b03166000908152600e602052604090205490565b6000546001600160a01b031690565b6009546001600160a01b031681565b611da1612d4b565b336001600160a01b0384161415611dff576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e74206c697175696461746520796f757273656c660000000000604482015290519081900360640190fd5b600a54604080516305eff7ef60e21b81526001600160a01b038681166004830152915160009392909216916317bfdfbc9160248082019260209290919082900301818787803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b5051600954604080516305eff7ef60e21b81526001600160a01b038881166004830152915193945060009391909216916317bfdfbc91602480830192602092919082900301818787803b158015611ed157600080fd5b505af1158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505190506000611f11838363ffffffff612b6616565b600c546008546040805163513396f760e11b81526001600160a01b03928316600482015260248101859052905193945091169163a2672dee916044808201926020929091908290030181600087803b158015611f6c57600080fd5b505af1158015611f80573d6000803e3d6000fd5b505050506040513d6020811015611f9657600080fd5b50516060850152600b5460408051636012b43160e01b81526001600160a01b038981166004830152888116602483015291519190921691636012b4319160448083019260209291908290030181600087803b158015611ff457600080fd5b505af1158015612008573d6000803e3d6000fd5b505050506040513d602081101561201e57600080fd5b505160a0850152606084015161203b90600263ffffffff612c0916565b60c0850181905260608501516120569163ffffffff612b6616565b6080850181905260a0850151101561238f57600854600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156120c757600080fd5b505af11580156120db573d6000803e3d6000fd5b505050506040513d60208110156120f157600080fd5b5050600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b15801561215257600080fd5b505af1158015612166573d6000803e3d6000fd5b505050506040513d602081101561217c57600080fd5b5050600b54606085015160408051632bb0df2360e01b815260048101929092526001600160a01b03898116602484015233604484015288811660648401529051921691632bb0df239160848082019260009290919082900301818387803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b5050600a54604080516369a5e8cf60e01b81526000600482018190526001600160a01b038c8116602484015292519290931694506369a5e8cf93506044808201936020939283900390910190829087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505160e0850152600954604080516369a5e8cf60e01b81526000600482018190526001600160a01b038a81166024840152925192909316926369a5e8cf926044808401936020939083900390910190829087803b1580156122e157600080fd5b505af11580156122f5573d6000803e3d6000fd5b505050506040513d602081101561230b57600080fd5b5051610100850152600b54606085015160408051636a8394ad60e01b81526001600160a01b038a811660048301528981166024830152604482019390935290519190921691636a8394ad91606480830192600092919082900301818387803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050505b505050505050565b600b546001600160a01b031633146123ae57600080fd5b60095460408051630eab343560e21b81526001600160a01b03848116600483015291519190921691633aacd0d491602480830192600092919082900301818387803b15801561055957600080fd5b600a546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106095780601f106105de57610100808354040283529160200191610609565b600854600954604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd9160648083019260209291908290030181600087803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b5050600954604080516340c10f1960e01b81523360048201526024810184905290516001600160a01b03909216916340c10f199160448082019260009290919082900301818387803b15801561254457600080fd5b505af1158015612558573d6000803e3d6000fd5b5050604080513381526020810185905281517f0f82438f3b5c78264c4b6dce428942fd963308db5c690635d87bc654cb811d339450908190039091019150a150565b600b546001600160a01b031681565b600b546001600160a01b031633146125c057600080fd5b600954604080516322d3cecb60e21b81526004810184905290516001600160a01b0390921691638b4f3b2c9160248082019260009290919082900301818387803b15801561055957600080fd5b600b546001600160a01b0316331461262457600080fd5b600282905560408051634148522d60e01b60208083019190915282518083036004018152602483019093528251839260069260449091019182918501908083835b602083106126845780518252601f199092019160209182019101612665565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156126fd5780601f106126db5761010080835404028352918201916126fd565b820191906000526020600020905b8154815290600101906020018083116126e9575b505092505050604051602081830303815290604052905060606040516020018080634148522d60e01b815250600401905060405160208183030381529060405290508060076040516020018083805190602001908083835b602083106127745780518252601f199092019160209182019101612755565b6001836020036101000a038019825116818451168082178552505050505050905001828054600181600116156101000203166002900480156127ed5780601f106127cb5761010080835404028352918201916127ed565b820191906000526020600020905b8154815290600101906020018083116127d9575b505092505050604051602081830303815290604052905060608290506060829050600d60009054906101000a90046001600160a01b03166001600160a01b0316634f84a10088600860009054906101000a90046001600160a01b0316600c60009054906101000a90046001600160a01b0316600b60009054906101000a90046001600160a01b0316878760008d6040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561293a578181015183820152602001612922565b50505050905090810190601f1680156129675780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561299a578181015183820152602001612982565b50505050905090810190601f1680156129c75780820380516001836020036101000a031916815260200191505b509a5050505050505050505050602060405180830381600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5051600980546001600160a01b03199081166001600160a01b0393841617918290556004805492909316911617905550505050505050565b60025481565b612a5e612c4b565b6000546001600160a01b03908116911614612ac0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612b055760405162461bcd60e51b8152600401808060200182810382526026815260200180612d986026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60035481565b600082820183811015612bc0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000612bc083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c4f565b6000612bc083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ce6565b3390565b60008184841115612cde5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ca3578181015183820152602001612c8b565b50505050905090810190601f168015612cd05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183612d355760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612ca3578181015183820152602001612c8b565b506000838581612d4157fe5b0495945050505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732a6c148cdc9347a81dfbfe504afb64ea0aeca1114171ef18a3e11cb1fda8b3a6a26469706673582212206dda51aecdf456d4fddda12f758fe678bff25457ed603675e7ea266fcd749ad564736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "895:18058:12:-:0;;;2646:483;5:9:-1;2:2;;;27:1;24;17:12;2:2;2646:483:12;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2646:483:12;;420:4:-1;411:14;;;;2646:483:12;;;;;411:14:-1;2646:483:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2646:483:12;;420:4:-1;411:14;;;;2646:483:12;;;;;411:14:-1;2646:483:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;865:17:38;885:12;:10;;;:12;;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;2875:5:12;2865:7;:15;2890:22;;;;:9;;:22;;;;;:::i;:::-;-1:-1:-1;2922:26:12;;;;:11;;:26;;;;;:::i;:::-;-1:-1:-1;;2958:3:12;:43;;-1:-1:-1;;;;;;2958:43:12;;;-1:-1:-1;;;;;2958:43:12;;;;;;;3011:3;:33;;;;;;;;;;;;;;-1:-1:-1;3054:5:12;:33;;;;;;;;;;;;;;3097:4;:25;;;;;;;;;;;;;;;895:18058;;590:104:37;677:10;590:104;;:::o;895:18058:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;895:18058:12;;;-1:-1:-1;895:18058:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "895:18058:12:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;895:18058:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1095:18:12;;;:::i;:::-;;;;-1:-1:-1;;;;;1095:18:12;;;;;;;;;;;;;;18525:111;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18525:111:12;-1:-1:-1;;;;;18525:111:12;;:::i;:::-;;1304:32;;;:::i;1149:25::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1149:25:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18858:93;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18858:93:12;;:::i;1342:23::-;;;:::i;987:22::-;;;:::i;:::-;;;;;;;;;;;;;;;;5583:1039;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5583:1039:12;;-1:-1:-1;;;;;5583:1039:12;;;;;;;;;;;:::i;7797:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7797:334:12;;:::i;11340:4209::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11340:4209:12;;:::i;1181:19::-;;;:::i;1071:18::-;;;:::i;8760:2452::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8760:2452:12;;;;;;-1:-1:-1;;;;;8760:2452:12;;:::i;6732:91::-;;;:::i;18399:120::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18399:120:12;-1:-1:-1;;;;;18399:120:12;;:::i;:::-;;;;;;;;;;;;;;;;;;1689:145:38;;;:::i;6829:163:12:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6829:163:12;-1:-1:-1;;;;;6829:163:12;;:::i;1066:77:38:-;;;:::i;1206:25:12:-;;;:::i;16158:2153::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;16158:2153:12;;;;;;;;;;:::i;18642:111::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18642:111:12;-1:-1:-1;;;;;18642:111:12;;:::i;1237:25::-;;;:::i;1120:23::-;;;:::i;7228:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7228:334:12;;:::i;1268:30::-;;;:::i;18759:93::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18759:93:12;;:::i;3836:1040::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3836:1040:12;;-1:-1:-1;;;;;3836:1040:12;;;;;;;;;;;:::i;1015:22::-;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;1043:22:12:-;;;:::i;1095:18::-;;;-1:-1:-1;;;;;1095:18:12;;:::o;18525:111::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18594:3:::1;::::0;:35:::1;::::0;;-1:-1:-1;;;18594:35:12;;-1:-1:-1;;;;;18594:35:12;;::::1;;::::0;::::1;::::0;;;:3;;;::::1;::::0;:24:::1;::::0;:35;;;;;-1:-1:-1;;18594:35:12;;;;;;;-1:-1:-1;18594:3:12;:35;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;18594:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;18594:35:12;;;;18525:111:::0;:::o;1304:32::-;;;-1:-1:-1;;;;;1304:32:12;;:::o;1149:25::-;;;;;;;;;;;;;;;-1:-1:-1;;1149:25:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18858:93::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18920:3:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;18920:24:12;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;18920:3:12;;::::1;::::0;:19:::1;::::0;:24;;;;;-1:-1:-1;;18920:24:12;;;;;;;;-1:-1:-1;18920:3:12;:24;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;1342:23:12::0;;;-1:-1:-1;;;;;1342:23:12;;:::o;987:22::-;;;;:::o;5583:1039::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;5735:7:::1;:14:::0;;;5782:24:::1;::::0;;-1:-1:-1;;;5782:24:12::1;::::0;;::::1;::::0;;;;;;::::1;26:21:-1::0;;;22:32;6:49;;5782:24:12;;;;;;5826:36;;5782:24;;5852:9:::1;::::0;5826:36;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5826:36:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5826:36:12::1;::::0;;-1:-1:-1;;26:21;;::::1;22:32:::0;6:49;;5826:36:12;;;-1:-1:-1;;;49:4:::1;5937:24:12::0;;::::1;::::0;;;;;;26:21:-1;;;5937:24:12::1;22:32:-1::0;6:49;;5937:24:12;;;;;;5983:40;;5826:36;;-1:-1:-1;5937:24:12;;-1:-1:-1;5937:24:12;;-1:-1:-1;6011:11:12::1;::::0;-1:-1:-1;5983:40:12;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5983:40:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5983:40:12;;;5971:52;;6073:26;6109:7;6073:44;;6127:28;6165:9;6127:48;;6255:4;;;;;;;;;-1:-1:-1::0;;;;;6255:4:12::1;-1:-1:-1::0;;;;;6255:14:12::1;;6331:18;6375:5;;;;;;;;;-1:-1:-1::0;;;;;6375:5:12::1;6407:3;;;;;;;;;-1:-1:-1::0;;;;;6407:3:12::1;6437;;;;;;;;;-1:-1:-1::0;;;;;6437:3:12::1;6459:12;6489:14;6521:4;6543:20;6255:322;;;;;;;;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;6255:322:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6255:322:12;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;6255:322:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;6255:322:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;6255:322:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;6255:322:12;6221:3:::1;:366:::0;;-1:-1:-1;;;;;;6221:366:12;;::::1;-1:-1:-1::0;;;;;6221:366:12;;::::1;;::::0;;;;6597:3:::1;:18:::0;;6611:3;;;::::1;6597:18:::0;::::1;;::::0;;-1:-1:-1;;;;;;;5583:1039:12:o;7797:334::-;7942:5;;7981:3;;7942:53;;;-1:-1:-1;;;7942:53:12;;7961:10;7942:53;;;;-1:-1:-1;;;;;7981:3:12;;;7942:53;;;;;;;;;;;;:5;;;;;-1:-1:-1;;7942:53:12;;;;;;;;;;;;;;-1:-1:-1;7942:5:12;:53;;;2:2:-1;;;;27:1;24;17:12;2:2;7942:53:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7942:53:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;8050:3:12;;:29;;;-1:-1:-1;;;8050:29:12;;8059:10;8050:29;;;;;;;;;;;;-1:-1:-1;;;;;8050:3:12;;;;-1:-1:-1;;8050:29:12;;;;;-1:-1:-1;;8050:29:12;;;;;;;;-1:-1:-1;8050:3:12;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;8050:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;8094:30:12;;;8104:10;8094:30;;;;;;;;;;;;-1:-1:-1;8094:30:12;;;;;;;;-1:-1:-1;8094:30:12;7797:334;:::o;11340:4209::-;11470:3;;:36;;;-1:-1:-1;;;11470:36:12;;11495:10;11470:36;;;;;;-1:-1:-1;;;;;;;11470:3:12;;:24;;:36;;;;;;;;;;;;;;-1:-1:-1;11470:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;11470:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11470:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11470:36:12;11544:3;;:36;;;-1:-1:-1;;;11544:36:12;;11569:10;11544:36;;;;;;11470;;-1:-1:-1;;;;;;;;11544:3:12;;;;:24;;:36;;;;;11470;;11544;;;;;;;;-1:-1:-1;11544:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;11544:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11544:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11544:36:12;;-1:-1:-1;11590:20:12;11613:40;:17;11544:36;11613:40;:21;:40;:::i;:::-;11590:63;;11687:12;11671;:28;;11663:58;;;;;-1:-1:-1;;;11663:58:12;;;;;;;;;;;;-1:-1:-1;;;11663:58:12;;;;;;;;;;;;;;;11731:20;;11844:17;11840:2495;;11881:22;;11877:226;;11923:5;;11962:3;;11923:63;;;-1:-1:-1;;;11923:63:12;;11942:10;11923:63;;;;-1:-1:-1;;;;;11962:3:12;;;11923:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;11923:63:12;;;;;;;;;;;;;;-1:-1:-1;11923:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;11923:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11923:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12019:3:12;;:46;;;-1:-1:-1;;;12019:46:12;;;;;;;;12054:10;12019:46;;;;;;-1:-1:-1;;;;;12019:3:12;;;;-1:-1:-1;;12019:46:12;;;;;11923:63;;12019:46;;;;;;;;-1:-1:-1;12019:3:12;:46;;;2:2:-1;;;;27:1;24;17:12;2:2;12019:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12019:46:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12019:46:12;;-1:-1:-1;11877:226:12;12116:5;;12155:3;;12116:63;;;-1:-1:-1;;;12116:63:12;;12135:10;12116:63;;;;-1:-1:-1;;;;;12155:3:12;;;12116:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;12116:63:12;;;;;;;;;;;;;;-1:-1:-1;12116:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;12116:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12116:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12208:3:12;;:46;;;-1:-1:-1;;;12208:46:12;;;;;;;;12243:10;12208:46;;;;;;-1:-1:-1;;;;;12208:3:12;;;;-1:-1:-1;;12208:46:12;;;;;12116:63;;12208:46;;;;;;;;-1:-1:-1;12208:3:12;:46;;;2:2:-1;;;;27:1;24;17:12;2:2;12208:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12208:46:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12208:46:12;12295:57;;;12303:10;12295:57;;12208:46;12295:57;;;;;;;;;;;;;12208:46;;-1:-1:-1;;;;;;;;;;;;12295:57:12;;;;;;;;;11840:2495;;;12443:22;;12439:1886;;12560:12;12539:17;:33;12535:1416;;12733:5;;12772:3;;12733:58;;;-1:-1:-1;;;12733:58:12;;12752:10;12733:58;;;;-1:-1:-1;;;;;12772:3:12;;;12733:58;;;;;;;;;;;;:5;;;;;-1:-1:-1;;12733:58:12;;;;;;;;;;;;;;-1:-1:-1;12733:5:12;:58;;;2:2:-1;;;;27:1;24;17:12;2:2;12733:58:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12733:58:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12828:3:12;;:41;;;-1:-1:-1;;;12828:41:12;;;;;;;;12858:10;12828:41;;;;;;-1:-1:-1;;;;;12828:3:12;;;;-1:-1:-1;;12828:41:12;;;;;12733:58;;12828:41;;;;;;;;-1:-1:-1;12828:3:12;:41;;;2:2:-1;;;;27:1;24;17:12;2:2;12828:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12828:41:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12828:41:12;12920:36;;;12928:10;12920:36;;12940:1;12828:41;12920:36;;;;;;;;;;;12828:41;;-1:-1:-1;;;;;;;;;;;;12920:36:12;;;;;;;;;12535:1416;;;13146:19;13168:35;:12;13185:17;13168:35;:16;:35;:::i;:::-;13257:5;;13345:3;;13257:157;;;-1:-1:-1;;;13257:157:12;;13301:10;13257:157;;;;-1:-1:-1;;;;;13345:3:12;;;13257:157;;;;;;;;;;;;13146:57;;-1:-1:-1;13257:5:12;;;-1:-1:-1;;13257:157:12;;;;;;;;;;;;;;;-1:-1:-1;13257:5:12;:157;;;2:2:-1;;;;27:1;24;17:12;2:2;13257:157:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13257:157:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;13487:3:12;;:30;;;-1:-1:-1;;;13487:30:12;;:3;:30;;;;;;13506:10;13487:30;;;;;;-1:-1:-1;;;;;13487:3:12;;;;-1:-1:-1;;13487:30:12;;;;;13257:157;;13487:30;;;;;;;;;;;:3;:30;;;2:2:-1;;;;27:1;24;17:12;2:2;13487:30:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13487:30:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13487:30:12;13553:5;;13592:3;;13553:57;;;-1:-1:-1;;;13553:57:12;;13572:10;13553:57;;;;-1:-1:-1;;;;;13592:3:12;;;13553:57;;;;;;;;;;;;13487:30;;-1:-1:-1;13553:5:12;;;-1:-1:-1;;13553:57:12;;;;;13487:30;;13553:57;;;;;;;;-1:-1:-1;13553:5:12;:57;;;2:2:-1;;;;27:1;24;17:12;2:2;13553:57:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13553:57:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;13691:3:12;;:40;;;-1:-1:-1;;;13691:40:12;;;;;;;;13720:10;13691:40;;;;;;-1:-1:-1;;;;;13691:3:12;;;;-1:-1:-1;;13691:40:12;;;;;13553:57;;13691:40;;;;;;;;-1:-1:-1;13691:3:12;:40;;;2:2:-1;;;;27:1;24;17:12;2:2;13691:40:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13691:40:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13691:40:12;13885:47;;;13893:10;13885:47;;13691:40;13885:47;;;;;;;;;;;;;13691:40;;-1:-1:-1;;;;;;;;;;;;13885:47:12;;;;;;;;;12535:1416;;12439:1886;;;14101:5;;14140:3;;14101:58;;;-1:-1:-1;;;14101:58:12;;14120:10;14101:58;;;;-1:-1:-1;;;;;14140:3:12;;;14101:58;;;;;;;;;;;;:5;;;;;-1:-1:-1;;14101:58:12;;;;;;;;;;;;;;-1:-1:-1;14101:5:12;:58;;;2:2:-1;;;;27:1;24;17:12;2:2;14101:58:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14101:58:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;14192:3:12;;:41;;;-1:-1:-1;;;14192:41:12;;;;;;;;14222:10;14192:41;;;;;;-1:-1:-1;;;;;14192:3:12;;;;-1:-1:-1;;14192:41:12;;;;;14101:58;;14192:41;;;;;;;;-1:-1:-1;14192:3:12;:41;;;2:2:-1;;;;27:1;24;17:12;2:2;14192:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14192:41:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14192:41:12;14274:36;;;14282:10;14274:36;;14192:41;14274:36;;;;;14308:1;14274:36;;;;;;14192:41;;-1:-1:-1;;;;;;;;;;;;14274:36:12;;;;;;;;;12439:1886;14399:21;14434:17;14430:135;;-1:-1:-1;14483:12:12;14430:135;;;-1:-1:-1;14542:12:12;14430:135;14646:3;;14697:5;;14646:94;;;-1:-1:-1;;;14646:94:12;;-1:-1:-1;;;;;14697:5:12;;;14646:94;;;;;;;;;;;;-1:-1:-1;;14646:3:12;;;;;:29;;:94;;;;;;;;;;;;;;;-1:-1:-1;14646:3:12;:94;;;2:2:-1;;;;27:1;24;17:12;2:2;14646:94:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14646:94:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14646:94:12;14785:3;;14822:10;14785:3;14846:31;;;:19;14646:94;14846:31;;;;;;14785:131;;-1:-1:-1;;;14785:131:12;;;;;;;;;-1:-1:-1;;;;;14846:31:12;;;14785:131;;;;;;;;;;;;14646:94;;-1:-1:-1;14785:3:12;;;;-1:-1:-1;;14785:131:12;;;;;:3;;:131;;;;;;:3;;:131;;;2:2:-1;;;;27:1;24;17:12;2:2;14785:131:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14785:131:12;;;;14998:35;15020:12;14998:17;:21;;:35;;;;:::i;:::-;:40;:96;;;;-1:-1:-1;15054:35:12;:17;15076:12;15054:35;:21;:35;:::i;:::-;:40;14998:96;14981:562;;;15366:10;15388:1;15346:31;;;:19;:31;;;;;;;;:44;;-1:-1:-1;;;;;;15346:44:12;;;15404:17;:29;;;;;:37;;-1:-1:-1;;15404:37:12;;;15500:16;:28;;;;;:32;14981:562;11340:4209;;;;;;;;:::o;1181:19::-;;;-1:-1:-1;;;;;1181:19:12;;:::o;1071:18::-;;;-1:-1:-1;;;;;1071:18:12;;:::o;8760:2452::-;9061:10;9041:31;;;;:19;:31;;;;;;-1:-1:-1;;;;;9026:46:12;;;9041:31;;9026:46;;:104;;-1:-1:-1;9110:10:12;9092:29;;;;:17;:29;;;;;;;;:38;9026:104;9005:171;;;;;-1:-1:-1;;;9005:171:12;;;;;;;;;;;;-1:-1:-1;;;9005:171:12;;;;;;;;;;;;;;;9186:22;;:::i;:::-;9417:3;;:36;;;-1:-1:-1;;;9417:36:12;;9442:10;9417:36;;;;;;-1:-1:-1;;;;;9417:3:12;;;;:24;;:36;;;;;;;;;;;;;;;-1:-1:-1;9417:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;9417:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9417:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9417:36:12;9397:56;;9483:3;;:36;;;-1:-1:-1;;;9483:36:12;;9508:10;9483:36;;;;;;-1:-1:-1;;;;;9483:3:12;;;;:24;;:36;;;;;9417;;9483;;;;;;;;-1:-1:-1;9483:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;9483:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9483:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9483:36:12;;9463:17;;:56;;;9630:75;;9665:30;;9687:7;9665:30;:21;:30;:::i;:::-;9630:17;;;:75;:21;:75;:::i;:::-;9601:26;;;;:104;;;9796:3;;9847:5;;9796:107;;-1:-1:-1;;;9796:107:12;;-1:-1:-1;;;;;9847:5:12;;;9796:107;;;;;;;;;;;;;:3;;;:29;;:107;;;;;;;;;;;;;;-1:-1:-1;9796:3:12;:107;;;2:2:-1;;;;27:1;24;17:12;2:2;9796:107:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9796:107:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9796:107:12;9770:23;;;:133;9968:3;;10019:5;;9968:88;;;-1:-1:-1;;;9968:88:12;;-1:-1:-1;;;;;10019:5:12;;;9968:88;;;;;;;;;;;;:3;;;;;:29;;:88;;;;;9796:107;;9968:88;;;;;;;-1:-1:-1;9968:3:12;:88;;;2:2:-1;;;;27:1;24;17:12;2:2;9968:88:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9968:88:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9968:88:12;9949:16;;;:107;10147:3;;:92;;;-1:-1:-1;;;10147:92:12;;10194:10;10147:92;;;;-1:-1:-1;;;;;10147:92:12;;;;;;;;;:3;;;;;-1:-1:-1;;10147:92:12;;;;;9968:88;;10147:92;;;;;;;-1:-1:-1;10147:3:12;:92;;;2:2:-1;;;;27:1;24;17:12;2:2;10147:92:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10147:92:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10147:92:12;10115:29;;;:124;10300:23;;;;:30;;10328:1;10300:30;:27;:30;:::i;:::-;10285:12;;;:45;;;10427:23;;;;:41;;;:27;:41;:::i;:::-;10403:21;;;:65;;;10586:29;;;;:54;;10565:122;;;;;-1:-1:-1;;;10565:122:12;;;;;;;;;;;;-1:-1:-1;;;10565:122:12;;;;;;;;;;;;;;;10750:3;;10797:16;;;;10750:64;;;-1:-1:-1;;;10750:64:12;;10772:10;10750:64;;;;-1:-1:-1;;;;;10750:64:12;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;10750:64:12;;;;;-1:-1:-1;;10750:64:12;;;;;;;-1:-1:-1;10750:3:12;:64;;;2:2:-1;;;;27:1;24;17:12;2:2;10750:64:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10750:64:12;;;;10875:14;10887:1;10875:7;:11;;:14;;;;:::i;:::-;10863:9;;;:26;;;10956:10;10936:31;;;;:19;:31;;;;;;;;:45;;-1:-1:-1;;;;;;10936:45:12;-1:-1:-1;;;;;10936:45:12;;;;;;;;;;10991:17;:29;;;;;;:36;;-1:-1:-1;;10991:36:12;-1:-1:-1;10991:36:12;;;11074:3;;11085:9;;11074:33;;-1:-1:-1;;;11074:33:12;;;;;;;;;;;;;;;;;:3;;;:10;;:33;;;;;10936:31;11074:33;;;;;;10936:31;11074:3;:33;;;2:2:-1;;;;27:1;24;17:12;2:2;11074:33:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11117:3:12;;;11128:9;;;11117:33;;;-1:-1:-1;;;11117:33:12;;;;;;;;;11139:10;11117:33;;;;;-1:-1:-1;;;;;11117:3:12;;;;-1:-1:-1;11117:10:12;;-1:-1:-1;11117:33:12;;;;;-1:-1:-1;;11117:33:12;;;;;;;;-1:-1:-1;11117:3:12;:33;;;2:2:-1;;;;27:1;24;17:12;2:2;11117:33:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;11184:9:12;;;;11165:40;;;11172:10;11165:40;;;;;;;;;;;;;;;;;;-1:-1:-1;11165:40:12;;;;;;;;8760:2452;;;:::o;6732:91::-;6810:5;;-1:-1:-1;;;;;6810:5:12;;6732:91::o;18399:120::-;18484:3;;:28;;;-1:-1:-1;;;18484:28:12;;-1:-1:-1;;;;;18484:28:12;;;;;;;;;-1:-1:-1;;18484:3:12;;;;;-1:-1:-1;;18484:28:12;;;;;;;;;;;;;;;:3;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;18484:28:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18484:28:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18484:28:12;;18399:120;-1:-1:-1;;18399:120:12:o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;6829:163:12:-;-1:-1:-1;;;;;6959:26:12;6929:7;6959:26;;;:16;:26;;;;;;;6829:163::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;;1066:77::o;1206:25:12:-;;;-1:-1:-1;;;;;1206:25:12;;:::o;16158:2153::-;16313:29;;:::i;:::-;-1:-1:-1;;;;;16360:23:12;;:10;:23;;16352:63;;;;;-1:-1:-1;;;16352:63:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;16491:3;;:35;;;-1:-1:-1;;;16491:35:12;;-1:-1:-1;;;;;16491:35:12;;;;;;;;;-1:-1:-1;;16491:3:12;;;;;:24;;:35;;;;;;;;;;;;;;;-1:-1:-1;16491:3:12;:35;;;2:2:-1;;;;27:1;24;17:12;2:2;16491:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16491:35:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16491:35:12;16564:3;;:35;;;-1:-1:-1;;;16564:35:12;;-1:-1:-1;;;;;16564:35:12;;;;;;;;;16491;;-1:-1:-1;;;16564:3:12;;;;;:24;;:35;;;;;16491;;16564;;;;;;;-1:-1:-1;16564:3:12;:35;;;2:2:-1;;;;27:1;24;17:12;2:2;16564:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16564:35:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16564:35:12;;-1:-1:-1;16609:20:12;16632:40;:17;16564:35;16632:40;:21;:40;:::i;:::-;16747:3;;16798:5;;16747:93;;;-1:-1:-1;;;16747:93:12;;-1:-1:-1;;;;;16798:5:12;;;16747:93;;;;;;;;;;;;;;-1:-1:-1;16747:3:12;;;:29;;:93;;;;;;;;;;;;;;;-1:-1:-1;16747:3:12;:93;;;2:2:-1;;;;27:1;24;17:12;2:2;16747:93:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16747:93:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16747:93:12;16726:18;;;:114;16905:3;;:107;;;-1:-1:-1;;;16905:107:12;;-1:-1:-1;;;;;16905:107:12;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;16905:107:12;;;;;16747:93;;16905:107;;;;;;;-1:-1:-1;16905:3:12;:107;;;2:2:-1;;;;27:1;24;17:12;2:2;16905:107:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16905:107:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16905:107:12;16886:16;;;:126;17082:18;;;;:25;;17105:1;17082:25;:22;:25;:::i;:::-;17067:12;;;:40;;;17245:18;;;;:36;;;:22;:36;:::i;:::-;17221:21;;;:60;;;17509:16;;;;:40;17505:800;;;17624:5;;17663:3;;17624:63;;;-1:-1:-1;;;17624:63:12;;17643:10;17624:63;;;;-1:-1:-1;;;;;17663:3:12;;;17624:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;17624:63:12;;;;;;;;;;;;;;-1:-1:-1;17624:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;17624:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17624:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;17701:5:12;;17740:3;;17701:63;;;-1:-1:-1;;;17701:63:12;;17720:10;17701:63;;;;-1:-1:-1;;;;;17740:3:12;;;17701:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;17701:63:12;;;;;17624;;17701;;;;;;;-1:-1:-1;17701:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;17701:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17701:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;17778:3:12;;17816:18;;;;17778:170;;;-1:-1:-1;;;17778:170:12;;;;;;;;;-1:-1:-1;;;;;17778:170:12;;;;;;;17879:10;17778:170;;;;;;;;;;;;;:3;;;-1:-1:-1;;17778:170:12;;;;;-1:-1:-1;;17778:170:12;;;;;;;;-1:-1:-1;17778:3:12;:170;;;2:2:-1;;;;27:1;24;17:12;2:2;17778:170:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17982:3:12;;:29;;;-1:-1:-1;;;17982:29:12;;:3;:29;;;;;;-1:-1:-1;;;;;17982:29:12;;;;;;;;;:3;;;;;-1:-1:-1;;;;17982:29:12;;;;;;;;;;;;;;;;;:3;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;17982:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17982:29:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17982:29:12;17962:17;;;:49;18059:3;;:29;;;-1:-1:-1;;;18059:29:12;;:3;:29;;;;;;-1:-1:-1;;;;;18059:29:12;;;;;;;;;:3;;;;;-1:-1:-1;;18059:29:12;;;;;17982;;18059;;;;;;;;;;:3;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;18059:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18059:29:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18059:29:12;18039:17;;;:49;18149:3;;18262:18;;;;18149:145;;;-1:-1:-1;;;18149:145:12;;-1:-1:-1;;;;;18149:145:12;;;;;;;;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;18149:145:12;;;;;-1:-1:-1;;18149:145:12;;;;;;;-1:-1:-1;18149:3:12;:145;;;2:2:-1;;;;27:1;24;17:12;2:2;18149:145:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18149:145:12;;;;17505:800;16158:2153;;;;;;:::o;18642:111::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18711:3:::1;::::0;:35:::1;::::0;;-1:-1:-1;;;18711:35:12;;-1:-1:-1;;;;;18711:35:12;;::::1;;::::0;::::1;::::0;;;:3;;;::::1;::::0;:24:::1;::::0;:35;;;;;-1:-1:-1;;18711:35:12;;;;;;;-1:-1:-1;18711:3:12;:35;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;1237:25:12::0;;;-1:-1:-1;;;;;1237:25:12;;:::o;1120:23::-;;;;;;;;;;;;;;;-1:-1:-1;;1120:23:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7228:334;7373:5;;7412:3;;7373:53;;;-1:-1:-1;;;7373:53:12;;7392:10;7373:53;;;;-1:-1:-1;;;;;7412:3:12;;;7373:53;;;;;;;;;;;;:5;;;;;-1:-1:-1;;7373:53:12;;;;;;;;;;;;;;-1:-1:-1;7373:5:12;:53;;;2:2:-1;;;;27:1;24;17:12;2:2;7373:53:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7373:53:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;7481:3:12;;:29;;;-1:-1:-1;;;7481:29:12;;7490:10;7481:29;;;;;;;;;;;;-1:-1:-1;;;;;7481:3:12;;;;-1:-1:-1;;7481:29:12;;;;;-1:-1:-1;;7481:29:12;;;;;;;;-1:-1:-1;7481:3:12;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;7481:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;7525:30:12;;;7535:10;7525:30;;;;;;;;;;;;-1:-1:-1;7525:30:12;;;;;;;;-1:-1:-1;7525:30:12;7228:334;:::o;1268:30::-;;;-1:-1:-1;;;;;1268:30:12;;:::o;18759:93::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18821:3:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;18821:24:12;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;18821:3:12;;::::1;::::0;:19:::1;::::0;:24;;;;;-1:-1:-1;;18821:24:12;;;;;;;;-1:-1:-1;18821:3:12;:24;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;3836:1040:12::0;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;3988:7:::1;:14:::0;;;4035:24:::1;::::0;;-1:-1:-1;;;4035:24:12::1;::::0;;::::1;::::0;;;;;;::::1;26:21:-1::0;;;22:32;6:49;;4035:24:12;;;;;;4079:36;;4035:24;;4105:9:::1;::::0;4079:36;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4079:36:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4079:36:12::1;::::0;;-1:-1:-1;;26:21;;::::1;22:32:::0;6:49;;4079:36:12;;;-1:-1:-1;;;49:4:::1;4190:24:12::0;;::::1;::::0;;;;;;26:21:-1;;;4190:24:12::1;22:32:-1::0;6:49;;4190:24:12;;;;;;4236:40;;4079:36;;-1:-1:-1;4190:24:12;;-1:-1:-1;4190:24:12;;-1:-1:-1;4264:11:12::1;::::0;-1:-1:-1;4236:40:12;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4236:40:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4236:40:12;;;4224:52;;4326:26;4362:7;4326:44;;4380:28;4418:9;4380:48;;4508:4;;;;;;;;;-1:-1:-1::0;;;;;4508:4:12::1;-1:-1:-1::0;;;;;4508:14:12::1;;4584:18;4628:5;;;;;;;;;-1:-1:-1::0;;;;;4628:5:12::1;4660:3;;;;;;;;;-1:-1:-1::0;;;;;4660:3:12::1;4690;;;;;;;;;-1:-1:-1::0;;;;;4690:3:12::1;4712:12;4742:14;4774:5;4797:20;4508:323;;;;;;;;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;4508:323:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;4508:323:12;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;4508:323:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;4508:323:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4508:323:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;4508:323:12;4474:3:::1;:367:::0;;-1:-1:-1;;;;;;4474:367:12;;::::1;-1:-1:-1::0;;;;;4474:367:12;;::::1;;::::0;;;;4851:3:::1;:18:::0;;4865:3;;;::::1;4851:18:::0;::::1;;::::0;;-1:-1:-1;;;;;;;3836:1040:12:o;1015:22::-;;;;:::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;1043:22:12:-;;;;:::o;874:176:39:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;874:176;-1:-1:-1;;;874:176:39:o;1321:134::-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;3101:130::-;3159:7;3185:39;3189:1;3192;3185:39;;;;;;;;;;;;;;;;;:3;:39::i;590:104:37:-;677:10;590:104;:::o;1746:187:39:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1851:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:39;;;1746:187::o;3713:272::-;3799:7;3833:12;3826:5;3818:28;;;;-1:-1:-1;;;3818:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3818:28:39;;3856:9;3872:1;3868;:5;;;;;;;3713:272;-1:-1:-1;;;;;3713:272:39:o;895:18058:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "sourceMap": "895:18058:12:-:0;;;2646:483;5:9:-1;2:2;;;27:1;24;17:12;2:2;2646:483:12;;;;;;;;;;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2646:483:12;;420:4:-1;411:14;;;;2646:483:12;;;;;411:14:-1;2646:483:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;-1:-1;;;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;2646:483:12;;420:4:-1;411:14;;;;2646:483:12;;;;;411:14:-1;2646:483:12;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2646:483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;882:17:38;902:12;:10;;;:12;;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;2875:5:12;2865:7;:15;2890:22;;;;:9;;:22;;;;;:::i;:::-;-1:-1:-1;2922:26:12;;;;:11;;:26;;;;;:::i;:::-;-1:-1:-1;;2958:3:12;:43;;-1:-1:-1;;;;;;2958:43:12;;;-1:-1:-1;;;;;2958:43:12;;;;;;;3011:3;:33;;;;;;;;;;;;;;-1:-1:-1;3054:5:12;:33;;;;;;;;;;;;;;3097:4;:25;;;;;;;;;;;;;;;895:18058;;598:104:37;685:10;598:104;;:::o;895:18058:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;895:18058:12;;;-1:-1:-1;895:18058:12;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "895:18058:12:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;895:18058:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1095:18:12;;;:::i;:::-;;;;-1:-1:-1;;;;;1095:18:12;;;;;;;;;;;;;;18525:111;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18525:111:12;-1:-1:-1;;;;;18525:111:12;;:::i;:::-;;1304:32;;;:::i;1149:25::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1149:25:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18858:93;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18858:93:12;;:::i;1342:23::-;;;:::i;987:22::-;;;:::i;:::-;;;;;;;;;;;;;;;;5583:1039;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5583:1039:12;;-1:-1:-1;;;;;5583:1039:12;;;;;;;;;;;:::i;7797:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7797:334:12;;:::i;11340:4209::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11340:4209:12;;:::i;1181:19::-;;;:::i;1071:18::-;;;:::i;8760:2452::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8760:2452:12;;;;;;-1:-1:-1;;;;;8760:2452:12;;:::i;6732:91::-;;;:::i;18399:120::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18399:120:12;-1:-1:-1;;;;;18399:120:12;;:::i;:::-;;;;;;;;;;;;;;;;;;1706:145:38;;;:::i;6829:163:12:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6829:163:12;-1:-1:-1;;;;;6829:163:12;;:::i;1083:77:38:-;;;:::i;1206:25:12:-;;;:::i;16158:2153::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;16158:2153:12;;;;;;;;;;:::i;18642:111::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18642:111:12;-1:-1:-1;;;;;18642:111:12;;:::i;1237:25::-;;;:::i;1120:23::-;;;:::i;7228:334::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7228:334:12;;:::i;1268:30::-;;;:::i;18759:93::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18759:93:12;;:::i;3836:1040::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3836:1040:12;;-1:-1:-1;;;;;3836:1040:12;;;;;;;;;;;:::i;1015:22::-;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;1043:22:12:-;;;:::i;1095:18::-;;;-1:-1:-1;;;;;1095:18:12;;:::o;18525:111::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18594:3:::1;::::0;:35:::1;::::0;;-1:-1:-1;;;18594:35:12;;-1:-1:-1;;;;;18594:35:12;;::::1;;::::0;::::1;::::0;;;:3;;;::::1;::::0;:24:::1;::::0;:35;;;;;-1:-1:-1;;18594:35:12;;;;;;;-1:-1:-1;18594:3:12;:35;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;18594:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;18594:35:12;;;;18525:111:::0;:::o;1304:32::-;;;-1:-1:-1;;;;;1304:32:12;;:::o;1149:25::-;;;;;;;;;;;;;;;-1:-1:-1;;1149:25:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18858:93::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18920:3:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;18920:24:12;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;18920:3:12;;::::1;::::0;:19:::1;::::0;:24;;;;;-1:-1:-1;;18920:24:12;;;;;;;;-1:-1:-1;18920:3:12;:24;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;1342:23:12::0;;;-1:-1:-1;;;;;1342:23:12;;:::o;987:22::-;;;;:::o;5583:1039::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;5735:7:::1;:14:::0;;;5782:24:::1;::::0;;-1:-1:-1;;;5782:24:12::1;::::0;;::::1;::::0;;;;;;::::1;26:21:-1::0;;;22:32;6:49;;5782:24:12;;;;;;5826:36;;5782:24;;5852:9:::1;::::0;5826:36;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5826:36:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5826:36:12::1;::::0;;-1:-1:-1;;26:21;;::::1;22:32:::0;6:49;;5826:36:12;;;-1:-1:-1;;;49:4:::1;5937:24:12::0;;::::1;::::0;;;;;;26:21:-1;;;5937:24:12::1;22:32:-1::0;6:49;;5937:24:12;;;;;;5983:40;;5826:36;;-1:-1:-1;5937:24:12;;-1:-1:-1;5937:24:12;;-1:-1:-1;6011:11:12::1;::::0;-1:-1:-1;5983:40:12;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5983:40:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5983:40:12;;;5971:52;;6073:26;6109:7;6073:44;;6127:28;6165:9;6127:48;;6255:4;;;;;;;;;-1:-1:-1::0;;;;;6255:4:12::1;-1:-1:-1::0;;;;;6255:14:12::1;;6331:18;6375:5;;;;;;;;;-1:-1:-1::0;;;;;6375:5:12::1;6407:3;;;;;;;;;-1:-1:-1::0;;;;;6407:3:12::1;6437;;;;;;;;;-1:-1:-1::0;;;;;6437:3:12::1;6459:12;6489:14;6521:4;6543:20;6255:322;;;;;;;;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;-1:-1:-1::0;;;;;6255:322:12::1;-1:-1:-1::0;;;;;6255:322:12::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;6255:322:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6255:322:12;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;6255:322:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;6255:322:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;6255:322:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;6255:322:12;6221:3:::1;:366:::0;;-1:-1:-1;;;;;;6221:366:12;;::::1;-1:-1:-1::0;;;;;6221:366:12;;::::1;;::::0;;;;6597:3:::1;:18:::0;;6611:3;;;::::1;6597:18:::0;::::1;;::::0;;-1:-1:-1;;;;;;;5583:1039:12:o;7797:334::-;7942:5;;7981:3;;7942:53;;;-1:-1:-1;;;7942:53:12;;7961:10;7942:53;;;;-1:-1:-1;;;;;7981:3:12;;;7942:53;;;;;;;;;;;;:5;;;;;-1:-1:-1;;7942:53:12;;;;;;;;;;;;;;-1:-1:-1;7942:5:12;:53;;;2:2:-1;;;;27:1;24;17:12;2:2;7942:53:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7942:53:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;8050:3:12;;:29;;;-1:-1:-1;;;8050:29:12;;8059:10;8050:29;;;;;;;;;;;;-1:-1:-1;;;;;8050:3:12;;;;-1:-1:-1;;8050:29:12;;;;;-1:-1:-1;;8050:29:12;;;;;;;;-1:-1:-1;8050:3:12;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;8050:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;8094:30:12;;;8104:10;8094:30;;;;;;;;;;;;-1:-1:-1;8094:30:12;;;;;;;;-1:-1:-1;8094:30:12;7797:334;:::o;11340:4209::-;11470:3;;:36;;;-1:-1:-1;;;11470:36:12;;11495:10;11470:36;;;;;;-1:-1:-1;;;;;;;11470:3:12;;:24;;:36;;;;;;;;;;;;;;-1:-1:-1;11470:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;11470:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11470:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11470:36:12;11544:3;;:36;;;-1:-1:-1;;;11544:36:12;;11569:10;11544:36;;;;;;11470;;-1:-1:-1;;;;;;;;11544:3:12;;;;:24;;:36;;;;;11470;;11544;;;;;;;;-1:-1:-1;11544:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;11544:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11544:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11544:36:12;;-1:-1:-1;11590:20:12;11613:40;:17;11544:36;11613:40;:21;:40;:::i;:::-;11590:63;;11687:12;11671;:28;;11663:58;;;;;-1:-1:-1;;;11663:58:12;;;;;;;;;;;;-1:-1:-1;;;11663:58:12;;;;;;;;;;;;;;;11731:20;;11844:17;11840:2495;;11881:22;;11877:226;;11923:5;;11962:3;;11923:63;;;-1:-1:-1;;;11923:63:12;;11942:10;11923:63;;;;-1:-1:-1;;;;;11962:3:12;;;11923:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;11923:63:12;;;;;;;;;;;;;;-1:-1:-1;11923:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;11923:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11923:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12019:3:12;;:46;;;-1:-1:-1;;;12019:46:12;;;;;;;;12054:10;12019:46;;;;;;-1:-1:-1;;;;;12019:3:12;;;;-1:-1:-1;;12019:46:12;;;;;11923:63;;12019:46;;;;;;;;-1:-1:-1;12019:3:12;:46;;;2:2:-1;;;;27:1;24;17:12;2:2;12019:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12019:46:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12019:46:12;;-1:-1:-1;11877:226:12;12116:5;;12155:3;;12116:63;;;-1:-1:-1;;;12116:63:12;;12135:10;12116:63;;;;-1:-1:-1;;;;;12155:3:12;;;12116:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;12116:63:12;;;;;;;;;;;;;;-1:-1:-1;12116:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;12116:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12116:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12208:3:12;;:46;;;-1:-1:-1;;;12208:46:12;;;;;;;;12243:10;12208:46;;;;;;-1:-1:-1;;;;;12208:3:12;;;;-1:-1:-1;;12208:46:12;;;;;12116:63;;12208:46;;;;;;;;-1:-1:-1;12208:3:12;:46;;;2:2:-1;;;;27:1;24;17:12;2:2;12208:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12208:46:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12208:46:12;12295:57;;;12303:10;12295:57;;12208:46;12295:57;;;;;;;;;;;;;12208:46;;-1:-1:-1;;;;;;;;;;;;12295:57:12;;;;;;;;;11840:2495;;;12443:22;;12439:1886;;12560:12;12539:17;:33;12535:1416;;12733:5;;12772:3;;12733:58;;;-1:-1:-1;;;12733:58:12;;12752:10;12733:58;;;;-1:-1:-1;;;;;12772:3:12;;;12733:58;;;;;;;;;;;;:5;;;;;-1:-1:-1;;12733:58:12;;;;;;;;;;;;;;-1:-1:-1;12733:5:12;:58;;;2:2:-1;;;;27:1;24;17:12;2:2;12733:58:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12733:58:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;12828:3:12;;:41;;;-1:-1:-1;;;12828:41:12;;;;;;;;12858:10;12828:41;;;;;;-1:-1:-1;;;;;12828:3:12;;;;-1:-1:-1;;12828:41:12;;;;;12733:58;;12828:41;;;;;;;;-1:-1:-1;12828:3:12;:41;;;2:2:-1;;;;27:1;24;17:12;2:2;12828:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12828:41:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12828:41:12;12920:36;;;12928:10;12920:36;;12940:1;12828:41;12920:36;;;;;;;;;;;12828:41;;-1:-1:-1;;;;;;;;;;;;12920:36:12;;;;;;;;;12535:1416;;;13146:19;13168:35;:12;13185:17;13168:35;:16;:35;:::i;:::-;13257:5;;13345:3;;13257:157;;;-1:-1:-1;;;13257:157:12;;13301:10;13257:157;;;;-1:-1:-1;;;;;13345:3:12;;;13257:157;;;;;;;;;;;;13146:57;;-1:-1:-1;13257:5:12;;;-1:-1:-1;;13257:157:12;;;;;;;;;;;;;;;-1:-1:-1;13257:5:12;:157;;;2:2:-1;;;;27:1;24;17:12;2:2;13257:157:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13257:157:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;13487:3:12;;:30;;;-1:-1:-1;;;13487:30:12;;:3;:30;;;;;;13506:10;13487:30;;;;;;-1:-1:-1;;;;;13487:3:12;;;;-1:-1:-1;;13487:30:12;;;;;13257:157;;13487:30;;;;;;;;;;;:3;:30;;;2:2:-1;;;;27:1;24;17:12;2:2;13487:30:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13487:30:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13487:30:12;13553:5;;13592:3;;13553:57;;;-1:-1:-1;;;13553:57:12;;13572:10;13553:57;;;;-1:-1:-1;;;;;13592:3:12;;;13553:57;;;;;;;;;;;;13487:30;;-1:-1:-1;13553:5:12;;;-1:-1:-1;;13553:57:12;;;;;13487:30;;13553:57;;;;;;;;-1:-1:-1;13553:5:12;:57;;;2:2:-1;;;;27:1;24;17:12;2:2;13553:57:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13553:57:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;13691:3:12;;:40;;;-1:-1:-1;;;13691:40:12;;;;;;;;13720:10;13691:40;;;;;;-1:-1:-1;;;;;13691:3:12;;;;-1:-1:-1;;13691:40:12;;;;;13553:57;;13691:40;;;;;;;;-1:-1:-1;13691:3:12;:40;;;2:2:-1;;;;27:1;24;17:12;2:2;13691:40:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13691:40:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13691:40:12;13885:47;;;13893:10;13885:47;;13691:40;13885:47;;;;;;;;;;;;;13691:40;;-1:-1:-1;;;;;;;;;;;;13885:47:12;;;;;;;;;12535:1416;;12439:1886;;;14101:5;;14140:3;;14101:58;;;-1:-1:-1;;;14101:58:12;;14120:10;14101:58;;;;-1:-1:-1;;;;;14140:3:12;;;14101:58;;;;;;;;;;;;:5;;;;;-1:-1:-1;;14101:58:12;;;;;;;;;;;;;;-1:-1:-1;14101:5:12;:58;;;2:2:-1;;;;27:1;24;17:12;2:2;14101:58:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14101:58:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;14192:3:12;;:41;;;-1:-1:-1;;;14192:41:12;;;;;;;;14222:10;14192:41;;;;;;-1:-1:-1;;;;;14192:3:12;;;;-1:-1:-1;;14192:41:12;;;;;14101:58;;14192:41;;;;;;;;-1:-1:-1;14192:3:12;:41;;;2:2:-1;;;;27:1;24;17:12;2:2;14192:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14192:41:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14192:41:12;14274:36;;;14282:10;14274:36;;14192:41;14274:36;;;;;14308:1;14274:36;;;;;;14192:41;;-1:-1:-1;;;;;;;;;;;;14274:36:12;;;;;;;;;12439:1886;14399:21;14434:17;14430:135;;-1:-1:-1;14483:12:12;14430:135;;;-1:-1:-1;14542:12:12;14430:135;14646:3;;14697:5;;14646:94;;;-1:-1:-1;;;14646:94:12;;-1:-1:-1;;;;;14697:5:12;;;14646:94;;;;;;;;;;;;-1:-1:-1;;14646:3:12;;;;;:29;;:94;;;;;;;;;;;;;;;-1:-1:-1;14646:3:12;:94;;;2:2:-1;;;;27:1;24;17:12;2:2;14646:94:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14646:94:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14646:94:12;14785:3;;14822:10;14785:3;14846:31;;;:19;14646:94;14846:31;;;;;;14785:131;;-1:-1:-1;;;14785:131:12;;;;;;;;;-1:-1:-1;;;;;14846:31:12;;;14785:131;;;;;;;;;;;;14646:94;;-1:-1:-1;14785:3:12;;;;-1:-1:-1;;14785:131:12;;;;;:3;;:131;;;;;;:3;;:131;;;2:2:-1;;;;27:1;24;17:12;2:2;14785:131:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14785:131:12;;;;14998:35;15020:12;14998:17;:21;;:35;;;;:::i;:::-;:40;:96;;;;-1:-1:-1;15054:35:12;:17;15076:12;15054:35;:21;:35;:::i;:::-;:40;14998:96;14981:562;;;15366:10;15388:1;15346:31;;;:19;:31;;;;;;;;:44;;-1:-1:-1;;;;;;15346:44:12;;;15404:17;:29;;;;;:37;;-1:-1:-1;;15404:37:12;;;15500:16;:28;;;;;:32;14981:562;11340:4209;;;;;;;;:::o;1181:19::-;;;-1:-1:-1;;;;;1181:19:12;;:::o;1071:18::-;;;-1:-1:-1;;;;;1071:18:12;;:::o;8760:2452::-;9061:10;9041:31;;;;:19;:31;;;;;;-1:-1:-1;;;;;9026:46:12;;;9041:31;;9026:46;;:104;;-1:-1:-1;9110:10:12;9092:29;;;;:17;:29;;;;;;;;:38;9026:104;9005:171;;;;;-1:-1:-1;;;9005:171:12;;;;;;;;;;;;-1:-1:-1;;;9005:171:12;;;;;;;;;;;;;;;9186:22;;:::i;:::-;9417:3;;:36;;;-1:-1:-1;;;9417:36:12;;9442:10;9417:36;;;;;;-1:-1:-1;;;;;9417:3:12;;;;:24;;:36;;;;;;;;;;;;;;;-1:-1:-1;9417:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;9417:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9417:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9417:36:12;9397:56;;9483:3;;:36;;;-1:-1:-1;;;9483:36:12;;9508:10;9483:36;;;;;;-1:-1:-1;;;;;9483:3:12;;;;:24;;:36;;;;;9417;;9483;;;;;;;;-1:-1:-1;9483:3:12;:36;;;2:2:-1;;;;27:1;24;17:12;2:2;9483:36:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9483:36:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9483:36:12;;9463:17;;:56;;;9630:75;;9665:30;;9687:7;9665:30;:21;:30;:::i;:::-;9630:17;;;:75;:21;:75;:::i;:::-;9601:26;;;;:104;;;9796:3;;9847:5;;9796:107;;-1:-1:-1;;;9796:107:12;;-1:-1:-1;;;;;9847:5:12;;;9796:107;;;;;;;;;;;;;:3;;;:29;;:107;;;;;;;;;;;;;;-1:-1:-1;9796:3:12;:107;;;2:2:-1;;;;27:1;24;17:12;2:2;9796:107:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9796:107:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9796:107:12;9770:23;;;:133;9968:3;;10019:5;;9968:88;;;-1:-1:-1;;;9968:88:12;;-1:-1:-1;;;;;10019:5:12;;;9968:88;;;;;;;;;;;;:3;;;;;:29;;:88;;;;;9796:107;;9968:88;;;;;;;-1:-1:-1;9968:3:12;:88;;;2:2:-1;;;;27:1;24;17:12;2:2;9968:88:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9968:88:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9968:88:12;9949:16;;;:107;10147:3;;:92;;;-1:-1:-1;;;10147:92:12;;10194:10;10147:92;;;;-1:-1:-1;;;;;10147:92:12;;;;;;;;;:3;;;;;-1:-1:-1;;10147:92:12;;;;;9968:88;;10147:92;;;;;;;-1:-1:-1;10147:3:12;:92;;;2:2:-1;;;;27:1;24;17:12;2:2;10147:92:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10147:92:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10147:92:12;10115:29;;;:124;10300:23;;;;:30;;10328:1;10300:30;:27;:30;:::i;:::-;10285:12;;;:45;;;10427:23;;;;:41;;;:27;:41;:::i;:::-;10403:21;;;:65;;;10586:29;;;;:54;;10565:122;;;;;-1:-1:-1;;;10565:122:12;;;;;;;;;;;;-1:-1:-1;;;10565:122:12;;;;;;;;;;;;;;;10750:3;;10797:16;;;;10750:64;;;-1:-1:-1;;;10750:64:12;;10772:10;10750:64;;;;-1:-1:-1;;;;;10750:64:12;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;10750:64:12;;;;;-1:-1:-1;;10750:64:12;;;;;;;-1:-1:-1;10750:3:12;:64;;;2:2:-1;;;;27:1;24;17:12;2:2;10750:64:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10750:64:12;;;;10875:14;10887:1;10875:7;:11;;:14;;;;:::i;:::-;10863:9;;;:26;;;10956:10;10936:31;;;;:19;:31;;;;;;;;:45;;-1:-1:-1;;;;;;10936:45:12;-1:-1:-1;;;;;10936:45:12;;;;;;;;;;10991:17;:29;;;;;;:36;;-1:-1:-1;;10991:36:12;-1:-1:-1;10991:36:12;;;11074:3;;11085:9;;11074:33;;-1:-1:-1;;;11074:33:12;;;;;;;;;;;;;;;;;:3;;;:10;;:33;;;;;10936:31;11074:33;;;;;;10936:31;11074:3;:33;;;2:2:-1;;;;27:1;24;17:12;2:2;11074:33:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11117:3:12;;;11128:9;;;11117:33;;;-1:-1:-1;;;11117:33:12;;;;;;;;;11139:10;11117:33;;;;;-1:-1:-1;;;;;11117:3:12;;;;-1:-1:-1;11117:10:12;;-1:-1:-1;11117:33:12;;;;;-1:-1:-1;;11117:33:12;;;;;;;;-1:-1:-1;11117:3:12;:33;;;2:2:-1;;;;27:1;24;17:12;2:2;11117:33:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;11184:9:12;;;;11165:40;;;11172:10;11165:40;;;;;;;;;;;;;;;;;;-1:-1:-1;11165:40:12;;;;;;;;8760:2452;;;:::o;6732:91::-;6810:5;;-1:-1:-1;;;;;6810:5:12;;6732:91::o;18399:120::-;18484:3;;:28;;;-1:-1:-1;;;18484:28:12;;-1:-1:-1;;;;;18484:28:12;;;;;;;;;-1:-1:-1;;18484:3:12;;;;;-1:-1:-1;;18484:28:12;;;;;;;;;;;;;;;:3;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;18484:28:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18484:28:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18484:28:12;;18399:120;-1:-1:-1;;18399:120:12:o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;6829:163:12:-;-1:-1:-1;;;;;6959:26:12;6929:7;6959:26;;;:16;:26;;;;;;;6829:163::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;;1083:77::o;1206:25:12:-;;;-1:-1:-1;;;;;1206:25:12;;:::o;16158:2153::-;16313:29;;:::i;:::-;-1:-1:-1;;;;;16360:23:12;;:10;:23;;16352:63;;;;;-1:-1:-1;;;16352:63:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;16491:3;;:35;;;-1:-1:-1;;;16491:35:12;;-1:-1:-1;;;;;16491:35:12;;;;;;;;;-1:-1:-1;;16491:3:12;;;;;:24;;:35;;;;;;;;;;;;;;;-1:-1:-1;16491:3:12;:35;;;2:2:-1;;;;27:1;24;17:12;2:2;16491:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16491:35:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16491:35:12;16564:3;;:35;;;-1:-1:-1;;;16564:35:12;;-1:-1:-1;;;;;16564:35:12;;;;;;;;;16491;;-1:-1:-1;;;16564:3:12;;;;;:24;;:35;;;;;16491;;16564;;;;;;;-1:-1:-1;16564:3:12;:35;;;2:2:-1;;;;27:1;24;17:12;2:2;16564:35:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16564:35:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16564:35:12;;-1:-1:-1;16609:20:12;16632:40;:17;16564:35;16632:40;:21;:40;:::i;:::-;16747:3;;16798:5;;16747:93;;;-1:-1:-1;;;16747:93:12;;-1:-1:-1;;;;;16798:5:12;;;16747:93;;;;;;;;;;;;;;-1:-1:-1;16747:3:12;;;:29;;:93;;;;;;;;;;;;;;;-1:-1:-1;16747:3:12;:93;;;2:2:-1;;;;27:1;24;17:12;2:2;16747:93:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16747:93:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16747:93:12;16726:18;;;:114;16905:3;;:107;;;-1:-1:-1;;;16905:107:12;;-1:-1:-1;;;;;16905:107:12;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;16905:107:12;;;;;16747:93;;16905:107;;;;;;;-1:-1:-1;16905:3:12;:107;;;2:2:-1;;;;27:1;24;17:12;2:2;16905:107:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16905:107:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16905:107:12;16886:16;;;:126;17082:18;;;;:25;;17105:1;17082:25;:22;:25;:::i;:::-;17067:12;;;:40;;;17245:18;;;;:36;;;:22;:36;:::i;:::-;17221:21;;;:60;;;17509:16;;;;:40;17505:800;;;17624:5;;17663:3;;17624:63;;;-1:-1:-1;;;17624:63:12;;17643:10;17624:63;;;;-1:-1:-1;;;;;17663:3:12;;;17624:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;17624:63:12;;;;;;;;;;;;;;-1:-1:-1;17624:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;17624:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17624:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;17701:5:12;;17740:3;;17701:63;;;-1:-1:-1;;;17701:63:12;;17720:10;17701:63;;;;-1:-1:-1;;;;;17740:3:12;;;17701:63;;;;;;;;;;;;:5;;;;;-1:-1:-1;;17701:63:12;;;;;17624;;17701;;;;;;;-1:-1:-1;17701:5:12;:63;;;2:2:-1;;;;27:1;24;17:12;2:2;17701:63:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17701:63:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;17778:3:12;;17816:18;;;;17778:170;;;-1:-1:-1;;;17778:170:12;;;;;;;;;-1:-1:-1;;;;;17778:170:12;;;;;;;17879:10;17778:170;;;;;;;;;;;;;:3;;;-1:-1:-1;;17778:170:12;;;;;-1:-1:-1;;17778:170:12;;;;;;;;-1:-1:-1;17778:3:12;:170;;;2:2:-1;;;;27:1;24;17:12;2:2;17778:170:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17982:3:12;;:29;;;-1:-1:-1;;;17982:29:12;;:3;:29;;;;;;-1:-1:-1;;;;;17982:29:12;;;;;;;;;:3;;;;;-1:-1:-1;;;;17982:29:12;;;;;;;;;;;;;;;;;:3;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;17982:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17982:29:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17982:29:12;17962:17;;;:49;18059:3;;:29;;;-1:-1:-1;;;18059:29:12;;:3;:29;;;;;;-1:-1:-1;;;;;18059:29:12;;;;;;;;;:3;;;;;-1:-1:-1;;18059:29:12;;;;;17982;;18059;;;;;;;;;;:3;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;18059:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18059:29:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18059:29:12;18039:17;;;:49;18149:3;;18262:18;;;;18149:145;;;-1:-1:-1;;;18149:145:12;;-1:-1:-1;;;;;18149:145:12;;;;;;;;;;;;;;;;;;;;;;;:3;;;;;-1:-1:-1;;18149:145:12;;;;;-1:-1:-1;;18149:145:12;;;;;;;-1:-1:-1;18149:3:12;:145;;;2:2:-1;;;;27:1;24;17:12;2:2;18149:145:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18149:145:12;;;;17505:800;16158:2153;;;;;;:::o;18642:111::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18711:3:::1;::::0;:35:::1;::::0;;-1:-1:-1;;;18711:35:12;;-1:-1:-1;;;;;18711:35:12;;::::1;;::::0;::::1;::::0;;;:3;;;::::1;::::0;:24:::1;::::0;:35;;;;;-1:-1:-1;;18711:35:12;;;;;;;-1:-1:-1;18711:3:12;:35;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;1237:25:12::0;;;-1:-1:-1;;;;;1237:25:12;;:::o;1120:23::-;;;;;;;;;;;;;;;-1:-1:-1;;1120:23:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7228:334;7373:5;;7412:3;;7373:53;;;-1:-1:-1;;;7373:53:12;;7392:10;7373:53;;;;-1:-1:-1;;;;;7412:3:12;;;7373:53;;;;;;;;;;;;:5;;;;;-1:-1:-1;;7373:53:12;;;;;;;;;;;;;;-1:-1:-1;7373:5:12;:53;;;2:2:-1;;;;27:1;24;17:12;2:2;7373:53:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7373:53:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;7481:3:12;;:29;;;-1:-1:-1;;;7481:29:12;;7490:10;7481:29;;;;;;;;;;;;-1:-1:-1;;;;;7481:3:12;;;;-1:-1:-1;;7481:29:12;;;;;-1:-1:-1;;7481:29:12;;;;;;;;-1:-1:-1;7481:3:12;:29;;;2:2:-1;;;;27:1;24;17:12;2:2;7481:29:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;7525:30:12;;;7535:10;7525:30;;;;;;;;;;;;-1:-1:-1;7525:30:12;;;;;;;;-1:-1:-1;7525:30:12;7228:334;:::o;1268:30::-;;;-1:-1:-1;;;;;1268:30:12;;:::o;18759:93::-;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;18821:3:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;18821:24:12;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;18821:3:12;;::::1;::::0;:19:::1;::::0;:24;;;;;-1:-1:-1;;18821:24:12;;;;;;;;-1:-1:-1;18821:3:12;:24;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;3836:1040:12::0;1711:3;;-1:-1:-1;;;;;1711:3:12;1689:10;:26;1681:35;;12:1:-1;9;2:12;1681:35:12;3988:7:::1;:14:::0;;;4035:24:::1;::::0;;-1:-1:-1;;;4035:24:12::1;::::0;;::::1;::::0;;;;;;::::1;26:21:-1::0;;;22:32;6:49;;4035:24:12;;;;;;4079:36;;4035:24;;4105:9:::1;::::0;4079:36;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4079:36:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4079:36:12::1;::::0;;-1:-1:-1;;26:21;;::::1;22:32:::0;6:49;;4079:36:12;;;-1:-1:-1;;;49:4:::1;4190:24:12::0;;::::1;::::0;;;;;;26:21:-1;;;4190:24:12::1;22:32:-1::0;6:49;;4190:24:12;;;;;;4236:40;;4079:36;;-1:-1:-1;4190:24:12;;-1:-1:-1;4190:24:12;;-1:-1:-1;4264:11:12::1;::::0;-1:-1:-1;4236:40:12;;;;;;;;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4236:40:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4236:40:12;;;4224:52;;4326:26;4362:7;4326:44;;4380:28;4418:9;4380:48;;4508:4;;;;;;;;;-1:-1:-1::0;;;;;4508:4:12::1;-1:-1:-1::0;;;;;4508:14:12::1;;4584:18;4628:5;;;;;;;;;-1:-1:-1::0;;;;;4628:5:12::1;4660:3;;;;;;;;;-1:-1:-1::0;;;;;4660:3:12::1;4690;;;;;;;;;-1:-1:-1::0;;;;;4690:3:12::1;4712:12;4742:14;4774:5;4797:20;4508:323;;;;;;;;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;-1:-1:-1::0;;;;;4508:323:12::1;-1:-1:-1::0;;;;;4508:323:12::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;4508:323:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;4508:323:12;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;4508:323:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;4508:323:12;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4508:323:12;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;4508:323:12;4474:3:::1;:367:::0;;-1:-1:-1;;;;;;4474:367:12;;::::1;-1:-1:-1::0;;;;;4474:367:12;;::::1;;::::0;;;;4851:3:::1;:18:::0;;4865:3;;;::::1;4851:18:::0;::::1;;::::0;;-1:-1:-1;;;;;;;3836:1040:12:o;1015:22::-;;;;:::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;1043:22:12:-;;;;:::o;882:176:39:-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:1;882:176;-1:-1:-1;;;882:176:39:o;1329:134::-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i;3109:130::-;3167:7;3193:39;3197:1;3200;3193:39;;;;;;;;;;;;;;;;;:3;:39::i;598:104:37:-;685:10;598:104;:::o;1754:187:39:-;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1859:29:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:39;;;1754:187::o;3721:272::-;3807:7;3841:12;3834:5;3826:28;;;;-1:-1:-1;;;3826:28:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27:10;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3826:28:39;;3864:9;3880:1;3876;:5;;;;;;;3721:272;-1:-1:-1;;;;;3721:272:39:o;895:18058:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", "source": "pragma solidity ^0.6.0;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\nimport \"./compound/Exponential.sol\";\nimport \"./interfaces/UniswapOracleFactoryI.sol\";\nimport \"./interfaces/MoneyMarketFactoryI.sol\";\nimport \"./interfaces/AskoRiskTokenI.sol\";\nimport \"./interfaces/ARTFactoryI.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketInstance\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe MoneyMarketInstance contract is designed facilitate a tiered money market for an individual ERC20 asset\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol && IRC20.sol\n**/\ncontract MoneyMarketInstance is Ownable, Exponential {\n using SafeMath for uint256;\n\n uint256 public divisor;\n uint256 public fee_AHR;\n uint256 public fee_ALR;\n address public ahr;\n address public alr;\n\n string public assetName;\n string public assetSymbol;\n\n IERC20 public asset;\n AskoRiskTokenI public AHR;\n AskoRiskTokenI public ALR;\n MoneyMarketFactoryI public MMF;\n UniswapOracleFactoryI public UOF;\n ARTFactoryI public ARTF;\n\n mapping(address => uint256) lockedCollateral;\n mapping(address => address) collateralLockedALR;\n mapping(address => bool) cantCollateralize;\n /**\n@notice onlyMMFactory is a modifier used to make a function only callable by the Money Market Factory contract\n**/\n modifier onlyMMFactory() {\n require(msg.sender == address(MMF));\n _;\n }\n\n event LentToAHR(address lender, uint256 amount);\n event LentToALR(address lender, uint256 amount);\n event Borrow(address borrower, uint256 AHRamount, uint256 ALRamount);\n event Repayed(address borrower, uint256 AHRamount, uint256 ALRamount);\n event Collateralized(address collateralizer, uint256 amount);\n\n /**\n@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\n is used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\n before creating each token.\n**/\n constructor(\n address _assetContractAdd,\n address _oracleFactory,\n address _owner,\n address _ARTF,\n string memory _assetName,\n string memory _assetSymbol\n ) public {\n divisor = 10000;\n assetName = _assetName;\n assetSymbol = _assetSymbol;\n UOF = UniswapOracleFactoryI(_oracleFactory);\n MMF = MoneyMarketFactoryI(_owner);\n asset = IERC20(_assetContractAdd);\n ARTF = ARTFactoryI(_ARTF);\n }\n\n /**\n@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\n This is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"AHR-\" in front of it\n example: AHR-LINK\n@dev asset.approve() is called to allow the AHR contract to freeely transfer the assset from this contract when the mint\n lendToAHRpool function is called.\n**/\n function _setUpAHR(\n address _InterestRateModel,\n uint256 _fee,\n uint256 _initialExchangeRate\n ) public onlyMMFactory {\n fee_AHR = _fee;\n bytes memory ahrname = abi.encodePacked(\"AHR-\");\n ahrname = abi.encodePacked(ahrname, assetName);\n //abi encode and concat strings\n bytes memory ahrsymbol = abi.encodePacked(\"AHR-\");\n ahrsymbol = abi.encodePacked(ahrsymbol, assetSymbol);\n //abi encode and concat strings\n string memory assetNameAHR = string(ahrname);\n string memory assetSymbolAHR = string(ahrsymbol);\n //un-encode concated string\n AHR = AskoRiskTokenI(\n ARTF.createART( //creates new Asko High Risk Token Contract\n _InterestRateModel,\n address(asset),\n address(UOF),\n address(MMF),\n assetNameAHR,\n assetSymbolAHR,\n false,\n _initialExchangeRate\n )\n );\n ahr = address(AHR);\n }\n\n /**\n@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\n This is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"ALR-\" in front of it\n example: ALR-LINK\n@dev asset.approve() is called to allow the ALR contract to freeely transfer the assset from this contract when the mint\n lendToALRpool function is called.\n**/\n function _setUpALR(\n address _InterestRateModel,\n uint256 _fee,\n uint256 _initialExchangeRate\n ) public onlyMMFactory {\n fee_ALR = _fee;\n bytes memory alrname = abi.encodePacked(\"AlR-\");\n alrname = abi.encodePacked(alrname, assetName);\n //abi encode and concat strings\n bytes memory alrsymbol = abi.encodePacked(\"AlR-\");\n alrsymbol = abi.encodePacked(alrsymbol, assetSymbol);\n //abi encode and concat strings\n string memory assetNameALR = string(alrname);\n string memory assetSymbolALR = string(alrsymbol);\n //un-encode concated string\n ALR = AskoRiskTokenI(\n ARTF.createART( //creates new Asko High Risk Token Contract\n _InterestRateModel,\n address(asset),\n address(UOF),\n address(MMF),\n assetNameALR,\n assetSymbolALR,\n true,\n _initialExchangeRate\n )\n );\n alr = address(ALR);\n }\n\n /**\n@notice getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address\n**/\n function getAssetAdd() public view returns (address) {\n return address(asset);\n }\n\n function viewLockedCollateralizedALR(address _account)\n public\n view\n returns (uint256)\n {\n return lockedCollateral[_account];\n }\n\n /**\n@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's High Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset\n**/\n function lendToAHRpool(uint256 _amount) public {\n //transfer appropriate amount off the asset from msg.sender to the AHR contract\n asset.transferFrom(msg.sender, address(AHR), _amount);\n //call mint function on AHR contract\n AHR.mint(msg.sender, _amount);\n emit LentToAHR(msg.sender, _amount);\n }\n\n /**\n@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's Low Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset\n**/\n function lendToALRpool(uint256 _amount) public {\n //transfer appropriate amount off the asset from msg.sender to the AHR contract\n asset.transferFrom(msg.sender, address(ALR), _amount);\n //call mint function on ALR contract\n ALR.mint(msg.sender, _amount);\n emit LentToALR(msg.sender, _amount);\n }\n\n //struct used to avoid stack too deep errors\n struct borrowVars {\n uint256 borrowBalAHR;\n uint256 borrowBalALR;\n uint256 totalFutureAmountOwed;\n uint256 availibleCollateralValue;\n uint256 assetAmountValOwed;\n uint256 amountValue; // Note: reverts on error\n uint256 halfVal;\n uint256 collateralNeeded;\n uint256 half;\n }\n\n /**\n@notice borrow is used to take out a loan from in MoneyMarketInstance's underlying asset\n@param _amount is the amount of asset being barrowed\n@param _collateral is the address of the ALR token being used as collateral\n**/\n function borrow(uint256 _amount, address _collateral) public {\n //require that the collateral a user is looking to use is the same as the type they already have a loan in\n //OR that their cantCollateralize mapping is false\n require(\n _collateral == collateralLockedALR[msg.sender] ||\n cantCollateralize[msg.sender] == false,\n \"collateral not right\"\n );\n borrowVars memory vars;\n //check that the user has enough collateral in input money market\n //this returns the USDC price of their asset\n\n //get current borrow balances for each ART\n vars.borrowBalAHR = AHR.borrowBalanceCurrent(msg.sender);\n vars.borrowBalALR = ALR.borrowBalanceCurrent(msg.sender);\n //calculate the new amount that would be owed if borrow suceeds\n vars.totalFutureAmountOwed = vars.borrowBalAHR.add(\n vars.borrowBalALR.add(_amount)\n );\n //check current asset USDC value of whats owed\n vars.assetAmountValOwed = UOF.getUnderlyingPriceofAsset(\n address(asset),\n vars.totalFutureAmountOwed\n );\n //get USDC value of _amount\n vars.amountValue = UOF.getUnderlyingPriceofAsset(\n address(asset),\n _amount\n );\n //get USDC value of availible collateral\n vars.availibleCollateralValue = MMF.checkAvailibleCollateralValue(\n msg.sender,\n _collateral\n );\n\n //divide amount value by 3\n vars.halfVal = vars.assetAmountValOwed.div(2);\n //add 1/2 value to asset value to get 150% asset value\n vars.collateralNeeded = vars.assetAmountValOwed.add(vars.halfVal);\n //require collateral value to be greater than 150% of the amount value of loan\n require(\n vars.availibleCollateralValue >= vars.collateralNeeded,\n \"not enough collateral\"\n );\n //track USDC value being locked for the loan\n MMF.trackCollateralUp(msg.sender, _collateral, vars.amountValue);\n //cut amount of tokens in half\n vars.half = _amount.div(2);\n\n //track which ALR is locked\n collateralLockedALR[msg.sender] = _collateral;\n cantCollateralize[msg.sender] = true;\n //borrow half from each pool\n AHR.borrow(vars.half, msg.sender);\n ALR.borrow(vars.half, msg.sender);\n emit Borrow(msg.sender, vars.half, vars.half);\n }\n\n /**\n@notice repay is used to repay a loan\n@param _repayAmount is the amount of the underlying asset being repayed\n**/\n function repay(uint256 _repayAmount) public {\n //get their current owed balance of ALR\n uint256 accountBorrowsALR = ALR.borrowBalanceCurrent(msg.sender);\n uint256 accountBorrowsAHR = AHR.borrowBalanceCurrent(msg.sender);\n uint256 totalBorrows = accountBorrowsALR.add(accountBorrowsAHR);\n require(_repayAmount <= totalBorrows, \"Repaying too much\");\n uint256 payAmountAHR;\n uint256 payAmountALR;\n\n ///////////////repay all///////////////\n if (_repayAmount == 0) {\n if (accountBorrowsALR != 0) {\n asset.transferFrom(msg.sender, address(ALR), accountBorrowsALR);\n payAmountALR = ALR.repayBorrow(accountBorrowsALR, msg.sender); // repay amount to ALR\n }\n asset.transferFrom(msg.sender, address(AHR), accountBorrowsAHR);\n payAmountAHR = AHR.repayBorrow(accountBorrowsAHR, msg.sender); //pay off towards AHR\n emit Repayed(msg.sender, accountBorrowsAHR, accountBorrowsALR);\n } else {\n ///////////////repay ALR///////////////////\n if (accountBorrowsALR != 0) {\n //if amount owed to ALR isnt zero\n if (accountBorrowsALR >= _repayAmount) {\n //if repay amount is less than whats owed in ALR\n //transfer asset from the user to this contract\n asset.transferFrom(msg.sender, address(ALR), _repayAmount);\n payAmountALR = ALR.repayBorrow(_repayAmount, msg.sender); // repay amount to ALR\n\n emit Repayed(msg.sender, 0, _repayAmount);\n } else {\n ///////////////repay all of ALR && some AHR///////////////////\n //if repay amount is MORE than ALR owed\n uint256 amountToAHR = _repayAmount.sub(accountBorrowsALR); //calculate amount going to AHR\n asset.transferFrom(\n msg.sender,\n address(ALR),\n accountBorrowsALR\n ); //transfer remaining ALR bal to ALR\n payAmountALR = ALR.repayBorrow(0, msg.sender); //pay off ALR\n asset.transferFrom(msg.sender, address(AHR), amountToAHR); // transfer remaining payment amount to AHR\n payAmountAHR = AHR.repayBorrow(amountToAHR, msg.sender); //pay off towards AHR\n //if payAmountAHR is greater than 0 transfer asset from the user to the AHR contract\n emit Repayed(msg.sender, payAmountAHR, payAmountALR);\n }\n } else {\n //if amount owed to ALR is zero\n //transfer asset from the user to this contract\n asset.transferFrom(msg.sender, address(AHR), payAmountAHR);\n payAmountAHR = AHR.repayBorrow(_repayAmount, msg.sender); //pay towards AHR\n emit Repayed(msg.sender, payAmountAHR, 0);\n }\n }\n\n ///////unlock collateral value logic/////////\n uint256 repayedAmount;\n if (_repayAmount == 0) {\n repayedAmount = totalBorrows;\n } else {\n repayedAmount = _repayAmount;\n }\n ///get USDC value of what was repayed\n uint256 _USDCvalRepayed = UOF.getUnderlyingPriceofAsset(\n address(asset),\n repayedAmount\n );\n ////track repayment in MMC\n MMF.trackCollateralDown(\n msg.sender,\n collateralLockedALR[msg.sender],\n _USDCvalRepayed\n );\n //////////////fully repayed logic/////////////\n if (\n accountBorrowsAHR.sub(payAmountAHR) == 0 &&\n accountBorrowsALR.sub(payAmountALR) == 0\n ) {\n //if the loan is fully payed off\n //unlock the users locked collateral for this loan\n\n //reset collateralLockedALR address to zero so the user can use a different ALR address in future borrows\n collateralLockedALR[msg.sender] = address(0);\n cantCollateralize[msg.sender] = false;\n //reset locked collateral amount\n lockedCollateral[msg.sender] = 0;\n }\n }\n\n //struct used to avoid stack too deep errors\n struct liquidateLocalVar {\n uint256 accountBorrowsALR;\n uint256 accountBorrowsAHR;\n uint256 totalBorrows;\n uint256 borrowedValue;\n uint256 borrowedValue150;\n uint256 collatValue;\n uint256 halfVal;\n uint256 payAmountALR; // Note: reverts on error\n uint256 payAmountAHR;\n }\n\n /**\n @notice _liquidateFor is called by the liquidateAccount function on a MMI where a user is being liquidated. This function\n is called on a MMI contract where collateral is staked.\n\n **/\n function liquidateAccount(\n address _borrower,\n AskoRiskTokenI _ARTcollateralized\n ) public {\n //create local vars storage\n liquidateLocalVar memory vars;\n require(msg.sender != _borrower, \"you cant liquidate yourself\");\n //get current borrowed amount\n uint256 accountBorrowsALR = ALR.borrowBalanceCurrent(_borrower);\n uint256 accountBorrowsAHR = AHR.borrowBalanceCurrent(_borrower);\n uint256 totalBorrows = accountBorrowsALR.add(accountBorrowsAHR);\n\n //get USDC value of borrowed value\n vars.borrowedValue = UOF.getUnderlyingPriceofAsset(\n address(asset),\n totalBorrows\n );\n //get usdc collateral value\n vars.collatValue = MMF.checkAvailibleCollateralValue(\n _borrower,\n address(_ARTcollateralized)\n );\n //divide borrowedValue value in half\n vars.halfVal = vars.borrowedValue.div(2);\n //add 1/2 the borrowedValue value to the total borrowedValue value for 150% borrowedValue value\n vars.borrowedValue150 = vars.borrowedValue.add(vars.halfVal);\n /**\n need to check if the amount of collateral is less than 150% of the borrowed amount\n if the collateral value is greater than or equal to 150% of the borrowed value than we liquidate\n **/\n if (vars.collatValue < vars.borrowedValue150) {\n //transfer asset from msg.sender to repay loan\n asset.transferFrom(msg.sender, address(ALR), accountBorrowsALR);\n asset.transferFrom(msg.sender, address(AHR), accountBorrowsAHR);\n MMF.liquidateTrigger(\n vars.borrowedValue,\n _borrower,\n msg.sender,\n address(_ARTcollateralized)\n );\n vars.payAmountALR = ALR.repayBorrow(0, _borrower); //pay off ALR\n vars.payAmountAHR = AHR.repayBorrow(0, _borrower); //pay off AHR\n\n //track collateral\n MMF.trackCollateralDown(\n _borrower,\n address(_ARTcollateralized),\n vars.borrowedValue\n );\n }\n }\n\n /**\n@notice these are admin functions for updating individual ART values\n**/\n\n function checkIfALR(address _inQuestion) public view returns (bool) {\n return MMF._checkIfALR(_inQuestion);\n }\n\n function updateALR(address _newModel) public onlyMMFactory {\n ALR._updateInterestModel(_newModel);\n }\n\n function updateAHR(address _newModel) public onlyMMFactory {\n AHR._updateInterestModel(_newModel);\n }\n\n function setRRAHR(uint256 _RR) public onlyMMFactory {\n AHR.setReserveRatio(_RR);\n }\n\n function setRRALR(uint256 _RR) public onlyMMFactory {\n ALR.setReserveRatio(_RR);\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "exportedSymbols": { "MoneyMarketInstance": [ - 4045 + 4052 ] }, - "id": 4046, + "id": 4053, "nodeType": "SourceUnit", "nodes": [ { - "id": 2842, + "id": 2849, "literals": [ "solidity", "^", @@ -622,10 +622,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 2843, + "id": 2850, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 10755, + "scope": 4053, + "sourceUnit": 10762, "src": "25:60:12", "symbolAliases": [], "unitAlias": "" @@ -633,10 +633,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 2844, + "id": 2851, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 10951, + "scope": 4053, + "sourceUnit": 10958, "src": "86:59:12", "symbolAliases": [], "unitAlias": "" @@ -644,65 +644,65 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 2845, + "id": 2852, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 11536, + "scope": 4053, + "sourceUnit": 11539, "src": "146:64:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", - "id": 2846, + "id": 2853, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6343, + "scope": 4053, + "sourceUnit": 6350, "src": "211:36:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", - "id": 2847, + "id": 2854, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6789, + "scope": 4053, + "sourceUnit": 6796, "src": "248:48:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", - "id": 2848, + "id": 2855, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6646, + "scope": 4053, + "sourceUnit": 6653, "src": "297:46:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "file": "./interfaces/AskoRiskTokenI.sol", - "id": 2849, + "id": 2856, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6555, + "scope": 4053, + "sourceUnit": 6562, "src": "344:41:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol", "file": "./interfaces/ARTFactoryI.sol", - "id": 2850, + "id": 2857, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6448, + "scope": 4053, + "sourceUnit": 6455, "src": "386:38:12", "symbolAliases": [], "unitAlias": "" @@ -714,17 +714,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2852, + "id": 2859, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10754, + "referencedDeclaration": 10761, "src": "927:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10754", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 2853, + "id": 2860, "nodeType": "InheritanceSpecifier", "src": "927:7:12" }, @@ -732,64 +732,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2854, + "id": 2861, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6342, + "referencedDeclaration": 6349, "src": "936:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6342", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, - "id": 2855, + "id": 2862, "nodeType": "InheritanceSpecifier", "src": "936:11:12" } ], "contractDependencies": [ - 5157, - 6342, - 10645, - 10754 + 5164, + 6349, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 2851, + "id": 2858, "nodeType": "StructuredDocumentation", "src": "673:221:12", "text": "The MoneyMarketInstance contract is designed facilitate a tiered money market for an individual ERC20 asset\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol && IRC20.sol*" }, "fullyImplemented": true, - "id": 4045, + "id": 4052, "linearizedBaseContracts": [ - 4045, - 6342, - 5157, - 10754, - 10645 + 4052, + 6349, + 5164, + 10761, + 10652 ], "name": "MoneyMarketInstance", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2858, + "id": 2865, "libraryName": { "contractScope": null, - "id": 2856, + "id": 2863, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10950, + "referencedDeclaration": 10957, "src": "960:8:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10950", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "954:27:12", "typeName": { - "id": 2857, + "id": 2864, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "973:7:12", @@ -802,12 +802,12 @@ { "constant": false, "functionSelector": "1f2dc5ef", - "id": 2860, + "id": 2867, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "987:22:12", "stateVariable": true, "storageLocation": "default", @@ -816,7 +816,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2859, + "id": 2866, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "987:7:12", @@ -831,12 +831,12 @@ { "constant": false, "functionSelector": "f2130c70", - "id": 2862, + "id": 2869, "mutability": "mutable", "name": "fee_AHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1015:22:12", "stateVariable": true, "storageLocation": "default", @@ -845,7 +845,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2861, + "id": 2868, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1015:7:12", @@ -860,12 +860,12 @@ { "constant": false, "functionSelector": "f9828b4f", - "id": 2864, + "id": 2871, "mutability": "mutable", "name": "fee_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1043:22:12", "stateVariable": true, "storageLocation": "default", @@ -874,7 +874,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2863, + "id": 2870, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1043:7:12", @@ -889,12 +889,12 @@ { "constant": false, "functionSelector": "460bb650", - "id": 2866, + "id": 2873, "mutability": "mutable", "name": "ahr", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1071:18:12", "stateVariable": true, "storageLocation": "default", @@ -903,7 +903,7 @@ "typeString": "address" }, "typeName": { - "id": 2865, + "id": 2872, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:12", @@ -919,12 +919,12 @@ { "constant": false, "functionSelector": "045de1f8", - "id": 2868, + "id": 2875, "mutability": "mutable", "name": "alr", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1095:18:12", "stateVariable": true, "storageLocation": "default", @@ -933,7 +933,7 @@ "typeString": "address" }, "typeName": { - "id": 2867, + "id": 2874, "name": "address", "nodeType": "ElementaryTypeName", "src": "1095:7:12", @@ -949,12 +949,12 @@ { "constant": false, "functionSelector": "c9230c5d", - "id": 2870, + "id": 2877, "mutability": "mutable", "name": "assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1120:23:12", "stateVariable": true, "storageLocation": "default", @@ -963,7 +963,7 @@ "typeString": "string" }, "typeName": { - "id": 2869, + "id": 2876, "name": "string", "nodeType": "ElementaryTypeName", "src": "1120:6:12", @@ -978,12 +978,12 @@ { "constant": false, "functionSelector": "176de7a8", - "id": 2872, + "id": 2879, "mutability": "mutable", "name": "assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1149:25:12", "stateVariable": true, "storageLocation": "default", @@ -992,7 +992,7 @@ "typeString": "string" }, "typeName": { - "id": 2871, + "id": 2878, "name": "string", "nodeType": "ElementaryTypeName", "src": "1149:6:12", @@ -1007,28 +1007,28 @@ { "constant": false, "functionSelector": "38d52e0f", - "id": 2874, + "id": 2881, "mutability": "mutable", "name": "asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1181:19:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 2873, + "id": 2880, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11535, + "referencedDeclaration": 11538, "src": "1181:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -1038,28 +1038,28 @@ { "constant": false, "functionSelector": "9241cef2", - "id": 2876, + "id": 2883, "mutability": "mutable", "name": "AHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1206:25:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2875, + "id": 2882, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "1206:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -1069,28 +1069,28 @@ { "constant": false, "functionSelector": "c27d4df3", - "id": 2878, + "id": 2885, "mutability": "mutable", "name": "ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1237:25:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2877, + "id": 2884, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "1237:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -1100,28 +1100,28 @@ { "constant": false, "functionSelector": "d162054a", - "id": 2880, + "id": 2887, "mutability": "mutable", "name": "MMF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1268:30:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { "contractScope": null, - "id": 2879, + "id": 2886, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6645, + "referencedDeclaration": 6652, "src": "1268:19:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -1131,28 +1131,28 @@ { "constant": false, "functionSelector": "11e2c02f", - "id": 2882, + "id": 2889, "mutability": "mutable", "name": "UOF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1304:32:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { "contractScope": null, - "id": 2881, + "id": 2888, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6788, + "referencedDeclaration": 6795, "src": "1304:21:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -1162,28 +1162,28 @@ { "constant": false, "functionSelector": "1dda0780", - "id": 2884, + "id": 2891, "mutability": "mutable", "name": "ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1342:23:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" }, "typeName": { "contractScope": null, - "id": 2883, + "id": 2890, "name": "ARTFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6447, + "referencedDeclaration": 6454, "src": "1342:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, @@ -1192,12 +1192,12 @@ }, { "constant": false, - "id": 2888, + "id": 2895, "mutability": "mutable", "name": "lockedCollateral", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1372:44:12", "stateVariable": true, "storageLocation": "default", @@ -1206,9 +1206,9 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 2887, + "id": 2894, "keyType": { - "id": 2885, + "id": 2892, "name": "address", "nodeType": "ElementaryTypeName", "src": "1380:7:12", @@ -1224,7 +1224,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2886, + "id": 2893, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1391:7:12", @@ -1239,12 +1239,12 @@ }, { "constant": false, - "id": 2892, + "id": 2899, "mutability": "mutable", "name": "collateralLockedALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1422:47:12", "stateVariable": true, "storageLocation": "default", @@ -1253,9 +1253,9 @@ "typeString": "mapping(address => address)" }, "typeName": { - "id": 2891, + "id": 2898, "keyType": { - "id": 2889, + "id": 2896, "name": "address", "nodeType": "ElementaryTypeName", "src": "1430:7:12", @@ -1271,7 +1271,7 @@ "typeString": "mapping(address => address)" }, "valueType": { - "id": 2890, + "id": 2897, "name": "address", "nodeType": "ElementaryTypeName", "src": "1441:7:12", @@ -1287,12 +1287,12 @@ }, { "constant": false, - "id": 2896, + "id": 2903, "mutability": "mutable", "name": "cantCollateralize", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1475:42:12", "stateVariable": true, "storageLocation": "default", @@ -1301,9 +1301,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 2895, + "id": 2902, "keyType": { - "id": 2893, + "id": 2900, "name": "address", "nodeType": "ElementaryTypeName", "src": "1483:7:12", @@ -1319,7 +1319,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 2894, + "id": 2901, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1494:4:12", @@ -1334,7 +1334,7 @@ }, { "body": { - "id": 2910, + "id": 2917, "nodeType": "Block", "src": "1671:63:12", "statements": [ @@ -1348,7 +1348,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2906, + "id": 2913, "isConstant": false, "isLValue": false, "isPure": false, @@ -1357,7 +1357,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2900, + "id": 2907, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1368,7 +1368,7 @@ "typeString": "msg" } }, - "id": 2901, + "id": 2908, "isConstant": false, "isLValue": false, "isPure": false, @@ -1389,14 +1389,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2904, + "id": 2911, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "1711:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -1404,11 +1404,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 2903, + "id": 2910, "isConstant": false, "isLValue": false, "isPure": true, @@ -1420,7 +1420,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 2902, + "id": 2909, "name": "address", "nodeType": "ElementaryTypeName", "src": "1703:7:12", @@ -1430,7 +1430,7 @@ } } }, - "id": 2905, + "id": 2912, "isConstant": false, "isLValue": false, "isPure": false, @@ -1459,7 +1459,7 @@ "typeString": "bool" } ], - "id": 2899, + "id": 2906, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1473,7 +1473,7 @@ "typeString": "function (bool) pure" } }, - "id": 2907, + "id": 2914, "isConstant": false, "isLValue": false, "isPure": false, @@ -1488,29 +1488,29 @@ "typeString": "tuple()" } }, - "id": 2908, + "id": 2915, "nodeType": "ExpressionStatement", "src": "1681:35:12" }, { - "id": 2909, + "id": 2916, "nodeType": "PlaceholderStatement", "src": "1726:1:12" } ] }, "documentation": { - "id": 2897, + "id": 2904, "nodeType": "StructuredDocumentation", "src": "1523:118:12", "text": "@notice onlyMMFactory is a modifier used to make a function only callable by the Money Market Factory contract*" }, - "id": 2911, + "id": 2918, "name": "onlyMMFactory", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 2898, + "id": 2905, "nodeType": "ParameterList", "parameters": [], "src": "1668:2:12" @@ -1522,22 +1522,22 @@ { "anonymous": false, "documentation": null, - "id": 2917, + "id": 2924, "name": "LentToAHR", "nodeType": "EventDefinition", "parameters": { - "id": 2916, + "id": 2923, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2913, + "id": 2920, "indexed": false, "mutability": "mutable", "name": "lender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2917, + "scope": 2924, "src": "1756:14:12", "stateVariable": false, "storageLocation": "default", @@ -1546,7 +1546,7 @@ "typeString": "address" }, "typeName": { - "id": 2912, + "id": 2919, "name": "address", "nodeType": "ElementaryTypeName", "src": "1756:7:12", @@ -1561,13 +1561,13 @@ }, { "constant": false, - "id": 2915, + "id": 2922, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2917, + "scope": 2924, "src": "1772:14:12", "stateVariable": false, "storageLocation": "default", @@ -1576,7 +1576,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2914, + "id": 2921, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1772:7:12", @@ -1596,22 +1596,22 @@ { "anonymous": false, "documentation": null, - "id": 2923, + "id": 2930, "name": "LentToALR", "nodeType": "EventDefinition", "parameters": { - "id": 2922, + "id": 2929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2919, + "id": 2926, "indexed": false, "mutability": "mutable", "name": "lender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2923, + "scope": 2930, "src": "1809:14:12", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "address" }, "typeName": { - "id": 2918, + "id": 2925, "name": "address", "nodeType": "ElementaryTypeName", "src": "1809:7:12", @@ -1635,13 +1635,13 @@ }, { "constant": false, - "id": 2921, + "id": 2928, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2923, + "scope": 2930, "src": "1825:14:12", "stateVariable": false, "storageLocation": "default", @@ -1650,7 +1650,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2920, + "id": 2927, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1825:7:12", @@ -1670,22 +1670,22 @@ { "anonymous": false, "documentation": null, - "id": 2931, + "id": 2938, "name": "Borrow", "nodeType": "EventDefinition", "parameters": { - "id": 2930, + "id": 2937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2925, + "id": 2932, "indexed": false, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1859:16:12", "stateVariable": false, "storageLocation": "default", @@ -1694,7 +1694,7 @@ "typeString": "address" }, "typeName": { - "id": 2924, + "id": 2931, "name": "address", "nodeType": "ElementaryTypeName", "src": "1859:7:12", @@ -1709,13 +1709,13 @@ }, { "constant": false, - "id": 2927, + "id": 2934, "indexed": false, "mutability": "mutable", "name": "AHRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1877:17:12", "stateVariable": false, "storageLocation": "default", @@ -1724,7 +1724,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2926, + "id": 2933, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1877:7:12", @@ -1738,13 +1738,13 @@ }, { "constant": false, - "id": 2929, + "id": 2936, "indexed": false, "mutability": "mutable", "name": "ALRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1896:17:12", "stateVariable": false, "storageLocation": "default", @@ -1753,7 +1753,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2928, + "id": 2935, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1896:7:12", @@ -1773,22 +1773,22 @@ { "anonymous": false, "documentation": null, - "id": 2939, + "id": 2946, "name": "Repayed", "nodeType": "EventDefinition", "parameters": { - "id": 2938, + "id": 2945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2933, + "id": 2940, "indexed": false, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1934:16:12", "stateVariable": false, "storageLocation": "default", @@ -1797,7 +1797,7 @@ "typeString": "address" }, "typeName": { - "id": 2932, + "id": 2939, "name": "address", "nodeType": "ElementaryTypeName", "src": "1934:7:12", @@ -1812,13 +1812,13 @@ }, { "constant": false, - "id": 2935, + "id": 2942, "indexed": false, "mutability": "mutable", "name": "AHRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1952:17:12", "stateVariable": false, "storageLocation": "default", @@ -1827,7 +1827,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2934, + "id": 2941, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1952:7:12", @@ -1841,13 +1841,13 @@ }, { "constant": false, - "id": 2937, + "id": 2944, "indexed": false, "mutability": "mutable", "name": "ALRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1971:17:12", "stateVariable": false, "storageLocation": "default", @@ -1856,7 +1856,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2936, + "id": 2943, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1971:7:12", @@ -1876,22 +1876,22 @@ { "anonymous": false, "documentation": null, - "id": 2945, + "id": 2952, "name": "Collateralized", "nodeType": "EventDefinition", "parameters": { - "id": 2944, + "id": 2951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2941, + "id": 2948, "indexed": false, "mutability": "mutable", "name": "collateralizer", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2945, + "scope": 2952, "src": "2016:22:12", "stateVariable": false, "storageLocation": "default", @@ -1900,7 +1900,7 @@ "typeString": "address" }, "typeName": { - "id": 2940, + "id": 2947, "name": "address", "nodeType": "ElementaryTypeName", "src": "2016:7:12", @@ -1915,13 +1915,13 @@ }, { "constant": false, - "id": 2943, + "id": 2950, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2945, + "scope": 2952, "src": "2040:14:12", "stateVariable": false, "storageLocation": "default", @@ -1930,7 +1930,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2942, + "id": 2949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2040:7:12", @@ -1949,25 +1949,25 @@ }, { "body": { - "id": 2997, + "id": 3004, "nodeType": "Block", "src": "2855:274:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 2963, + "id": 2970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2961, + "id": 2968, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2860, + "referencedDeclaration": 2867, "src": "2865:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1979,7 +1979,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3130303030", - "id": 2962, + "id": 2969, "isConstant": false, "isLValue": false, "isPure": true, @@ -2000,25 +2000,25 @@ "typeString": "uint256" } }, - "id": 2964, + "id": 2971, "nodeType": "ExpressionStatement", "src": "2865:15:12" }, { "expression": { "argumentTypes": null, - "id": 2967, + "id": 2974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2965, + "id": 2972, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "2890:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2029,11 +2029,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2966, + "id": 2973, "name": "_assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2956, + "referencedDeclaration": 2963, "src": "2902:10:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2046,25 +2046,25 @@ "typeString": "string storage ref" } }, - "id": 2968, + "id": 2975, "nodeType": "ExpressionStatement", "src": "2890:22:12" }, { "expression": { "argumentTypes": null, - "id": 2971, + "id": 2978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2969, + "id": 2976, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "2922:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2075,11 +2075,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2970, + "id": 2977, "name": "_assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2958, + "referencedDeclaration": 2965, "src": "2936:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2092,28 +2092,28 @@ "typeString": "string storage ref" } }, - "id": 2972, + "id": 2979, "nodeType": "ExpressionStatement", "src": "2922:26:12" }, { "expression": { "argumentTypes": null, - "id": 2977, + "id": 2984, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2973, + "id": 2980, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "2958:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -2124,11 +2124,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2975, + "id": 2982, "name": "_oracleFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2950, + "referencedDeclaration": 2957, "src": "2986:14:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2143,18 +2143,18 @@ "typeString": "address" } ], - "id": 2974, + "id": 2981, "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6788, + "referencedDeclaration": 6795, "src": "2964:21:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6788_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, - "id": 2976, + "id": 2983, "isConstant": false, "isLValue": false, "isPure": false, @@ -2165,38 +2165,38 @@ "src": "2964:37:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "2958:43:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 2978, + "id": 2985, "nodeType": "ExpressionStatement", "src": "2958:43:12" }, { "expression": { "argumentTypes": null, - "id": 2983, + "id": 2990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2979, + "id": 2986, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "3011:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -2207,11 +2207,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2981, + "id": 2988, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2952, + "referencedDeclaration": 2959, "src": "3037:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2226,18 +2226,18 @@ "typeString": "address" } ], - "id": 2980, + "id": 2987, "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6645, + "referencedDeclaration": 6652, "src": "3017:19:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6645_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, - "id": 2982, + "id": 2989, "isConstant": false, "isLValue": false, "isPure": false, @@ -2248,38 +2248,38 @@ "src": "3017:27:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "3011:33:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 2984, + "id": 2991, "nodeType": "ExpressionStatement", "src": "3011:33:12" }, { "expression": { "argumentTypes": null, - "id": 2989, + "id": 2996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2985, + "id": 2992, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "3054:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -2290,11 +2290,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2987, + "id": 2994, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2955, "src": "3069:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2309,18 +2309,18 @@ "typeString": "address" } ], - "id": 2986, + "id": 2993, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11535, + "referencedDeclaration": 11538, "src": "3062:6:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$11535_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$11538_$", "typeString": "type(contract IERC20)" } }, - "id": 2988, + "id": 2995, "isConstant": false, "isLValue": false, "isPure": false, @@ -2331,38 +2331,38 @@ "src": "3062:25:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, "src": "3054:33:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 2990, + "id": 2997, "nodeType": "ExpressionStatement", "src": "3054:33:12" }, { "expression": { "argumentTypes": null, - "id": 2995, + "id": 3002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2991, + "id": 2998, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "3097:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, @@ -2373,11 +2373,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2993, + "id": 3000, "name": "_ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2954, + "referencedDeclaration": 2961, "src": "3116:5:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2392,18 +2392,18 @@ "typeString": "address" } ], - "id": 2992, + "id": 2999, "name": "ARTFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6447, + "referencedDeclaration": 6454, "src": "3104:11:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ARTFactoryI_$6447_$", + "typeIdentifier": "t_type$_t_contract$_ARTFactoryI_$6454_$", "typeString": "type(contract ARTFactoryI)" } }, - "id": 2994, + "id": 3001, "isConstant": false, "isLValue": false, "isPure": false, @@ -2414,29 +2414,29 @@ "src": "3104:18:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, "src": "3097:25:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 2996, + "id": 3003, "nodeType": "ExpressionStatement", "src": "3097:25:12" } ] }, "documentation": { - "id": 2946, + "id": 2953, "nodeType": "StructuredDocumentation", "src": "2062:579:12", "text": "@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\nis used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, - "id": 2998, + "id": 3005, "implemented": true, "kind": "constructor", "modifiers": [], @@ -2444,17 +2444,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2959, + "id": 2966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2948, + "id": 2955, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2667:25:12", "stateVariable": false, "storageLocation": "default", @@ -2463,7 +2463,7 @@ "typeString": "address" }, "typeName": { - "id": 2947, + "id": 2954, "name": "address", "nodeType": "ElementaryTypeName", "src": "2667:7:12", @@ -2478,12 +2478,12 @@ }, { "constant": false, - "id": 2950, + "id": 2957, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2702:22:12", "stateVariable": false, "storageLocation": "default", @@ -2492,7 +2492,7 @@ "typeString": "address" }, "typeName": { - "id": 2949, + "id": 2956, "name": "address", "nodeType": "ElementaryTypeName", "src": "2702:7:12", @@ -2507,12 +2507,12 @@ }, { "constant": false, - "id": 2952, + "id": 2959, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2734:14:12", "stateVariable": false, "storageLocation": "default", @@ -2521,7 +2521,7 @@ "typeString": "address" }, "typeName": { - "id": 2951, + "id": 2958, "name": "address", "nodeType": "ElementaryTypeName", "src": "2734:7:12", @@ -2536,12 +2536,12 @@ }, { "constant": false, - "id": 2954, + "id": 2961, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2758:13:12", "stateVariable": false, "storageLocation": "default", @@ -2550,7 +2550,7 @@ "typeString": "address" }, "typeName": { - "id": 2953, + "id": 2960, "name": "address", "nodeType": "ElementaryTypeName", "src": "2758:7:12", @@ -2565,12 +2565,12 @@ }, { "constant": false, - "id": 2956, + "id": 2963, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2781:24:12", "stateVariable": false, "storageLocation": "memory", @@ -2579,7 +2579,7 @@ "typeString": "string" }, "typeName": { - "id": 2955, + "id": 2962, "name": "string", "nodeType": "ElementaryTypeName", "src": "2781:6:12", @@ -2593,12 +2593,12 @@ }, { "constant": false, - "id": 2958, + "id": 2965, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2815:26:12", "stateVariable": false, "storageLocation": "memory", @@ -2607,7 +2607,7 @@ "typeString": "string" }, "typeName": { - "id": 2957, + "id": 2964, "name": "string", "nodeType": "ElementaryTypeName", "src": "2815:6:12", @@ -2623,12 +2623,12 @@ "src": "2657:190:12" }, "returnParameters": { - "id": 2960, + "id": 2967, "nodeType": "ParameterList", "parameters": [], "src": "2855:0:12" }, - "scope": 4045, + "scope": 4052, "src": "2646:483:12", "stateMutability": "nonpayable", "virtual": false, @@ -2636,25 +2636,25 @@ }, { "body": { - "id": 3090, + "id": 3097, "nodeType": "Block", "src": "3978:898:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3012, + "id": 3019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3010, + "id": 3017, "name": "fee_AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2862, + "referencedDeclaration": 2869, "src": "3988:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2665,11 +2665,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3011, + "id": 3018, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, + "referencedDeclaration": 3010, "src": "3998:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2682,23 +2682,23 @@ "typeString": "uint256" } }, - "id": 3013, + "id": 3020, "nodeType": "ExpressionStatement", "src": "3988:14:12" }, { "assignments": [ - 3015 + 3022 ], "declarations": [ { "constant": false, - "id": 3015, + "id": 3022, "mutability": "mutable", "name": "ahrname", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4012:20:12", "stateVariable": false, "storageLocation": "memory", @@ -2707,7 +2707,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3014, + "id": 3021, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4012:5:12", @@ -2720,14 +2720,14 @@ "visibility": "internal" } ], - "id": 3020, + "id": 3027, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "4148522d", - "id": 3018, + "id": 3025, "isConstant": false, "isLValue": false, "isPure": true, @@ -2752,7 +2752,7 @@ ], "expression": { "argumentTypes": null, - "id": 3016, + "id": 3023, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2763,7 +2763,7 @@ "typeString": "abi" } }, - "id": 3017, + "id": 3024, "isConstant": false, "isLValue": false, "isPure": true, @@ -2777,7 +2777,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3019, + "id": 3026, "isConstant": false, "isLValue": false, "isPure": true, @@ -2798,18 +2798,18 @@ { "expression": { "argumentTypes": null, - "id": 3027, + "id": 3034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3021, + "id": 3028, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4069:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2823,11 +2823,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3024, + "id": 3031, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4096:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2836,11 +2836,11 @@ }, { "argumentTypes": null, - "id": 3025, + "id": 3032, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "4105:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -2861,7 +2861,7 @@ ], "expression": { "argumentTypes": null, - "id": 3022, + "id": 3029, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2872,7 +2872,7 @@ "typeString": "abi" } }, - "id": 3023, + "id": 3030, "isConstant": false, "isLValue": false, "isPure": true, @@ -2886,7 +2886,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3026, + "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, @@ -2907,23 +2907,23 @@ "typeString": "bytes memory" } }, - "id": 3028, + "id": 3035, "nodeType": "ExpressionStatement", "src": "4069:46:12" }, { "assignments": [ - 3030 + 3037 ], "declarations": [ { "constant": false, - "id": 3030, + "id": 3037, "mutability": "mutable", "name": "ahrsymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4165:22:12", "stateVariable": false, "storageLocation": "memory", @@ -2932,7 +2932,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3029, + "id": 3036, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4165:5:12", @@ -2945,14 +2945,14 @@ "visibility": "internal" } ], - "id": 3035, + "id": 3042, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "4148522d", - "id": 3033, + "id": 3040, "isConstant": false, "isLValue": false, "isPure": true, @@ -2977,7 +2977,7 @@ ], "expression": { "argumentTypes": null, - "id": 3031, + "id": 3038, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2988,7 +2988,7 @@ "typeString": "abi" } }, - "id": 3032, + "id": 3039, "isConstant": false, "isLValue": false, "isPure": true, @@ -3002,7 +3002,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3034, + "id": 3041, "isConstant": false, "isLValue": false, "isPure": true, @@ -3023,18 +3023,18 @@ { "expression": { "argumentTypes": null, - "id": 3042, + "id": 3049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3036, + "id": 3043, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4224:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3048,11 +3048,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3039, + "id": 3046, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4253:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3061,11 +3061,11 @@ }, { "argumentTypes": null, - "id": 3040, + "id": 3047, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "4264:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -3086,7 +3086,7 @@ ], "expression": { "argumentTypes": null, - "id": 3037, + "id": 3044, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3097,7 +3097,7 @@ "typeString": "abi" } }, - "id": 3038, + "id": 3045, "isConstant": false, "isLValue": false, "isPure": true, @@ -3111,7 +3111,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3041, + "id": 3048, "isConstant": false, "isLValue": false, "isPure": false, @@ -3132,23 +3132,23 @@ "typeString": "bytes memory" } }, - "id": 3043, + "id": 3050, "nodeType": "ExpressionStatement", "src": "4224:52:12" }, { "assignments": [ - 3045 + 3052 ], "declarations": [ { "constant": false, - "id": 3045, + "id": 3052, "mutability": "mutable", "name": "assetNameAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4326:26:12", "stateVariable": false, "storageLocation": "memory", @@ -3157,7 +3157,7 @@ "typeString": "string" }, "typeName": { - "id": 3044, + "id": 3051, "name": "string", "nodeType": "ElementaryTypeName", "src": "4326:6:12", @@ -3170,17 +3170,17 @@ "visibility": "internal" } ], - "id": 3050, + "id": 3057, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3048, + "id": 3055, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4362:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3195,7 +3195,7 @@ "typeString": "bytes memory" } ], - "id": 3047, + "id": 3054, "isConstant": false, "isLValue": false, "isPure": true, @@ -3207,7 +3207,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3046, + "id": 3053, "name": "string", "nodeType": "ElementaryTypeName", "src": "4355:6:12", @@ -3217,7 +3217,7 @@ } } }, - "id": 3049, + "id": 3056, "isConstant": false, "isLValue": false, "isPure": false, @@ -3237,17 +3237,17 @@ }, { "assignments": [ - 3052 + 3059 ], "declarations": [ { "constant": false, - "id": 3052, + "id": 3059, "mutability": "mutable", "name": "assetSymbolAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4380:28:12", "stateVariable": false, "storageLocation": "memory", @@ -3256,7 +3256,7 @@ "typeString": "string" }, "typeName": { - "id": 3051, + "id": 3058, "name": "string", "nodeType": "ElementaryTypeName", "src": "4380:6:12", @@ -3269,17 +3269,17 @@ "visibility": "internal" } ], - "id": 3057, + "id": 3064, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3055, + "id": 3062, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4418:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3294,7 +3294,7 @@ "typeString": "bytes memory" } ], - "id": 3054, + "id": 3061, "isConstant": false, "isLValue": false, "isPure": true, @@ -3306,7 +3306,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3053, + "id": 3060, "name": "string", "nodeType": "ElementaryTypeName", "src": "4411:6:12", @@ -3316,7 +3316,7 @@ } } }, - "id": 3056, + "id": 3063, "isConstant": false, "isLValue": false, "isPure": false, @@ -3337,21 +3337,21 @@ { "expression": { "argumentTypes": null, - "id": 3081, + "id": 3088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3058, + "id": 3065, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "4474:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -3365,11 +3365,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3062, + "id": 3069, "name": "_InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3001, + "referencedDeclaration": 3008, "src": "4584:18:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3381,14 +3381,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3065, + "id": 3072, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "4628:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -3396,11 +3396,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3064, + "id": 3071, "isConstant": false, "isLValue": false, "isPure": true, @@ -3412,7 +3412,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3063, + "id": 3070, "name": "address", "nodeType": "ElementaryTypeName", "src": "4620:7:12", @@ -3422,7 +3422,7 @@ } } }, - "id": 3066, + "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, @@ -3442,14 +3442,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3069, + "id": 3076, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "4660:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -3457,11 +3457,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], - "id": 3068, + "id": 3075, "isConstant": false, "isLValue": false, "isPure": true, @@ -3473,7 +3473,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3067, + "id": 3074, "name": "address", "nodeType": "ElementaryTypeName", "src": "4652:7:12", @@ -3483,7 +3483,7 @@ } } }, - "id": 3070, + "id": 3077, "isConstant": false, "isLValue": false, "isPure": false, @@ -3503,14 +3503,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3073, + "id": 3080, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "4690:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -3518,11 +3518,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 3072, + "id": 3079, "isConstant": false, "isLValue": false, "isPure": true, @@ -3534,7 +3534,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3071, + "id": 3078, "name": "address", "nodeType": "ElementaryTypeName", "src": "4682:7:12", @@ -3544,7 +3544,7 @@ } } }, - "id": 3074, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -3561,11 +3561,11 @@ }, { "argumentTypes": null, - "id": 3075, + "id": 3082, "name": "assetNameAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3045, + "referencedDeclaration": 3052, "src": "4712:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3574,11 +3574,11 @@ }, { "argumentTypes": null, - "id": 3076, + "id": 3083, "name": "assetSymbolAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, + "referencedDeclaration": 3059, "src": "4742:14:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3588,7 +3588,7 @@ { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3077, + "id": 3084, "isConstant": false, "isLValue": false, "isPure": true, @@ -3605,11 +3605,11 @@ }, { "argumentTypes": null, - "id": 3078, + "id": 3085, "name": "_initialExchangeRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3005, + "referencedDeclaration": 3012, "src": "4797:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3654,32 +3654,32 @@ ], "expression": { "argumentTypes": null, - "id": 3060, + "id": 3067, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "4508:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 3061, + "id": 3068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createART", "nodeType": "MemberAccess", - "referencedDeclaration": 6446, + "referencedDeclaration": 6453, "src": "4508:14:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$returns$_t_address_$", "typeString": "function (address,address,address,address,string memory,string memory,bool,uint256) external returns (address)" } }, - "id": 3079, + "id": 3086, "isConstant": false, "isLValue": false, "isPure": false, @@ -3702,18 +3702,18 @@ "typeString": "address" } ], - "id": 3059, + "id": 3066, "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "4480:14:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6554_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, - "id": 3080, + "id": 3087, "isConstant": false, "isLValue": false, "isPure": false, @@ -3724,35 +3724,35 @@ "src": "4480:361:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, "src": "4474:367:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3082, + "id": 3089, "nodeType": "ExpressionStatement", "src": "4474:367:12" }, { "expression": { "argumentTypes": null, - "id": 3088, + "id": 3095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3083, + "id": 3090, "name": "ahr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2866, + "referencedDeclaration": 2873, "src": "4851:3:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3766,14 +3766,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3086, + "id": 3093, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "4865:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -3781,11 +3781,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3085, + "id": 3092, "isConstant": false, "isLValue": false, "isPure": true, @@ -3797,7 +3797,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3084, + "id": 3091, "name": "address", "nodeType": "ElementaryTypeName", "src": "4857:7:12", @@ -3807,7 +3807,7 @@ } } }, - "id": 3087, + "id": 3094, "isConstant": false, "isLValue": false, "isPure": false, @@ -3828,33 +3828,33 @@ "typeString": "address" } }, - "id": 3089, + "id": 3096, "nodeType": "ExpressionStatement", "src": "4851:18:12" } ] }, "documentation": { - "id": 2999, + "id": 3006, "nodeType": "StructuredDocumentation", "src": "3135:696:12", "text": "@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\nThis is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"AHR-\" in front of it\nexample: AHR-LINK\n@dev asset.approve() is called to allow the AHR contract to freeely transfer the assset from this contract when the mint\nlendToAHRpool function is called.*" }, "functionSelector": "dcc716bd", - "id": 3091, + "id": 3098, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3008, + "id": 3015, "modifierName": { "argumentTypes": null, - "id": 3007, + "id": 3014, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "3964:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -3869,17 +3869,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3006, + "id": 3013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3001, + "id": 3008, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3864:26:12", "stateVariable": false, "storageLocation": "default", @@ -3888,7 +3888,7 @@ "typeString": "address" }, "typeName": { - "id": 3000, + "id": 3007, "name": "address", "nodeType": "ElementaryTypeName", "src": "3864:7:12", @@ -3903,12 +3903,12 @@ }, { "constant": false, - "id": 3003, + "id": 3010, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3900:12:12", "stateVariable": false, "storageLocation": "default", @@ -3917,7 +3917,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3002, + "id": 3009, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3900:7:12", @@ -3931,12 +3931,12 @@ }, { "constant": false, - "id": 3005, + "id": 3012, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3922:28:12", "stateVariable": false, "storageLocation": "default", @@ -3945,7 +3945,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3004, + "id": 3011, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3922:7:12", @@ -3961,12 +3961,12 @@ "src": "3854:102:12" }, "returnParameters": { - "id": 3009, + "id": 3016, "nodeType": "ParameterList", "parameters": [], "src": "3978:0:12" }, - "scope": 4045, + "scope": 4052, "src": "3836:1040:12", "stateMutability": "nonpayable", "virtual": false, @@ -3974,25 +3974,25 @@ }, { "body": { - "id": 3183, + "id": 3190, "nodeType": "Block", "src": "5725:897:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3105, + "id": 3112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3103, + "id": 3110, "name": "fee_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2864, + "referencedDeclaration": 2871, "src": "5735:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4003,11 +4003,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3104, + "id": 3111, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3096, + "referencedDeclaration": 3103, "src": "5745:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4020,23 +4020,23 @@ "typeString": "uint256" } }, - "id": 3106, + "id": 3113, "nodeType": "ExpressionStatement", "src": "5735:14:12" }, { "assignments": [ - 3108 + 3115 ], "declarations": [ { "constant": false, - "id": 3108, + "id": 3115, "mutability": "mutable", "name": "alrname", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "5759:20:12", "stateVariable": false, "storageLocation": "memory", @@ -4045,7 +4045,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3107, + "id": 3114, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5759:5:12", @@ -4058,14 +4058,14 @@ "visibility": "internal" } ], - "id": 3113, + "id": 3120, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "416c522d", - "id": 3111, + "id": 3118, "isConstant": false, "isLValue": false, "isPure": true, @@ -4090,7 +4090,7 @@ ], "expression": { "argumentTypes": null, - "id": 3109, + "id": 3116, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4101,7 +4101,7 @@ "typeString": "abi" } }, - "id": 3110, + "id": 3117, "isConstant": false, "isLValue": false, "isPure": true, @@ -4115,7 +4115,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3112, + "id": 3119, "isConstant": false, "isLValue": false, "isPure": true, @@ -4136,18 +4136,18 @@ { "expression": { "argumentTypes": null, - "id": 3120, + "id": 3127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3114, + "id": 3121, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "5816:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4161,11 +4161,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3117, + "id": 3124, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "5843:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4174,11 +4174,11 @@ }, { "argumentTypes": null, - "id": 3118, + "id": 3125, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "5852:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4199,7 +4199,7 @@ ], "expression": { "argumentTypes": null, - "id": 3115, + "id": 3122, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4210,7 +4210,7 @@ "typeString": "abi" } }, - "id": 3116, + "id": 3123, "isConstant": false, "isLValue": false, "isPure": true, @@ -4224,7 +4224,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3119, + "id": 3126, "isConstant": false, "isLValue": false, "isPure": false, @@ -4245,23 +4245,23 @@ "typeString": "bytes memory" } }, - "id": 3121, + "id": 3128, "nodeType": "ExpressionStatement", "src": "5816:46:12" }, { "assignments": [ - 3123 + 3130 ], "declarations": [ { "constant": false, - "id": 3123, + "id": 3130, "mutability": "mutable", "name": "alrsymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "5912:22:12", "stateVariable": false, "storageLocation": "memory", @@ -4270,7 +4270,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3122, + "id": 3129, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5912:5:12", @@ -4283,14 +4283,14 @@ "visibility": "internal" } ], - "id": 3128, + "id": 3135, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "416c522d", - "id": 3126, + "id": 3133, "isConstant": false, "isLValue": false, "isPure": true, @@ -4315,7 +4315,7 @@ ], "expression": { "argumentTypes": null, - "id": 3124, + "id": 3131, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4326,7 +4326,7 @@ "typeString": "abi" } }, - "id": 3125, + "id": 3132, "isConstant": false, "isLValue": false, "isPure": true, @@ -4340,7 +4340,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3127, + "id": 3134, "isConstant": false, "isLValue": false, "isPure": true, @@ -4361,18 +4361,18 @@ { "expression": { "argumentTypes": null, - "id": 3135, + "id": 3142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3129, + "id": 3136, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "5971:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4386,11 +4386,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3132, + "id": 3139, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "6000:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4399,11 +4399,11 @@ }, { "argumentTypes": null, - "id": 3133, + "id": 3140, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "6011:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -4424,7 +4424,7 @@ ], "expression": { "argumentTypes": null, - "id": 3130, + "id": 3137, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4435,7 +4435,7 @@ "typeString": "abi" } }, - "id": 3131, + "id": 3138, "isConstant": false, "isLValue": false, "isPure": true, @@ -4449,7 +4449,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3134, + "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, @@ -4470,23 +4470,23 @@ "typeString": "bytes memory" } }, - "id": 3136, + "id": 3143, "nodeType": "ExpressionStatement", "src": "5971:52:12" }, { "assignments": [ - 3138 + 3145 ], "declarations": [ { "constant": false, - "id": 3138, + "id": 3145, "mutability": "mutable", "name": "assetNameALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "6073:26:12", "stateVariable": false, "storageLocation": "memory", @@ -4495,7 +4495,7 @@ "typeString": "string" }, "typeName": { - "id": 3137, + "id": 3144, "name": "string", "nodeType": "ElementaryTypeName", "src": "6073:6:12", @@ -4508,17 +4508,17 @@ "visibility": "internal" } ], - "id": 3143, + "id": 3150, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3141, + "id": 3148, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "6109:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4533,7 +4533,7 @@ "typeString": "bytes memory" } ], - "id": 3140, + "id": 3147, "isConstant": false, "isLValue": false, "isPure": true, @@ -4545,7 +4545,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3139, + "id": 3146, "name": "string", "nodeType": "ElementaryTypeName", "src": "6102:6:12", @@ -4555,7 +4555,7 @@ } } }, - "id": 3142, + "id": 3149, "isConstant": false, "isLValue": false, "isPure": false, @@ -4575,17 +4575,17 @@ }, { "assignments": [ - 3145 + 3152 ], "declarations": [ { "constant": false, - "id": 3145, + "id": 3152, "mutability": "mutable", "name": "assetSymbolALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "6127:28:12", "stateVariable": false, "storageLocation": "memory", @@ -4594,7 +4594,7 @@ "typeString": "string" }, "typeName": { - "id": 3144, + "id": 3151, "name": "string", "nodeType": "ElementaryTypeName", "src": "6127:6:12", @@ -4607,17 +4607,17 @@ "visibility": "internal" } ], - "id": 3150, + "id": 3157, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3148, + "id": 3155, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "6165:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4632,7 +4632,7 @@ "typeString": "bytes memory" } ], - "id": 3147, + "id": 3154, "isConstant": false, "isLValue": false, "isPure": true, @@ -4644,7 +4644,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3146, + "id": 3153, "name": "string", "nodeType": "ElementaryTypeName", "src": "6158:6:12", @@ -4654,7 +4654,7 @@ } } }, - "id": 3149, + "id": 3156, "isConstant": false, "isLValue": false, "isPure": false, @@ -4675,21 +4675,21 @@ { "expression": { "argumentTypes": null, - "id": 3174, + "id": 3181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3151, + "id": 3158, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "6221:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -4703,11 +4703,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3155, + "id": 3162, "name": "_InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3094, + "referencedDeclaration": 3101, "src": "6331:18:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4719,14 +4719,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3158, + "id": 3165, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "6375:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -4734,11 +4734,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3157, + "id": 3164, "isConstant": false, "isLValue": false, "isPure": true, @@ -4750,7 +4750,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3156, + "id": 3163, "name": "address", "nodeType": "ElementaryTypeName", "src": "6367:7:12", @@ -4760,7 +4760,7 @@ } } }, - "id": 3159, + "id": 3166, "isConstant": false, "isLValue": false, "isPure": false, @@ -4780,14 +4780,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3162, + "id": 3169, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "6407:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -4795,11 +4795,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], - "id": 3161, + "id": 3168, "isConstant": false, "isLValue": false, "isPure": true, @@ -4811,7 +4811,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3160, + "id": 3167, "name": "address", "nodeType": "ElementaryTypeName", "src": "6399:7:12", @@ -4821,7 +4821,7 @@ } } }, - "id": 3163, + "id": 3170, "isConstant": false, "isLValue": false, "isPure": false, @@ -4841,14 +4841,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3166, + "id": 3173, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "6437:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -4856,11 +4856,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 3165, + "id": 3172, "isConstant": false, "isLValue": false, "isPure": true, @@ -4872,7 +4872,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3164, + "id": 3171, "name": "address", "nodeType": "ElementaryTypeName", "src": "6429:7:12", @@ -4882,7 +4882,7 @@ } } }, - "id": 3167, + "id": 3174, "isConstant": false, "isLValue": false, "isPure": false, @@ -4899,11 +4899,11 @@ }, { "argumentTypes": null, - "id": 3168, + "id": 3175, "name": "assetNameALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, + "referencedDeclaration": 3145, "src": "6459:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -4912,11 +4912,11 @@ }, { "argumentTypes": null, - "id": 3169, + "id": 3176, "name": "assetSymbolALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, + "referencedDeclaration": 3152, "src": "6489:14:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -4926,7 +4926,7 @@ { "argumentTypes": null, "hexValue": "74727565", - "id": 3170, + "id": 3177, "isConstant": false, "isLValue": false, "isPure": true, @@ -4943,11 +4943,11 @@ }, { "argumentTypes": null, - "id": 3171, + "id": 3178, "name": "_initialExchangeRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3098, + "referencedDeclaration": 3105, "src": "6543:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4992,32 +4992,32 @@ ], "expression": { "argumentTypes": null, - "id": 3153, + "id": 3160, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "6255:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 3154, + "id": 3161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createART", "nodeType": "MemberAccess", - "referencedDeclaration": 6446, + "referencedDeclaration": 6453, "src": "6255:14:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$returns$_t_address_$", "typeString": "function (address,address,address,address,string memory,string memory,bool,uint256) external returns (address)" } }, - "id": 3172, + "id": 3179, "isConstant": false, "isLValue": false, "isPure": false, @@ -5040,18 +5040,18 @@ "typeString": "address" } ], - "id": 3152, + "id": 3159, "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "6227:14:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6554_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, - "id": 3173, + "id": 3180, "isConstant": false, "isLValue": false, "isPure": false, @@ -5062,35 +5062,35 @@ "src": "6227:360:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, "src": "6221:366:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3175, + "id": 3182, "nodeType": "ExpressionStatement", "src": "6221:366:12" }, { "expression": { "argumentTypes": null, - "id": 3181, + "id": 3188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3176, + "id": 3183, "name": "alr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2868, + "referencedDeclaration": 2875, "src": "6597:3:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5104,14 +5104,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3179, + "id": 3186, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "6611:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -5119,11 +5119,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3178, + "id": 3185, "isConstant": false, "isLValue": false, "isPure": true, @@ -5135,7 +5135,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3177, + "id": 3184, "name": "address", "nodeType": "ElementaryTypeName", "src": "6603:7:12", @@ -5145,7 +5145,7 @@ } } }, - "id": 3180, + "id": 3187, "isConstant": false, "isLValue": false, "isPure": false, @@ -5166,33 +5166,33 @@ "typeString": "address" } }, - "id": 3182, + "id": 3189, "nodeType": "ExpressionStatement", "src": "6597:18:12" } ] }, "documentation": { - "id": 3092, + "id": 3099, "nodeType": "StructuredDocumentation", "src": "4882:696:12", "text": "@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\nThis is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"ALR-\" in front of it\nexample: ALR-LINK\n@dev asset.approve() is called to allow the ALR contract to freeely transfer the assset from this contract when the mint\nlendToALRpool function is called.*" }, "functionSelector": "1f432cf5", - "id": 3184, + "id": 3191, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3101, + "id": 3108, "modifierName": { "argumentTypes": null, - "id": 3100, + "id": 3107, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "5711:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -5207,17 +5207,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3099, + "id": 3106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3094, + "id": 3101, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5611:26:12", "stateVariable": false, "storageLocation": "default", @@ -5226,7 +5226,7 @@ "typeString": "address" }, "typeName": { - "id": 3093, + "id": 3100, "name": "address", "nodeType": "ElementaryTypeName", "src": "5611:7:12", @@ -5241,12 +5241,12 @@ }, { "constant": false, - "id": 3096, + "id": 3103, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5647:12:12", "stateVariable": false, "storageLocation": "default", @@ -5255,7 +5255,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3095, + "id": 3102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5647:7:12", @@ -5269,12 +5269,12 @@ }, { "constant": false, - "id": 3098, + "id": 3105, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5669:28:12", "stateVariable": false, "storageLocation": "default", @@ -5283,7 +5283,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3097, + "id": 3104, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5669:7:12", @@ -5299,12 +5299,12 @@ "src": "5601:102:12" }, "returnParameters": { - "id": 3102, + "id": 3109, "nodeType": "ParameterList", "parameters": [], "src": "5725:0:12" }, - "scope": 4045, + "scope": 4052, "src": "5583:1039:12", "stateMutability": "nonpayable", "virtual": false, @@ -5312,7 +5312,7 @@ }, { "body": { - "id": 3195, + "id": 3202, "nodeType": "Block", "src": "6785:38:12", "statements": [ @@ -5322,14 +5322,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3192, + "id": 3199, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "6810:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -5337,11 +5337,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3191, + "id": 3198, "isConstant": false, "isLValue": false, "isPure": true, @@ -5353,7 +5353,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3190, + "id": 3197, "name": "address", "nodeType": "ElementaryTypeName", "src": "6802:7:12", @@ -5363,7 +5363,7 @@ } } }, - "id": 3193, + "id": 3200, "isConstant": false, "isLValue": false, "isPure": false, @@ -5378,21 +5378,21 @@ "typeString": "address" } }, - "functionReturnParameters": 3189, - "id": 3194, + "functionReturnParameters": 3196, + "id": 3201, "nodeType": "Return", "src": "6795:21:12" } ] }, "documentation": { - "id": 3185, + "id": 3192, "nodeType": "StructuredDocumentation", "src": "6628:99:12", "text": "@notice getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*" }, "functionSelector": "4c20ac74", - "id": 3196, + "id": 3203, "implemented": true, "kind": "function", "modifiers": [], @@ -5400,23 +5400,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3186, + "id": 3193, "nodeType": "ParameterList", "parameters": [], "src": "6752:2:12" }, "returnParameters": { - "id": 3189, + "id": 3196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3188, + "id": 3195, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3196, + "scope": 3203, "src": "6776:7:12", "stateVariable": false, "storageLocation": "default", @@ -5425,7 +5425,7 @@ "typeString": "address" }, "typeName": { - "id": 3187, + "id": 3194, "name": "address", "nodeType": "ElementaryTypeName", "src": "6776:7:12", @@ -5441,7 +5441,7 @@ ], "src": "6775:9:12" }, - "scope": 4045, + "scope": 4052, "src": "6732:91:12", "stateMutability": "view", "virtual": false, @@ -5449,7 +5449,7 @@ }, { "body": { - "id": 3207, + "id": 3214, "nodeType": "Block", "src": "6942:50:12", "statements": [ @@ -5458,25 +5458,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3203, + "id": 3210, "name": "lockedCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2888, + "referencedDeclaration": 2895, "src": "6959:16:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3205, + "id": 3212, "indexExpression": { "argumentTypes": null, - "id": 3204, + "id": 3211, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3198, + "referencedDeclaration": 3205, "src": "6976:8:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5494,8 +5494,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 3202, - "id": 3206, + "functionReturnParameters": 3209, + "id": 3213, "nodeType": "Return", "src": "6952:33:12" } @@ -5503,7 +5503,7 @@ }, "documentation": null, "functionSelector": "7d1fc742", - "id": 3208, + "id": 3215, "implemented": true, "kind": "function", "modifiers": [], @@ -5511,17 +5511,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3199, + "id": 3206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3198, + "id": 3205, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3208, + "scope": 3215, "src": "6866:16:12", "stateVariable": false, "storageLocation": "default", @@ -5530,7 +5530,7 @@ "typeString": "address" }, "typeName": { - "id": 3197, + "id": 3204, "name": "address", "nodeType": "ElementaryTypeName", "src": "6866:7:12", @@ -5547,17 +5547,17 @@ "src": "6865:18:12" }, "returnParameters": { - "id": 3202, + "id": 3209, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3201, + "id": 3208, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3208, + "scope": 3215, "src": "6929:7:12", "stateVariable": false, "storageLocation": "default", @@ -5566,7 +5566,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3200, + "id": 3207, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6929:7:12", @@ -5581,7 +5581,7 @@ ], "src": "6928:9:12" }, - "scope": 4045, + "scope": 4052, "src": "6829:163:12", "stateMutability": "view", "virtual": false, @@ -5589,7 +5589,7 @@ }, { "body": { - "id": 3240, + "id": 3247, "nodeType": "Block", "src": "7275:287:12", "statements": [ @@ -5601,7 +5601,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3217, + "id": 3224, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5612,7 +5612,7 @@ "typeString": "msg" } }, - "id": 3218, + "id": 3225, "isConstant": false, "isLValue": false, "isPure": false, @@ -5631,14 +5631,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3221, + "id": 3228, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "7412:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -5646,11 +5646,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3220, + "id": 3227, "isConstant": false, "isLValue": false, "isPure": true, @@ -5662,7 +5662,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3219, + "id": 3226, "name": "address", "nodeType": "ElementaryTypeName", "src": "7404:7:12", @@ -5672,7 +5672,7 @@ } } }, - "id": 3222, + "id": 3229, "isConstant": false, "isLValue": false, "isPure": false, @@ -5689,11 +5689,11 @@ }, { "argumentTypes": null, - "id": 3223, + "id": 3230, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7418:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5718,32 +5718,32 @@ ], "expression": { "argumentTypes": null, - "id": 3214, + "id": 3221, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "7373:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3216, + "id": 3223, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "7373:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3224, + "id": 3231, "isConstant": false, "isLValue": false, "isPure": false, @@ -5758,7 +5758,7 @@ "typeString": "bool" } }, - "id": 3225, + "id": 3232, "nodeType": "ExpressionStatement", "src": "7373:53:12" }, @@ -5770,7 +5770,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3229, + "id": 3236, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5781,7 +5781,7 @@ "typeString": "msg" } }, - "id": 3230, + "id": 3237, "isConstant": false, "isLValue": false, "isPure": false, @@ -5797,11 +5797,11 @@ }, { "argumentTypes": null, - "id": 3231, + "id": 3238, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7502:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5822,32 +5822,32 @@ ], "expression": { "argumentTypes": null, - "id": 3226, + "id": 3233, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "7481:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3228, + "id": 3235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 6485, + "referencedDeclaration": 6492, "src": "7481:8:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 3232, + "id": 3239, "isConstant": false, "isLValue": false, "isPure": false, @@ -5862,7 +5862,7 @@ "typeString": "tuple()" } }, - "id": 3233, + "id": 3240, "nodeType": "ExpressionStatement", "src": "7481:29:12" }, @@ -5874,7 +5874,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3235, + "id": 3242, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5885,7 +5885,7 @@ "typeString": "msg" } }, - "id": 3236, + "id": 3243, "isConstant": false, "isLValue": false, "isPure": false, @@ -5901,11 +5901,11 @@ }, { "argumentTypes": null, - "id": 3237, + "id": 3244, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7547:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5924,18 +5924,18 @@ "typeString": "uint256" } ], - "id": 3234, + "id": 3241, "name": "LentToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2917, + "referencedDeclaration": 2924, "src": "7525:9:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3238, + "id": 3245, "isConstant": false, "isLValue": false, "isPure": false, @@ -5950,20 +5950,20 @@ "typeString": "tuple()" } }, - "id": 3239, + "id": 3246, "nodeType": "EmitStatement", "src": "7520:35:12" } ] }, "documentation": { - "id": 3209, + "id": 3216, "nodeType": "StructuredDocumentation", "src": "6998:225:12", "text": "@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's High Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset*" }, "functionSelector": "cf0aea85", - "id": 3241, + "id": 3248, "implemented": true, "kind": "function", "modifiers": [], @@ -5971,17 +5971,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3212, + "id": 3219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3211, + "id": 3218, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3241, + "scope": 3248, "src": "7251:15:12", "stateVariable": false, "storageLocation": "default", @@ -5990,7 +5990,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3210, + "id": 3217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7251:7:12", @@ -6006,12 +6006,12 @@ "src": "7250:17:12" }, "returnParameters": { - "id": 3213, + "id": 3220, "nodeType": "ParameterList", "parameters": [], "src": "7275:0:12" }, - "scope": 4045, + "scope": 4052, "src": "7228:334:12", "stateMutability": "nonpayable", "virtual": false, @@ -6019,7 +6019,7 @@ }, { "body": { - "id": 3273, + "id": 3280, "nodeType": "Block", "src": "7844:287:12", "statements": [ @@ -6031,7 +6031,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3250, + "id": 3257, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6042,7 +6042,7 @@ "typeString": "msg" } }, - "id": 3251, + "id": 3258, "isConstant": false, "isLValue": false, "isPure": false, @@ -6061,14 +6061,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3254, + "id": 3261, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "7981:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -6076,11 +6076,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3253, + "id": 3260, "isConstant": false, "isLValue": false, "isPure": true, @@ -6092,7 +6092,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3252, + "id": 3259, "name": "address", "nodeType": "ElementaryTypeName", "src": "7973:7:12", @@ -6102,7 +6102,7 @@ } } }, - "id": 3255, + "id": 3262, "isConstant": false, "isLValue": false, "isPure": false, @@ -6119,11 +6119,11 @@ }, { "argumentTypes": null, - "id": 3256, + "id": 3263, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "7987:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6148,32 +6148,32 @@ ], "expression": { "argumentTypes": null, - "id": 3247, + "id": 3254, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "7942:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3249, + "id": 3256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "7942:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3257, + "id": 3264, "isConstant": false, "isLValue": false, "isPure": false, @@ -6188,7 +6188,7 @@ "typeString": "bool" } }, - "id": 3258, + "id": 3265, "nodeType": "ExpressionStatement", "src": "7942:53:12" }, @@ -6200,7 +6200,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3262, + "id": 3269, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6211,7 +6211,7 @@ "typeString": "msg" } }, - "id": 3263, + "id": 3270, "isConstant": false, "isLValue": false, "isPure": false, @@ -6227,11 +6227,11 @@ }, { "argumentTypes": null, - "id": 3264, + "id": 3271, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "8071:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6252,32 +6252,32 @@ ], "expression": { "argumentTypes": null, - "id": 3259, + "id": 3266, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "8050:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3261, + "id": 3268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 6485, + "referencedDeclaration": 6492, "src": "8050:8:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 3265, + "id": 3272, "isConstant": false, "isLValue": false, "isPure": false, @@ -6292,7 +6292,7 @@ "typeString": "tuple()" } }, - "id": 3266, + "id": 3273, "nodeType": "ExpressionStatement", "src": "8050:29:12" }, @@ -6304,7 +6304,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3268, + "id": 3275, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6315,7 +6315,7 @@ "typeString": "msg" } }, - "id": 3269, + "id": 3276, "isConstant": false, "isLValue": false, "isPure": false, @@ -6331,11 +6331,11 @@ }, { "argumentTypes": null, - "id": 3270, + "id": 3277, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "8116:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6354,18 +6354,18 @@ "typeString": "uint256" } ], - "id": 3267, + "id": 3274, "name": "LentToALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2923, + "referencedDeclaration": 2930, "src": "8094:9:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3271, + "id": 3278, "isConstant": false, "isLValue": false, "isPure": false, @@ -6380,20 +6380,20 @@ "typeString": "tuple()" } }, - "id": 3272, + "id": 3279, "nodeType": "EmitStatement", "src": "8089:35:12" } ] }, "documentation": { - "id": 3242, + "id": 3249, "nodeType": "StructuredDocumentation", "src": "7568:224:12", "text": "@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's Low Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset*" }, "functionSelector": "22b2d402", - "id": 3274, + "id": 3281, "implemented": true, "kind": "function", "modifiers": [], @@ -6401,17 +6401,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3245, + "id": 3252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3244, + "id": 3251, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3274, + "scope": 3281, "src": "7820:15:12", "stateVariable": false, "storageLocation": "default", @@ -6420,7 +6420,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3243, + "id": 3250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7820:7:12", @@ -6436,12 +6436,12 @@ "src": "7819:17:12" }, "returnParameters": { - "id": 3246, + "id": 3253, "nodeType": "ParameterList", "parameters": [], "src": "7844:0:12" }, - "scope": 4045, + "scope": 4052, "src": "7797:334:12", "stateMutability": "nonpayable", "virtual": false, @@ -6449,16 +6449,16 @@ }, { "canonicalName": "MoneyMarketInstance.borrowVars", - "id": 3293, + "id": 3300, "members": [ { "constant": false, - "id": 3276, + "id": 3283, "mutability": "mutable", "name": "borrowBalAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8214:20:12", "stateVariable": false, "storageLocation": "default", @@ -6467,7 +6467,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3275, + "id": 3282, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8214:7:12", @@ -6481,12 +6481,12 @@ }, { "constant": false, - "id": 3278, + "id": 3285, "mutability": "mutable", "name": "borrowBalALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8244:20:12", "stateVariable": false, "storageLocation": "default", @@ -6495,7 +6495,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3277, + "id": 3284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8244:7:12", @@ -6509,12 +6509,12 @@ }, { "constant": false, - "id": 3280, + "id": 3287, "mutability": "mutable", "name": "totalFutureAmountOwed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8274:29:12", "stateVariable": false, "storageLocation": "default", @@ -6523,7 +6523,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3279, + "id": 3286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8274:7:12", @@ -6537,12 +6537,12 @@ }, { "constant": false, - "id": 3282, + "id": 3289, "mutability": "mutable", "name": "availibleCollateralValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8313:32:12", "stateVariable": false, "storageLocation": "default", @@ -6551,7 +6551,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3281, + "id": 3288, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8313:7:12", @@ -6565,12 +6565,12 @@ }, { "constant": false, - "id": 3284, + "id": 3291, "mutability": "mutable", "name": "assetAmountValOwed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8355:26:12", "stateVariable": false, "storageLocation": "default", @@ -6579,7 +6579,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3283, + "id": 3290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8355:7:12", @@ -6593,12 +6593,12 @@ }, { "constant": false, - "id": 3286, + "id": 3293, "mutability": "mutable", "name": "amountValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8391:19:12", "stateVariable": false, "storageLocation": "default", @@ -6607,7 +6607,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3285, + "id": 3292, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8391:7:12", @@ -6621,12 +6621,12 @@ }, { "constant": false, - "id": 3288, + "id": 3295, "mutability": "mutable", "name": "halfVal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8446:15:12", "stateVariable": false, "storageLocation": "default", @@ -6635,7 +6635,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3287, + "id": 3294, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8446:7:12", @@ -6649,12 +6649,12 @@ }, { "constant": false, - "id": 3290, + "id": 3297, "mutability": "mutable", "name": "collateralNeeded", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8471:24:12", "stateVariable": false, "storageLocation": "default", @@ -6663,7 +6663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3289, + "id": 3296, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8471:7:12", @@ -6677,12 +6677,12 @@ }, { "constant": false, - "id": 3292, + "id": 3299, "mutability": "mutable", "name": "half", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8505:12:12", "stateVariable": false, "storageLocation": "default", @@ -6691,7 +6691,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3291, + "id": 3298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8505:7:12", @@ -6706,13 +6706,13 @@ ], "name": "borrowVars", "nodeType": "StructDefinition", - "scope": 4045, + "scope": 4052, "src": "8186:338:12", "visibility": "public" }, { "body": { - "id": 3483, + "id": 3490, "nodeType": "Block", "src": "8821:2391:12", "statements": [ @@ -6726,7 +6726,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3314, + "id": 3321, "isConstant": false, "isLValue": false, "isPure": false, @@ -6737,18 +6737,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3307, + "id": 3314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3302, + "id": 3309, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "9026:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6761,23 +6761,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3303, + "id": 3310, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "9041:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3306, + "id": 3313, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3304, + "id": 3311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6788,7 +6788,7 @@ "typeString": "msg" } }, - "id": 3305, + "id": 3312, "isConstant": false, "isLValue": false, "isPure": false, @@ -6827,7 +6827,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3313, + "id": 3320, "isConstant": false, "isLValue": false, "isPure": false, @@ -6836,23 +6836,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3308, + "id": 3315, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "9092:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3311, + "id": 3318, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3309, + "id": 3316, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6863,7 +6863,7 @@ "typeString": "msg" } }, - "id": 3310, + "id": 3317, "isConstant": false, "isLValue": false, "isPure": false, @@ -6893,7 +6893,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3312, + "id": 3319, "isConstant": false, "isLValue": false, "isPure": true, @@ -6923,7 +6923,7 @@ { "argumentTypes": null, "hexValue": "636f6c6c61746572616c206e6f74207269676874", - "id": 3315, + "id": 3322, "isConstant": false, "isLValue": false, "isPure": true, @@ -6950,7 +6950,7 @@ "typeString": "literal_string \"collateral not right\"" } ], - "id": 3301, + "id": 3308, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6964,7 +6964,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3316, + "id": 3323, "isConstant": false, "isLValue": false, "isPure": false, @@ -6979,39 +6979,39 @@ "typeString": "tuple()" } }, - "id": 3317, + "id": 3324, "nodeType": "ExpressionStatement", "src": "9005:171:12" }, { "assignments": [ - 3319 + 3326 ], "declarations": [ { "constant": false, - "id": 3319, + "id": 3326, "mutability": "mutable", "name": "vars", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3483, + "scope": 3490, "src": "9186:22:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars" }, "typeName": { "contractScope": null, - "id": 3318, + "id": 3325, "name": "borrowVars", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3293, + "referencedDeclaration": 3300, "src": "9186:10:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_storage_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_storage_ptr", "typeString": "struct MoneyMarketInstance.borrowVars" } }, @@ -7019,7 +7019,7 @@ "visibility": "internal" } ], - "id": 3320, + "id": 3327, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "9186:22:12" @@ -7027,7 +7027,7 @@ { "expression": { "argumentTypes": null, - "id": 3329, + "id": 3336, "isConstant": false, "isLValue": false, "isPure": false, @@ -7036,25 +7036,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3321, + "id": 3328, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9397:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3323, + "id": 3330, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowBalAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3276, + "referencedDeclaration": 3283, "src": "9397:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7070,7 +7070,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3326, + "id": 3333, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7081,7 +7081,7 @@ "typeString": "msg" } }, - "id": 3327, + "id": 3334, "isConstant": false, "isLValue": false, "isPure": false, @@ -7105,32 +7105,32 @@ ], "expression": { "argumentTypes": null, - "id": 3324, + "id": 3331, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "9417:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3325, + "id": 3332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "9417:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3328, + "id": 3335, "isConstant": false, "isLValue": false, "isPure": false, @@ -7151,14 +7151,14 @@ "typeString": "uint256" } }, - "id": 3330, + "id": 3337, "nodeType": "ExpressionStatement", "src": "9397:56:12" }, { "expression": { "argumentTypes": null, - "id": 3339, + "id": 3346, "isConstant": false, "isLValue": false, "isPure": false, @@ -7167,25 +7167,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3331, + "id": 3338, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9463:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3333, + "id": 3340, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowBalALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3278, + "referencedDeclaration": 3285, "src": "9463:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7201,7 +7201,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3336, + "id": 3343, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7212,7 +7212,7 @@ "typeString": "msg" } }, - "id": 3337, + "id": 3344, "isConstant": false, "isLValue": false, "isPure": false, @@ -7236,32 +7236,32 @@ ], "expression": { "argumentTypes": null, - "id": 3334, + "id": 3341, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "9483:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3335, + "id": 3342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "9483:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3338, + "id": 3345, "isConstant": false, "isLValue": false, "isPure": false, @@ -7282,14 +7282,14 @@ "typeString": "uint256" } }, - "id": 3340, + "id": 3347, "nodeType": "ExpressionStatement", "src": "9463:56:12" }, { "expression": { "argumentTypes": null, - "id": 3353, + "id": 3360, "isConstant": false, "isLValue": false, "isPure": false, @@ -7298,25 +7298,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3341, + "id": 3348, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9601:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3343, + "id": 3350, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "totalFutureAmountOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3280, + "referencedDeclaration": 3287, "src": "9601:26:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7333,11 +7333,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3350, + "id": 3357, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "9687:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7356,46 +7356,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3347, + "id": 3354, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9665:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3348, + "id": 3355, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowBalALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3278, + "referencedDeclaration": 3285, "src": "9665:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3349, + "id": 3356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "9665:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3351, + "id": 3358, "isConstant": false, "isLValue": false, "isPure": false, @@ -7422,46 +7422,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3344, + "id": 3351, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9630:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3345, + "id": 3352, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowBalAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3276, + "referencedDeclaration": 3283, "src": "9630:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3346, + "id": 3353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "9630:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3352, + "id": 3359, "isConstant": false, "isLValue": false, "isPure": false, @@ -7482,14 +7482,14 @@ "typeString": "uint256" } }, - "id": 3354, + "id": 3361, "nodeType": "ExpressionStatement", "src": "9601:104:12" }, { "expression": { "argumentTypes": null, - "id": 3367, + "id": 3374, "isConstant": false, "isLValue": false, "isPure": false, @@ -7498,25 +7498,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3355, + "id": 3362, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9770:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3357, + "id": 3364, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "9770:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7533,14 +7533,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3362, + "id": 3369, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "9847:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -7548,11 +7548,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3361, + "id": 3368, "isConstant": false, "isLValue": false, "isPure": true, @@ -7564,7 +7564,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3360, + "id": 3367, "name": "address", "nodeType": "ElementaryTypeName", "src": "9839:7:12", @@ -7574,7 +7574,7 @@ } } }, - "id": 3363, + "id": 3370, "isConstant": false, "isLValue": false, "isPure": false, @@ -7593,25 +7593,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3364, + "id": 3371, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9867:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3365, + "id": 3372, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalFutureAmountOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3280, + "referencedDeclaration": 3287, "src": "9867:26:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7632,32 +7632,32 @@ ], "expression": { "argumentTypes": null, - "id": 3358, + "id": 3365, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "9796:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3359, + "id": 3366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "9796:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3366, + "id": 3373, "isConstant": false, "isLValue": false, "isPure": false, @@ -7678,14 +7678,14 @@ "typeString": "uint256" } }, - "id": 3368, + "id": 3375, "nodeType": "ExpressionStatement", "src": "9770:133:12" }, { "expression": { "argumentTypes": null, - "id": 3380, + "id": 3387, "isConstant": false, "isLValue": false, "isPure": false, @@ -7694,25 +7694,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3369, + "id": 3376, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9949:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3371, + "id": 3378, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "amountValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3286, + "referencedDeclaration": 3293, "src": "9949:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7729,14 +7729,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3376, + "id": 3383, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "10019:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -7744,11 +7744,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3375, + "id": 3382, "isConstant": false, "isLValue": false, "isPure": true, @@ -7760,7 +7760,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3374, + "id": 3381, "name": "address", "nodeType": "ElementaryTypeName", "src": "10011:7:12", @@ -7770,7 +7770,7 @@ } } }, - "id": 3377, + "id": 3384, "isConstant": false, "isLValue": false, "isPure": false, @@ -7787,11 +7787,11 @@ }, { "argumentTypes": null, - "id": 3378, + "id": 3385, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "10039:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7812,32 +7812,32 @@ ], "expression": { "argumentTypes": null, - "id": 3372, + "id": 3379, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "9968:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3373, + "id": 3380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "9968:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3379, + "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, @@ -7858,14 +7858,14 @@ "typeString": "uint256" } }, - "id": 3381, + "id": 3388, "nodeType": "ExpressionStatement", "src": "9949:107:12" }, { "expression": { "argumentTypes": null, - "id": 3391, + "id": 3398, "isConstant": false, "isLValue": false, "isPure": false, @@ -7874,25 +7874,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3382, + "id": 3389, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10115:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3384, + "id": 3391, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "availibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3282, + "referencedDeclaration": 3289, "src": "10115:29:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7908,7 +7908,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3387, + "id": 3394, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7919,7 +7919,7 @@ "typeString": "msg" } }, - "id": 3388, + "id": 3395, "isConstant": false, "isLValue": false, "isPure": false, @@ -7935,11 +7935,11 @@ }, { "argumentTypes": null, - "id": 3389, + "id": 3396, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10218:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7960,32 +7960,32 @@ ], "expression": { "argumentTypes": null, - "id": 3385, + "id": 3392, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "10147:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3386, + "id": 3393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6599, + "referencedDeclaration": 6606, "src": "10147:33:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) external returns (uint256)" } }, - "id": 3390, + "id": 3397, "isConstant": false, "isLValue": false, "isPure": false, @@ -8006,14 +8006,14 @@ "typeString": "uint256" } }, - "id": 3392, + "id": 3399, "nodeType": "ExpressionStatement", "src": "10115:124:12" }, { "expression": { "argumentTypes": null, - "id": 3401, + "id": 3408, "isConstant": false, "isLValue": false, "isPure": false, @@ -8022,25 +8022,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3393, + "id": 3400, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10285:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3395, + "id": 3402, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3288, + "referencedDeclaration": 3295, "src": "10285:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8055,7 +8055,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3399, + "id": 3406, "isConstant": false, "isLValue": false, "isPure": true, @@ -8082,46 +8082,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3396, + "id": 3403, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10300:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3397, + "id": 3404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "10300:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3398, + "id": 3405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "10300:27:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3400, + "id": 3407, "isConstant": false, "isLValue": false, "isPure": false, @@ -8142,14 +8142,14 @@ "typeString": "uint256" } }, - "id": 3402, + "id": 3409, "nodeType": "ExpressionStatement", "src": "10285:45:12" }, { "expression": { "argumentTypes": null, - "id": 3412, + "id": 3419, "isConstant": false, "isLValue": false, "isPure": false, @@ -8158,25 +8158,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3403, + "id": 3410, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10403:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3405, + "id": 3412, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "collateralNeeded", "nodeType": "MemberAccess", - "referencedDeclaration": 3290, + "referencedDeclaration": 3297, "src": "10403:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8192,25 +8192,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3409, + "id": 3416, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10455:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3410, + "id": 3417, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3288, + "referencedDeclaration": 3295, "src": "10455:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8229,46 +8229,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3406, + "id": 3413, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10427:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3407, + "id": 3414, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "10427:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3408, + "id": 3415, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "10427:27:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3411, + "id": 3418, "isConstant": false, "isLValue": false, "isPure": false, @@ -8289,7 +8289,7 @@ "typeString": "uint256" } }, - "id": 3413, + "id": 3420, "nodeType": "ExpressionStatement", "src": "10403:65:12" }, @@ -8303,7 +8303,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3419, + "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, @@ -8312,25 +8312,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3415, + "id": 3422, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10586:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3416, + "id": 3423, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "availibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3282, + "referencedDeclaration": 3289, "src": "10586:29:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8343,25 +8343,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3417, + "id": 3424, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10619:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3418, + "id": 3425, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "collateralNeeded", "nodeType": "MemberAccess", - "referencedDeclaration": 3290, + "referencedDeclaration": 3297, "src": "10619:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8377,7 +8377,7 @@ { "argumentTypes": null, "hexValue": "6e6f7420656e6f75676820636f6c6c61746572616c", - "id": 3420, + "id": 3427, "isConstant": false, "isLValue": false, "isPure": true, @@ -8404,7 +8404,7 @@ "typeString": "literal_string \"not enough collateral\"" } ], - "id": 3414, + "id": 3421, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8418,7 +8418,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3421, + "id": 3428, "isConstant": false, "isLValue": false, "isPure": false, @@ -8433,7 +8433,7 @@ "typeString": "tuple()" } }, - "id": 3422, + "id": 3429, "nodeType": "ExpressionStatement", "src": "10565:122:12" }, @@ -8445,7 +8445,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3426, + "id": 3433, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8456,7 +8456,7 @@ "typeString": "msg" } }, - "id": 3427, + "id": 3434, "isConstant": false, "isLValue": false, "isPure": false, @@ -8472,11 +8472,11 @@ }, { "argumentTypes": null, - "id": 3428, + "id": 3435, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10784:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8487,25 +8487,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3429, + "id": 3436, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10797:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3430, + "id": 3437, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amountValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3286, + "referencedDeclaration": 3293, "src": "10797:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8530,32 +8530,32 @@ ], "expression": { "argumentTypes": null, - "id": 3423, + "id": 3430, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "10750:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3425, + "id": 3432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralUp", "nodeType": "MemberAccess", - "referencedDeclaration": 6608, + "referencedDeclaration": 6615, "src": "10750:21:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3431, + "id": 3438, "isConstant": false, "isLValue": false, "isPure": false, @@ -8570,14 +8570,14 @@ "typeString": "tuple()" } }, - "id": 3432, + "id": 3439, "nodeType": "ExpressionStatement", "src": "10750:64:12" }, { "expression": { "argumentTypes": null, - "id": 3440, + "id": 3447, "isConstant": false, "isLValue": false, "isPure": false, @@ -8586,25 +8586,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3433, + "id": 3440, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10863:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3435, + "id": 3442, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "10863:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8619,7 +8619,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3438, + "id": 3445, "isConstant": false, "isLValue": false, "isPure": true, @@ -8644,32 +8644,32 @@ ], "expression": { "argumentTypes": null, - "id": 3436, + "id": 3443, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "10875:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3437, + "id": 3444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "10875:11:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3439, + "id": 3446, "isConstant": false, "isLValue": false, "isPure": false, @@ -8690,14 +8690,14 @@ "typeString": "uint256" } }, - "id": 3441, + "id": 3448, "nodeType": "ExpressionStatement", "src": "10863:26:12" }, { "expression": { "argumentTypes": null, - "id": 3447, + "id": 3454, "isConstant": false, "isLValue": false, "isPure": false, @@ -8706,23 +8706,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3442, + "id": 3449, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "10936:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3445, + "id": 3452, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3443, + "id": 3450, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8733,7 +8733,7 @@ "typeString": "msg" } }, - "id": 3444, + "id": 3451, "isConstant": false, "isLValue": false, "isPure": false, @@ -8762,11 +8762,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3446, + "id": 3453, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10970:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8779,14 +8779,14 @@ "typeString": "address" } }, - "id": 3448, + "id": 3455, "nodeType": "ExpressionStatement", "src": "10936:45:12" }, { "expression": { "argumentTypes": null, - "id": 3454, + "id": 3461, "isConstant": false, "isLValue": false, "isPure": false, @@ -8795,23 +8795,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3449, + "id": 3456, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "10991:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3452, + "id": 3459, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3450, + "id": 3457, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8822,7 +8822,7 @@ "typeString": "msg" } }, - "id": 3451, + "id": 3458, "isConstant": false, "isLValue": false, "isPure": false, @@ -8852,7 +8852,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3453, + "id": 3460, "isConstant": false, "isLValue": false, "isPure": true, @@ -8873,7 +8873,7 @@ "typeString": "bool" } }, - "id": 3455, + "id": 3462, "nodeType": "ExpressionStatement", "src": "10991:36:12" }, @@ -8885,25 +8885,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3459, + "id": 3466, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11085:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3460, + "id": 3467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11085:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8914,7 +8914,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3461, + "id": 3468, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8925,7 +8925,7 @@ "typeString": "msg" } }, - "id": 3462, + "id": 3469, "isConstant": false, "isLValue": false, "isPure": false, @@ -8953,32 +8953,32 @@ ], "expression": { "argumentTypes": null, - "id": 3456, + "id": 3463, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "11074:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3458, + "id": 3465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6492, + "referencedDeclaration": 6499, "src": "11074:10:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address) external" } }, - "id": 3463, + "id": 3470, "isConstant": false, "isLValue": false, "isPure": false, @@ -8993,7 +8993,7 @@ "typeString": "tuple()" } }, - "id": 3464, + "id": 3471, "nodeType": "ExpressionStatement", "src": "11074:33:12" }, @@ -9005,25 +9005,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3468, + "id": 3475, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11128:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3469, + "id": 3476, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11128:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9034,7 +9034,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3470, + "id": 3477, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -9045,7 +9045,7 @@ "typeString": "msg" } }, - "id": 3471, + "id": 3478, "isConstant": false, "isLValue": false, "isPure": false, @@ -9073,32 +9073,32 @@ ], "expression": { "argumentTypes": null, - "id": 3465, + "id": 3472, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11117:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3467, + "id": 3474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6492, + "referencedDeclaration": 6499, "src": "11117:10:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address) external" } }, - "id": 3472, + "id": 3479, "isConstant": false, "isLValue": false, "isPure": false, @@ -9113,7 +9113,7 @@ "typeString": "tuple()" } }, - "id": 3473, + "id": 3480, "nodeType": "ExpressionStatement", "src": "11117:33:12" }, @@ -9125,7 +9125,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3475, + "id": 3482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -9136,7 +9136,7 @@ "typeString": "msg" } }, - "id": 3476, + "id": 3483, "isConstant": false, "isLValue": false, "isPure": false, @@ -9154,25 +9154,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3477, + "id": 3484, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11184:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3478, + "id": 3485, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11184:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9183,25 +9183,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3479, + "id": 3486, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11195:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3480, + "id": 3487, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11195:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9224,18 +9224,18 @@ "typeString": "uint256" } ], - "id": 3474, + "id": 3481, "name": "Borrow", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2931, + "referencedDeclaration": 2938, "src": "11165:6:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3481, + "id": 3488, "isConstant": false, "isLValue": false, "isPure": false, @@ -9250,20 +9250,20 @@ "typeString": "tuple()" } }, - "id": 3482, + "id": 3489, "nodeType": "EmitStatement", "src": "11160:45:12" } ] }, "documentation": { - "id": 3294, + "id": 3301, "nodeType": "StructuredDocumentation", "src": "8530:225:12", "text": "@notice borrow is used to take out a loan from in MoneyMarketInstance's underlying asset\n@param _amount is the amount of asset being barrowed\n@param _collateral is the address of the ALR token being used as collateral*" }, "functionSelector": "4b3fd148", - "id": 3484, + "id": 3491, "implemented": true, "kind": "function", "modifiers": [], @@ -9271,17 +9271,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3299, + "id": 3306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3296, + "id": 3303, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3484, + "scope": 3491, "src": "8776:15:12", "stateVariable": false, "storageLocation": "default", @@ -9290,7 +9290,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3295, + "id": 3302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8776:7:12", @@ -9304,12 +9304,12 @@ }, { "constant": false, - "id": 3298, + "id": 3305, "mutability": "mutable", "name": "_collateral", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3484, + "scope": 3491, "src": "8793:19:12", "stateVariable": false, "storageLocation": "default", @@ -9318,7 +9318,7 @@ "typeString": "address" }, "typeName": { - "id": 3297, + "id": 3304, "name": "address", "nodeType": "ElementaryTypeName", "src": "8793:7:12", @@ -9335,12 +9335,12 @@ "src": "8775:38:12" }, "returnParameters": { - "id": 3300, + "id": 3307, "nodeType": "ParameterList", "parameters": [], "src": "8821:0:12" }, - "scope": 4045, + "scope": 4052, "src": "8760:2452:12", "stateMutability": "nonpayable", "virtual": false, @@ -9348,23 +9348,23 @@ }, { "body": { - "id": 3789, + "id": 3796, "nodeType": "Block", "src": "11384:4165:12", "statements": [ { "assignments": [ - 3491 + 3498 ], "declarations": [ { "constant": false, - "id": 3491, + "id": 3498, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11442:25:12", "stateVariable": false, "storageLocation": "default", @@ -9373,7 +9373,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3490, + "id": 3497, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11442:7:12", @@ -9386,7 +9386,7 @@ "visibility": "internal" } ], - "id": 3497, + "id": 3504, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9394,7 +9394,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3494, + "id": 3501, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -9405,7 +9405,7 @@ "typeString": "msg" } }, - "id": 3495, + "id": 3502, "isConstant": false, "isLValue": false, "isPure": false, @@ -9429,32 +9429,32 @@ ], "expression": { "argumentTypes": null, - "id": 3492, + "id": 3499, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11470:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3493, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "11470:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3496, + "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, @@ -9474,17 +9474,17 @@ }, { "assignments": [ - 3499 + 3506 ], "declarations": [ { "constant": false, - "id": 3499, + "id": 3506, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11516:25:12", "stateVariable": false, "storageLocation": "default", @@ -9493,7 +9493,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3498, + "id": 3505, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11516:7:12", @@ -9506,7 +9506,7 @@ "visibility": "internal" } ], - "id": 3505, + "id": 3512, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9514,7 +9514,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3502, + "id": 3509, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -9525,7 +9525,7 @@ "typeString": "msg" } }, - "id": 3503, + "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, @@ -9549,32 +9549,32 @@ ], "expression": { "argumentTypes": null, - "id": 3500, + "id": 3507, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "11544:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3501, + "id": 3508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "11544:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3504, + "id": 3511, "isConstant": false, "isLValue": false, "isPure": false, @@ -9594,17 +9594,17 @@ }, { "assignments": [ - 3507 + 3514 ], "declarations": [ { "constant": false, - "id": 3507, + "id": 3514, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11590:20:12", "stateVariable": false, "storageLocation": "default", @@ -9613,7 +9613,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3506, + "id": 3513, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11590:7:12", @@ -9626,17 +9626,17 @@ "visibility": "internal" } ], - "id": 3512, + "id": 3519, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3510, + "id": 3517, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "11635:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9653,32 +9653,32 @@ ], "expression": { "argumentTypes": null, - "id": 3508, + "id": 3515, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11613:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3509, + "id": 3516, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "11613:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3511, + "id": 3518, "isConstant": false, "isLValue": false, "isPure": false, @@ -9706,18 +9706,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3516, + "id": 3523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3514, + "id": 3521, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "11671:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9728,11 +9728,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 3515, + "id": 3522, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3507, + "referencedDeclaration": 3514, "src": "11687:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9748,7 +9748,7 @@ { "argumentTypes": null, "hexValue": "5265706179696e6720746f6f206d756368", - "id": 3517, + "id": 3524, "isConstant": false, "isLValue": false, "isPure": true, @@ -9775,7 +9775,7 @@ "typeString": "literal_string \"Repaying too much\"" } ], - "id": 3513, + "id": 3520, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9789,7 +9789,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3518, + "id": 3525, "isConstant": false, "isLValue": false, "isPure": false, @@ -9804,23 +9804,23 @@ "typeString": "tuple()" } }, - "id": 3519, + "id": 3526, "nodeType": "ExpressionStatement", "src": "11663:58:12" }, { "assignments": [ - 3521 + 3528 ], "declarations": [ { "constant": false, - "id": 3521, + "id": 3528, "mutability": "mutable", "name": "payAmountAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11731:20:12", "stateVariable": false, "storageLocation": "default", @@ -9829,7 +9829,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3520, + "id": 3527, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11731:7:12", @@ -9842,24 +9842,24 @@ "visibility": "internal" } ], - "id": 3522, + "id": 3529, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "11731:20:12" }, { "assignments": [ - 3524 + 3531 ], "declarations": [ { "constant": false, - "id": 3524, + "id": 3531, "mutability": "mutable", "name": "payAmountALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11761:20:12", "stateVariable": false, "storageLocation": "default", @@ -9868,7 +9868,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3523, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11761:7:12", @@ -9881,7 +9881,7 @@ "visibility": "internal" } ], - "id": 3525, + "id": 3532, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "11761:20:12" @@ -9893,18 +9893,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3528, + "id": 3535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3526, + "id": 3533, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "11844:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9916,7 +9916,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3527, + "id": 3534, "isConstant": false, "isLValue": false, "isPure": true, @@ -9938,7 +9938,7 @@ } }, "falseBody": { - "id": 3708, + "id": 3715, "nodeType": "Block", "src": "12369:1966:12", "statements": [ @@ -9949,18 +9949,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3586, + "id": 3593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3584, + "id": 3591, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12443:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9972,7 +9972,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3585, + "id": 3592, "isConstant": false, "isLValue": false, "isPure": true, @@ -9994,7 +9994,7 @@ } }, "falseBody": { - "id": 3706, + "id": 3713, "nodeType": "Block", "src": "13971:354:12", "statements": [ @@ -10006,7 +10006,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3681, + "id": 3688, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10017,7 +10017,7 @@ "typeString": "msg" } }, - "id": 3682, + "id": 3689, "isConstant": false, "isLValue": false, "isPure": false, @@ -10036,14 +10036,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3685, + "id": 3692, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "14140:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -10051,11 +10051,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3684, + "id": 3691, "isConstant": false, "isLValue": false, "isPure": true, @@ -10067,7 +10067,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3683, + "id": 3690, "name": "address", "nodeType": "ElementaryTypeName", "src": "14132:7:12", @@ -10077,7 +10077,7 @@ } } }, - "id": 3686, + "id": 3693, "isConstant": false, "isLValue": false, "isPure": false, @@ -10094,11 +10094,11 @@ }, { "argumentTypes": null, - "id": 3687, + "id": 3694, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14146:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10123,32 +10123,32 @@ ], "expression": { "argumentTypes": null, - "id": 3678, + "id": 3685, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "14101:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3680, + "id": 3687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "14101:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3688, + "id": 3695, "isConstant": false, "isLValue": false, "isPure": false, @@ -10163,25 +10163,25 @@ "typeString": "bool" } }, - "id": 3689, + "id": 3696, "nodeType": "ExpressionStatement", "src": "14101:58:12" }, { "expression": { "argumentTypes": null, - "id": 3697, + "id": 3704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3690, + "id": 3697, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14177:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10195,11 +10195,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3693, + "id": 3700, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14208:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10210,7 +10210,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3694, + "id": 3701, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10221,7 +10221,7 @@ "typeString": "msg" } }, - "id": 3695, + "id": 3702, "isConstant": false, "isLValue": false, "isPure": false, @@ -10249,32 +10249,32 @@ ], "expression": { "argumentTypes": null, - "id": 3691, + "id": 3698, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "14192:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3692, + "id": 3699, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "14192:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3696, + "id": 3703, "isConstant": false, "isLValue": false, "isPure": false, @@ -10295,7 +10295,7 @@ "typeString": "uint256" } }, - "id": 3698, + "id": 3705, "nodeType": "ExpressionStatement", "src": "14177:56:12" }, @@ -10307,7 +10307,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3700, + "id": 3707, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10318,7 +10318,7 @@ "typeString": "msg" } }, - "id": 3701, + "id": 3708, "isConstant": false, "isLValue": false, "isPure": false, @@ -10334,11 +10334,11 @@ }, { "argumentTypes": null, - "id": 3702, + "id": 3709, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14294:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10348,7 +10348,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3703, + "id": 3710, "isConstant": false, "isLValue": false, "isPure": true, @@ -10379,18 +10379,18 @@ "typeString": "int_const 0" } ], - "id": 3699, + "id": 3706, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "14274:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3704, + "id": 3711, "isConstant": false, "isLValue": false, "isPure": false, @@ -10405,17 +10405,17 @@ "typeString": "tuple()" } }, - "id": 3705, + "id": 3712, "nodeType": "EmitStatement", "src": "14269:41:12" } ] }, - "id": 3707, + "id": 3714, "nodeType": "IfStatement", "src": "12439:1886:12", "trueBody": { - "id": 3677, + "id": 3684, "nodeType": "Block", "src": "12467:1498:12", "statements": [ @@ -10426,18 +10426,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3589, + "id": 3596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3587, + "id": 3594, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12539:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10448,11 +10448,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3588, + "id": 3595, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12560:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10466,23 +10466,23 @@ } }, "falseBody": { - "id": 3675, + "id": 3682, "nodeType": "Block", "src": "12981:970:12", "statements": [ { "assignments": [ - 3620 + 3627 ], "declarations": [ { "constant": false, - "id": 3620, + "id": 3627, "mutability": "mutable", "name": "amountToAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3675, + "scope": 3682, "src": "13146:19:12", "stateVariable": false, "storageLocation": "default", @@ -10491,7 +10491,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3619, + "id": 3626, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13146:7:12", @@ -10504,17 +10504,17 @@ "visibility": "internal" } ], - "id": 3625, + "id": 3632, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3623, + "id": 3630, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "13185:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10531,32 +10531,32 @@ ], "expression": { "argumentTypes": null, - "id": 3621, + "id": 3628, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "13168:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3622, + "id": 3629, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "13168:16:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3624, + "id": 3631, "isConstant": false, "isLValue": false, "isPure": false, @@ -10582,7 +10582,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3629, + "id": 3636, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10593,7 +10593,7 @@ "typeString": "msg" } }, - "id": 3630, + "id": 3637, "isConstant": false, "isLValue": false, "isPure": false, @@ -10612,14 +10612,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3633, + "id": 3640, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "13345:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -10627,11 +10627,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3632, + "id": 3639, "isConstant": false, "isLValue": false, "isPure": true, @@ -10643,7 +10643,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3631, + "id": 3638, "name": "address", "nodeType": "ElementaryTypeName", "src": "13337:7:12", @@ -10653,7 +10653,7 @@ } } }, - "id": 3634, + "id": 3641, "isConstant": false, "isLValue": false, "isPure": false, @@ -10670,11 +10670,11 @@ }, { "argumentTypes": null, - "id": 3635, + "id": 3642, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "13375:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10699,32 +10699,32 @@ ], "expression": { "argumentTypes": null, - "id": 3626, + "id": 3633, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "13257:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3628, + "id": 3635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "13257:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3636, + "id": 3643, "isConstant": false, "isLValue": false, "isPure": false, @@ -10739,25 +10739,25 @@ "typeString": "bool" } }, - "id": 3637, + "id": 3644, "nodeType": "ExpressionStatement", "src": "13257:157:12" }, { "expression": { "argumentTypes": null, - "id": 3645, + "id": 3652, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3638, + "id": 3645, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "13472:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10772,7 +10772,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3641, + "id": 3648, "isConstant": false, "isLValue": false, "isPure": true, @@ -10791,7 +10791,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3642, + "id": 3649, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10802,7 +10802,7 @@ "typeString": "msg" } }, - "id": 3643, + "id": 3650, "isConstant": false, "isLValue": false, "isPure": false, @@ -10830,32 +10830,32 @@ ], "expression": { "argumentTypes": null, - "id": 3639, + "id": 3646, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "13487:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3640, + "id": 3647, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "13487:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3644, + "id": 3651, "isConstant": false, "isLValue": false, "isPure": false, @@ -10876,7 +10876,7 @@ "typeString": "uint256" } }, - "id": 3646, + "id": 3653, "nodeType": "ExpressionStatement", "src": "13472:45:12" }, @@ -10888,7 +10888,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3650, + "id": 3657, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10899,7 +10899,7 @@ "typeString": "msg" } }, - "id": 3651, + "id": 3658, "isConstant": false, "isLValue": false, "isPure": false, @@ -10918,14 +10918,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3654, + "id": 3661, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "13592:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -10933,11 +10933,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3653, + "id": 3660, "isConstant": false, "isLValue": false, "isPure": true, @@ -10949,7 +10949,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3652, + "id": 3659, "name": "address", "nodeType": "ElementaryTypeName", "src": "13584:7:12", @@ -10959,7 +10959,7 @@ } } }, - "id": 3655, + "id": 3662, "isConstant": false, "isLValue": false, "isPure": false, @@ -10976,11 +10976,11 @@ }, { "argumentTypes": null, - "id": 3656, + "id": 3663, "name": "amountToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3620, + "referencedDeclaration": 3627, "src": "13598:11:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11005,32 +11005,32 @@ ], "expression": { "argumentTypes": null, - "id": 3647, + "id": 3654, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "13553:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3649, + "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "13553:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3657, + "id": 3664, "isConstant": false, "isLValue": false, "isPure": false, @@ -11045,25 +11045,25 @@ "typeString": "bool" } }, - "id": 3658, + "id": 3665, "nodeType": "ExpressionStatement", "src": "13553:57:12" }, { "expression": { "argumentTypes": null, - "id": 3666, + "id": 3673, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3659, + "id": 3666, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "13676:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11077,11 +11077,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3662, + "id": 3669, "name": "amountToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3620, + "referencedDeclaration": 3627, "src": "13707:11:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11092,7 +11092,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3663, + "id": 3670, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11103,7 +11103,7 @@ "typeString": "msg" } }, - "id": 3664, + "id": 3671, "isConstant": false, "isLValue": false, "isPure": false, @@ -11131,32 +11131,32 @@ ], "expression": { "argumentTypes": null, - "id": 3660, + "id": 3667, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "13691:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3661, + "id": 3668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "13691:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3665, + "id": 3672, "isConstant": false, "isLValue": false, "isPure": false, @@ -11177,7 +11177,7 @@ "typeString": "uint256" } }, - "id": 3667, + "id": 3674, "nodeType": "ExpressionStatement", "src": "13676:55:12" }, @@ -11189,7 +11189,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3669, + "id": 3676, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11200,7 +11200,7 @@ "typeString": "msg" } }, - "id": 3670, + "id": 3677, "isConstant": false, "isLValue": false, "isPure": false, @@ -11216,11 +11216,11 @@ }, { "argumentTypes": null, - "id": 3671, + "id": 3678, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "13905:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11229,11 +11229,11 @@ }, { "argumentTypes": null, - "id": 3672, + "id": 3679, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "13919:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11256,18 +11256,18 @@ "typeString": "uint256" } ], - "id": 3668, + "id": 3675, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "13885:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3673, + "id": 3680, "isConstant": false, "isLValue": false, "isPure": false, @@ -11282,17 +11282,17 @@ "typeString": "tuple()" } }, - "id": 3674, + "id": 3681, "nodeType": "EmitStatement", "src": "13880:52:12" } ] }, - "id": 3676, + "id": 3683, "nodeType": "IfStatement", "src": "12535:1416:12", "trueBody": { - "id": 3618, + "id": 3625, "nodeType": "Block", "src": "12574:401:12", "statements": [ @@ -11304,7 +11304,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3593, + "id": 3600, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11315,7 +11315,7 @@ "typeString": "msg" } }, - "id": 3594, + "id": 3601, "isConstant": false, "isLValue": false, "isPure": false, @@ -11334,14 +11334,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3597, + "id": 3604, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12772:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -11349,11 +11349,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3596, + "id": 3603, "isConstant": false, "isLValue": false, "isPure": true, @@ -11365,7 +11365,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3595, + "id": 3602, "name": "address", "nodeType": "ElementaryTypeName", "src": "12764:7:12", @@ -11375,7 +11375,7 @@ } } }, - "id": 3598, + "id": 3605, "isConstant": false, "isLValue": false, "isPure": false, @@ -11392,11 +11392,11 @@ }, { "argumentTypes": null, - "id": 3599, + "id": 3606, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12778:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11421,32 +11421,32 @@ ], "expression": { "argumentTypes": null, - "id": 3590, + "id": 3597, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "12733:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3592, + "id": 3599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "12733:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3600, + "id": 3607, "isConstant": false, "isLValue": false, "isPure": false, @@ -11461,25 +11461,25 @@ "typeString": "bool" } }, - "id": 3601, + "id": 3608, "nodeType": "ExpressionStatement", "src": "12733:58:12" }, { "expression": { "argumentTypes": null, - "id": 3609, + "id": 3616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3602, + "id": 3609, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "12813:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11493,11 +11493,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3605, + "id": 3612, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12844:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11508,7 +11508,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3606, + "id": 3613, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11519,7 +11519,7 @@ "typeString": "msg" } }, - "id": 3607, + "id": 3614, "isConstant": false, "isLValue": false, "isPure": false, @@ -11547,32 +11547,32 @@ ], "expression": { "argumentTypes": null, - "id": 3603, + "id": 3610, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12828:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3604, + "id": 3611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12828:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3608, + "id": 3615, "isConstant": false, "isLValue": false, "isPure": false, @@ -11593,7 +11593,7 @@ "typeString": "uint256" } }, - "id": 3610, + "id": 3617, "nodeType": "ExpressionStatement", "src": "12813:56:12" }, @@ -11605,7 +11605,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3612, + "id": 3619, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11616,7 +11616,7 @@ "typeString": "msg" } }, - "id": 3613, + "id": 3620, "isConstant": false, "isLValue": false, "isPure": false, @@ -11633,7 +11633,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3614, + "id": 3621, "isConstant": false, "isLValue": false, "isPure": true, @@ -11650,11 +11650,11 @@ }, { "argumentTypes": null, - "id": 3615, + "id": 3622, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12943:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11677,18 +11677,18 @@ "typeString": "uint256" } ], - "id": 3611, + "id": 3618, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "12920:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3616, + "id": 3623, "isConstant": false, "isLValue": false, "isPure": false, @@ -11703,7 +11703,7 @@ "typeString": "tuple()" } }, - "id": 3617, + "id": 3624, "nodeType": "EmitStatement", "src": "12915:41:12" } @@ -11715,11 +11715,11 @@ } ] }, - "id": 3709, + "id": 3716, "nodeType": "IfStatement", "src": "11840:2495:12", "trueBody": { - "id": 3583, + "id": 3590, "nodeType": "Block", "src": "11863:500:12", "statements": [ @@ -11730,18 +11730,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3531, + "id": 3538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3529, + "id": 3536, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11881:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11753,7 +11753,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3530, + "id": 3537, "isConstant": false, "isLValue": false, "isPure": true, @@ -11775,11 +11775,11 @@ } }, "falseBody": null, - "id": 3554, + "id": 3561, "nodeType": "IfStatement", "src": "11877:226:12", "trueBody": { - "id": 3553, + "id": 3560, "nodeType": "Block", "src": "11905:198:12", "statements": [ @@ -11791,7 +11791,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3535, + "id": 3542, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11802,7 +11802,7 @@ "typeString": "msg" } }, - "id": 3536, + "id": 3543, "isConstant": false, "isLValue": false, "isPure": false, @@ -11821,14 +11821,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3539, + "id": 3546, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11962:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -11836,11 +11836,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3538, + "id": 3545, "isConstant": false, "isLValue": false, "isPure": true, @@ -11852,7 +11852,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3537, + "id": 3544, "name": "address", "nodeType": "ElementaryTypeName", "src": "11954:7:12", @@ -11862,7 +11862,7 @@ } } }, - "id": 3540, + "id": 3547, "isConstant": false, "isLValue": false, "isPure": false, @@ -11879,11 +11879,11 @@ }, { "argumentTypes": null, - "id": 3541, + "id": 3548, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11968:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11908,32 +11908,32 @@ ], "expression": { "argumentTypes": null, - "id": 3532, + "id": 3539, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "11923:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3534, + "id": 3541, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "11923:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3542, + "id": 3549, "isConstant": false, "isLValue": false, "isPure": false, @@ -11948,25 +11948,25 @@ "typeString": "bool" } }, - "id": 3543, + "id": 3550, "nodeType": "ExpressionStatement", "src": "11923:63:12" }, { "expression": { "argumentTypes": null, - "id": 3551, + "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3544, + "id": 3551, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "12004:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11980,11 +11980,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3547, + "id": 3554, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12035:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11995,7 +11995,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3548, + "id": 3555, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12006,7 +12006,7 @@ "typeString": "msg" } }, - "id": 3549, + "id": 3556, "isConstant": false, "isLValue": false, "isPure": false, @@ -12034,32 +12034,32 @@ ], "expression": { "argumentTypes": null, - "id": 3545, + "id": 3552, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12019:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3546, + "id": 3553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12019:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3550, + "id": 3557, "isConstant": false, "isLValue": false, "isPure": false, @@ -12080,7 +12080,7 @@ "typeString": "uint256" } }, - "id": 3552, + "id": 3559, "nodeType": "ExpressionStatement", "src": "12004:61:12" } @@ -12095,7 +12095,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3558, + "id": 3565, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12106,7 +12106,7 @@ "typeString": "msg" } }, - "id": 3559, + "id": 3566, "isConstant": false, "isLValue": false, "isPure": false, @@ -12125,14 +12125,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3562, + "id": 3569, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "12155:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -12140,11 +12140,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3561, + "id": 3568, "isConstant": false, "isLValue": false, "isPure": true, @@ -12156,7 +12156,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3560, + "id": 3567, "name": "address", "nodeType": "ElementaryTypeName", "src": "12147:7:12", @@ -12166,7 +12166,7 @@ } } }, - "id": 3563, + "id": 3570, "isConstant": false, "isLValue": false, "isPure": false, @@ -12183,11 +12183,11 @@ }, { "argumentTypes": null, - "id": 3564, + "id": 3571, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12161:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12212,32 +12212,32 @@ ], "expression": { "argumentTypes": null, - "id": 3555, + "id": 3562, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "12116:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3557, + "id": 3564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "12116:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3565, + "id": 3572, "isConstant": false, "isLValue": false, "isPure": false, @@ -12252,25 +12252,25 @@ "typeString": "bool" } }, - "id": 3566, + "id": 3573, "nodeType": "ExpressionStatement", "src": "12116:63:12" }, { "expression": { "argumentTypes": null, - "id": 3574, + "id": 3581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3567, + "id": 3574, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "12193:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12284,11 +12284,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3570, + "id": 3577, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12224:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12299,7 +12299,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3571, + "id": 3578, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12310,7 +12310,7 @@ "typeString": "msg" } }, - "id": 3572, + "id": 3579, "isConstant": false, "isLValue": false, "isPure": false, @@ -12338,32 +12338,32 @@ ], "expression": { "argumentTypes": null, - "id": 3568, + "id": 3575, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "12208:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3569, + "id": 3576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12208:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3573, + "id": 3580, "isConstant": false, "isLValue": false, "isPure": false, @@ -12384,7 +12384,7 @@ "typeString": "uint256" } }, - "id": 3575, + "id": 3582, "nodeType": "ExpressionStatement", "src": "12193:61:12" }, @@ -12396,7 +12396,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3577, + "id": 3584, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12407,7 +12407,7 @@ "typeString": "msg" } }, - "id": 3578, + "id": 3585, "isConstant": false, "isLValue": false, "isPure": false, @@ -12423,11 +12423,11 @@ }, { "argumentTypes": null, - "id": 3579, + "id": 3586, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12315:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12436,11 +12436,11 @@ }, { "argumentTypes": null, - "id": 3580, + "id": 3587, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12334:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12463,18 +12463,18 @@ "typeString": "uint256" } ], - "id": 3576, + "id": 3583, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "12295:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3581, + "id": 3588, "isConstant": false, "isLValue": false, "isPure": false, @@ -12489,7 +12489,7 @@ "typeString": "tuple()" } }, - "id": 3582, + "id": 3589, "nodeType": "EmitStatement", "src": "12290:62:12" } @@ -12498,17 +12498,17 @@ }, { "assignments": [ - 3711 + 3718 ], "declarations": [ { "constant": false, - "id": 3711, + "id": 3718, "mutability": "mutable", "name": "repayedAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "14399:21:12", "stateVariable": false, "storageLocation": "default", @@ -12517,7 +12517,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3710, + "id": 3717, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14399:7:12", @@ -12530,7 +12530,7 @@ "visibility": "internal" } ], - "id": 3712, + "id": 3719, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14399:21:12" @@ -12542,18 +12542,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3715, + "id": 3722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3713, + "id": 3720, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14434:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12565,7 +12565,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3714, + "id": 3721, "isConstant": false, "isLValue": false, "isPure": true, @@ -12587,25 +12587,25 @@ } }, "falseBody": { - "id": 3725, + "id": 3732, "nodeType": "Block", "src": "14512:53:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3723, + "id": 3730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3721, + "id": 3728, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14526:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12616,11 +12616,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3722, + "id": 3729, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14542:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12633,35 +12633,35 @@ "typeString": "uint256" } }, - "id": 3724, + "id": 3731, "nodeType": "ExpressionStatement", "src": "14526:28:12" } ] }, - "id": 3726, + "id": 3733, "nodeType": "IfStatement", "src": "14430:135:12", "trueBody": { - "id": 3720, + "id": 3727, "nodeType": "Block", "src": "14453:53:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3718, + "id": 3725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3716, + "id": 3723, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14467:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12672,11 +12672,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3717, + "id": 3724, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3507, + "referencedDeclaration": 3514, "src": "14483:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12689,7 +12689,7 @@ "typeString": "uint256" } }, - "id": 3719, + "id": 3726, "nodeType": "ExpressionStatement", "src": "14467:28:12" } @@ -12698,17 +12698,17 @@ }, { "assignments": [ - 3728 + 3735 ], "declarations": [ { "constant": false, - "id": 3728, + "id": 3735, "mutability": "mutable", "name": "_USDCvalRepayed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "14620:23:12", "stateVariable": false, "storageLocation": "default", @@ -12717,7 +12717,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3727, + "id": 3734, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14620:7:12", @@ -12730,7 +12730,7 @@ "visibility": "internal" } ], - "id": 3737, + "id": 3744, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12739,14 +12739,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3733, + "id": 3740, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "14697:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -12754,11 +12754,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3732, + "id": 3739, "isConstant": false, "isLValue": false, "isPure": true, @@ -12770,7 +12770,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3731, + "id": 3738, "name": "address", "nodeType": "ElementaryTypeName", "src": "14689:7:12", @@ -12780,7 +12780,7 @@ } } }, - "id": 3734, + "id": 3741, "isConstant": false, "isLValue": false, "isPure": false, @@ -12797,11 +12797,11 @@ }, { "argumentTypes": null, - "id": 3735, + "id": 3742, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14717:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12822,32 +12822,32 @@ ], "expression": { "argumentTypes": null, - "id": 3729, + "id": 3736, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "14646:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3730, + "id": 3737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "14646:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3736, + "id": 3743, "isConstant": false, "isLValue": false, "isPure": false, @@ -12873,7 +12873,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3741, + "id": 3748, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12884,7 +12884,7 @@ "typeString": "msg" } }, - "id": 3742, + "id": 3749, "isConstant": false, "isLValue": false, "isPure": false, @@ -12902,23 +12902,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3743, + "id": 3750, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "14846:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3746, + "id": 3753, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3744, + "id": 3751, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12929,7 +12929,7 @@ "typeString": "msg" } }, - "id": 3745, + "id": 3752, "isConstant": false, "isLValue": false, "isPure": false, @@ -12956,11 +12956,11 @@ }, { "argumentTypes": null, - "id": 3747, + "id": 3754, "name": "_USDCvalRepayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3728, + "referencedDeclaration": 3735, "src": "14891:15:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12985,32 +12985,32 @@ ], "expression": { "argumentTypes": null, - "id": 3738, + "id": 3745, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "14785:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3740, + "id": 3747, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralDown", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6624, "src": "14785:23:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3748, + "id": 3755, "isConstant": false, "isLValue": false, "isPure": false, @@ -13025,7 +13025,7 @@ "typeString": "tuple()" } }, - "id": 3749, + "id": 3756, "nodeType": "ExpressionStatement", "src": "14785:131:12" }, @@ -13036,7 +13036,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3762, + "id": 3769, "isConstant": false, "isLValue": false, "isPure": false, @@ -13047,7 +13047,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3755, + "id": 3762, "isConstant": false, "isLValue": false, "isPure": false, @@ -13057,11 +13057,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3752, + "id": 3759, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "15020:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13078,32 +13078,32 @@ ], "expression": { "argumentTypes": null, - "id": 3750, + "id": 3757, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "14998:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3751, + "id": 3758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "14998:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3753, + "id": 3760, "isConstant": false, "isLValue": false, "isPure": false, @@ -13123,7 +13123,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3754, + "id": 3761, "isConstant": false, "isLValue": false, "isPure": true, @@ -13152,7 +13152,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3761, + "id": 3768, "isConstant": false, "isLValue": false, "isPure": false, @@ -13162,11 +13162,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3758, + "id": 3765, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "15076:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13183,32 +13183,32 @@ ], "expression": { "argumentTypes": null, - "id": 3756, + "id": 3763, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "15054:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3757, + "id": 3764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "15054:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3759, + "id": 3766, "isConstant": false, "isLValue": false, "isPure": false, @@ -13228,7 +13228,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3760, + "id": 3767, "isConstant": false, "isLValue": false, "isPure": true, @@ -13256,18 +13256,18 @@ } }, "falseBody": null, - "id": 3788, + "id": 3795, "nodeType": "IfStatement", "src": "14981:562:12", "trueBody": { - "id": 3787, + "id": 3794, "nodeType": "Block", "src": "15105:438:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3771, + "id": 3778, "isConstant": false, "isLValue": false, "isPure": false, @@ -13276,23 +13276,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3763, + "id": 3770, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "15346:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3766, + "id": 3773, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3764, + "id": 3771, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -13303,7 +13303,7 @@ "typeString": "msg" } }, - "id": 3765, + "id": 3772, "isConstant": false, "isLValue": false, "isPure": false, @@ -13336,7 +13336,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3769, + "id": 3776, "isConstant": false, "isLValue": false, "isPure": true, @@ -13359,7 +13359,7 @@ "typeString": "int_const 0" } ], - "id": 3768, + "id": 3775, "isConstant": false, "isLValue": false, "isPure": true, @@ -13371,7 +13371,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3767, + "id": 3774, "name": "address", "nodeType": "ElementaryTypeName", "src": "15380:7:12", @@ -13381,7 +13381,7 @@ } } }, - "id": 3770, + "id": 3777, "isConstant": false, "isLValue": false, "isPure": true, @@ -13402,14 +13402,14 @@ "typeString": "address" } }, - "id": 3772, + "id": 3779, "nodeType": "ExpressionStatement", "src": "15346:44:12" }, { "expression": { "argumentTypes": null, - "id": 3778, + "id": 3785, "isConstant": false, "isLValue": false, "isPure": false, @@ -13418,23 +13418,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3773, + "id": 3780, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "15404:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3776, + "id": 3783, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3774, + "id": 3781, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -13445,7 +13445,7 @@ "typeString": "msg" } }, - "id": 3775, + "id": 3782, "isConstant": false, "isLValue": false, "isPure": false, @@ -13475,7 +13475,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3777, + "id": 3784, "isConstant": false, "isLValue": false, "isPure": true, @@ -13496,14 +13496,14 @@ "typeString": "bool" } }, - "id": 3779, + "id": 3786, "nodeType": "ExpressionStatement", "src": "15404:37:12" }, { "expression": { "argumentTypes": null, - "id": 3785, + "id": 3792, "isConstant": false, "isLValue": false, "isPure": false, @@ -13512,23 +13512,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3780, + "id": 3787, "name": "lockedCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2888, + "referencedDeclaration": 2895, "src": "15500:16:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3783, + "id": 3790, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3781, + "id": 3788, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -13539,7 +13539,7 @@ "typeString": "msg" } }, - "id": 3782, + "id": 3789, "isConstant": false, "isLValue": false, "isPure": false, @@ -13569,7 +13569,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 3784, + "id": 3791, "isConstant": false, "isLValue": false, "isPure": true, @@ -13590,7 +13590,7 @@ "typeString": "uint256" } }, - "id": 3786, + "id": 3793, "nodeType": "ExpressionStatement", "src": "15500:32:12" } @@ -13600,13 +13600,13 @@ ] }, "documentation": { - "id": 3485, + "id": 3492, "nodeType": "StructuredDocumentation", "src": "11218:117:12", "text": "@notice repay is used to repay a loan\n@param _repayAmount is the amount of the underlying asset being repayed*" }, "functionSelector": "371fd8e6", - "id": 3790, + "id": 3797, "implemented": true, "kind": "function", "modifiers": [], @@ -13614,17 +13614,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3488, + "id": 3495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3487, + "id": 3494, "mutability": "mutable", "name": "_repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3790, + "scope": 3797, "src": "11355:20:12", "stateVariable": false, "storageLocation": "default", @@ -13633,7 +13633,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3486, + "id": 3493, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11355:7:12", @@ -13649,12 +13649,12 @@ "src": "11354:22:12" }, "returnParameters": { - "id": 3489, + "id": 3496, "nodeType": "ParameterList", "parameters": [], "src": "11384:0:12" }, - "scope": 4045, + "scope": 4052, "src": "11340:4209:12", "stateMutability": "nonpayable", "virtual": false, @@ -13662,16 +13662,16 @@ }, { "canonicalName": "MoneyMarketInstance.liquidateLocalVar", - "id": 3809, + "id": 3816, "members": [ { "constant": false, - "id": 3792, + "id": 3799, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15639:25:12", "stateVariable": false, "storageLocation": "default", @@ -13680,7 +13680,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3791, + "id": 3798, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15639:7:12", @@ -13694,12 +13694,12 @@ }, { "constant": false, - "id": 3794, + "id": 3801, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15674:25:12", "stateVariable": false, "storageLocation": "default", @@ -13708,7 +13708,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3793, + "id": 3800, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15674:7:12", @@ -13722,12 +13722,12 @@ }, { "constant": false, - "id": 3796, + "id": 3803, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15709:20:12", "stateVariable": false, "storageLocation": "default", @@ -13736,7 +13736,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3795, + "id": 3802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15709:7:12", @@ -13750,12 +13750,12 @@ }, { "constant": false, - "id": 3798, + "id": 3805, "mutability": "mutable", "name": "borrowedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15739:21:12", "stateVariable": false, "storageLocation": "default", @@ -13764,7 +13764,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3797, + "id": 3804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15739:7:12", @@ -13778,12 +13778,12 @@ }, { "constant": false, - "id": 3800, + "id": 3807, "mutability": "mutable", "name": "borrowedValue150", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15770:24:12", "stateVariable": false, "storageLocation": "default", @@ -13792,7 +13792,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3799, + "id": 3806, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15770:7:12", @@ -13806,12 +13806,12 @@ }, { "constant": false, - "id": 3802, + "id": 3809, "mutability": "mutable", "name": "collatValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15804:19:12", "stateVariable": false, "storageLocation": "default", @@ -13820,7 +13820,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3801, + "id": 3808, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15804:7:12", @@ -13834,12 +13834,12 @@ }, { "constant": false, - "id": 3804, + "id": 3811, "mutability": "mutable", "name": "halfVal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15833:15:12", "stateVariable": false, "storageLocation": "default", @@ -13848,7 +13848,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3803, + "id": 3810, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15833:7:12", @@ -13862,12 +13862,12 @@ }, { "constant": false, - "id": 3806, + "id": 3813, "mutability": "mutable", "name": "payAmountALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15858:20:12", "stateVariable": false, "storageLocation": "default", @@ -13876,7 +13876,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3805, + "id": 3812, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15858:7:12", @@ -13890,12 +13890,12 @@ }, { "constant": false, - "id": 3808, + "id": 3815, "mutability": "mutable", "name": "payAmountAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15914:20:12", "stateVariable": false, "storageLocation": "default", @@ -13904,7 +13904,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3807, + "id": 3814, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15914:7:12", @@ -13919,45 +13919,45 @@ ], "name": "liquidateLocalVar", "nodeType": "StructDefinition", - "scope": 4045, + "scope": 4052, "src": "15604:337:12", "visibility": "public" }, { "body": { - "id": 3973, + "id": 3980, "nodeType": "Block", "src": "16267:2044:12", "statements": [ { "assignments": [ - 3818 + 3825 ], "declarations": [ { "constant": false, - "id": 3818, + "id": 3825, "mutability": "mutable", "name": "vars", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16313:29:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar" }, "typeName": { "contractScope": null, - "id": 3817, + "id": 3824, "name": "liquidateLocalVar", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3809, + "referencedDeclaration": 3816, "src": "16313:17:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_storage_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_storage_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar" } }, @@ -13965,7 +13965,7 @@ "visibility": "internal" } ], - "id": 3819, + "id": 3826, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "16313:29:12" @@ -13980,7 +13980,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3824, + "id": 3831, "isConstant": false, "isLValue": false, "isPure": false, @@ -13989,7 +13989,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3821, + "id": 3828, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -14000,7 +14000,7 @@ "typeString": "msg" } }, - "id": 3822, + "id": 3829, "isConstant": false, "isLValue": false, "isPure": false, @@ -14018,11 +14018,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 3823, + "id": 3830, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16374:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14038,7 +14038,7 @@ { "argumentTypes": null, "hexValue": "796f752063616e74206c697175696461746520796f757273656c66", - "id": 3825, + "id": 3832, "isConstant": false, "isLValue": false, "isPure": true, @@ -14065,7 +14065,7 @@ "typeString": "literal_string \"you cant liquidate yourself\"" } ], - "id": 3820, + "id": 3827, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -14079,7 +14079,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3826, + "id": 3833, "isConstant": false, "isLValue": false, "isPure": false, @@ -14094,23 +14094,23 @@ "typeString": "tuple()" } }, - "id": 3827, + "id": 3834, "nodeType": "ExpressionStatement", "src": "16352:63:12" }, { "assignments": [ - 3829 + 3836 ], "declarations": [ { "constant": false, - "id": 3829, + "id": 3836, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16463:25:12", "stateVariable": false, "storageLocation": "default", @@ -14119,7 +14119,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3828, + "id": 3835, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16463:7:12", @@ -14132,17 +14132,17 @@ "visibility": "internal" } ], - "id": 3834, + "id": 3841, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3832, + "id": 3839, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16516:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14159,32 +14159,32 @@ ], "expression": { "argumentTypes": null, - "id": 3830, + "id": 3837, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "16491:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3831, + "id": 3838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "16491:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3833, + "id": 3840, "isConstant": false, "isLValue": false, "isPure": false, @@ -14204,17 +14204,17 @@ }, { "assignments": [ - 3836 + 3843 ], "declarations": [ { "constant": false, - "id": 3836, + "id": 3843, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16536:25:12", "stateVariable": false, "storageLocation": "default", @@ -14223,7 +14223,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3835, + "id": 3842, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16536:7:12", @@ -14236,17 +14236,17 @@ "visibility": "internal" } ], - "id": 3841, + "id": 3848, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3839, + "id": 3846, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16589:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14263,32 +14263,32 @@ ], "expression": { "argumentTypes": null, - "id": 3837, + "id": 3844, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "16564:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3838, + "id": 3845, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "16564:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3840, + "id": 3847, "isConstant": false, "isLValue": false, "isPure": false, @@ -14308,17 +14308,17 @@ }, { "assignments": [ - 3843 + 3850 ], "declarations": [ { "constant": false, - "id": 3843, + "id": 3850, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16609:20:12", "stateVariable": false, "storageLocation": "default", @@ -14327,7 +14327,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3842, + "id": 3849, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16609:7:12", @@ -14340,17 +14340,17 @@ "visibility": "internal" } ], - "id": 3848, + "id": 3855, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3846, + "id": 3853, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3836, + "referencedDeclaration": 3843, "src": "16654:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14367,32 +14367,32 @@ ], "expression": { "argumentTypes": null, - "id": 3844, + "id": 3851, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3829, + "referencedDeclaration": 3836, "src": "16632:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3845, + "id": 3852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "16632:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3847, + "id": 3854, "isConstant": false, "isLValue": false, "isPure": false, @@ -14413,7 +14413,7 @@ { "expression": { "argumentTypes": null, - "id": 3860, + "id": 3867, "isConstant": false, "isLValue": false, "isPure": false, @@ -14422,25 +14422,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3849, + "id": 3856, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "16726:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3851, + "id": 3858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "16726:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14457,14 +14457,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3856, + "id": 3863, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "16798:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -14472,11 +14472,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3855, + "id": 3862, "isConstant": false, "isLValue": false, "isPure": true, @@ -14488,7 +14488,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3854, + "id": 3861, "name": "address", "nodeType": "ElementaryTypeName", "src": "16790:7:12", @@ -14498,7 +14498,7 @@ } } }, - "id": 3857, + "id": 3864, "isConstant": false, "isLValue": false, "isPure": false, @@ -14515,11 +14515,11 @@ }, { "argumentTypes": null, - "id": 3858, + "id": 3865, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3843, + "referencedDeclaration": 3850, "src": "16818:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14540,32 +14540,32 @@ ], "expression": { "argumentTypes": null, - "id": 3852, + "id": 3859, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "16747:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3853, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "16747:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3859, + "id": 3866, "isConstant": false, "isLValue": false, "isPure": false, @@ -14586,14 +14586,14 @@ "typeString": "uint256" } }, - "id": 3861, + "id": 3868, "nodeType": "ExpressionStatement", "src": "16726:114:12" }, { "expression": { "argumentTypes": null, - "id": 3873, + "id": 3880, "isConstant": false, "isLValue": false, "isPure": false, @@ -14602,25 +14602,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3862, + "id": 3869, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "16886:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3864, + "id": 3871, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "collatValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3802, + "referencedDeclaration": 3809, "src": "16886:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14634,11 +14634,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3867, + "id": 3874, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16952:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14650,14 +14650,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3870, + "id": 3877, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "16983:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -14665,11 +14665,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3869, + "id": 3876, "isConstant": false, "isLValue": false, "isPure": true, @@ -14681,7 +14681,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3868, + "id": 3875, "name": "address", "nodeType": "ElementaryTypeName", "src": "16975:7:12", @@ -14691,7 +14691,7 @@ } } }, - "id": 3871, + "id": 3878, "isConstant": false, "isLValue": false, "isPure": false, @@ -14720,32 +14720,32 @@ ], "expression": { "argumentTypes": null, - "id": 3865, + "id": 3872, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "16905:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3866, + "id": 3873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6599, + "referencedDeclaration": 6606, "src": "16905:33:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) external returns (uint256)" } }, - "id": 3872, + "id": 3879, "isConstant": false, "isLValue": false, "isPure": false, @@ -14766,14 +14766,14 @@ "typeString": "uint256" } }, - "id": 3874, + "id": 3881, "nodeType": "ExpressionStatement", "src": "16886:126:12" }, { "expression": { "argumentTypes": null, - "id": 3883, + "id": 3890, "isConstant": false, "isLValue": false, "isPure": false, @@ -14782,25 +14782,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3875, + "id": 3882, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17067:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3877, + "id": 3884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3804, + "referencedDeclaration": 3811, "src": "17067:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14815,7 +14815,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3881, + "id": 3888, "isConstant": false, "isLValue": false, "isPure": true, @@ -14842,46 +14842,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3878, + "id": 3885, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17082:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3879, + "id": 3886, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17082:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3880, + "id": 3887, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "17082:22:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3882, + "id": 3889, "isConstant": false, "isLValue": false, "isPure": false, @@ -14902,14 +14902,14 @@ "typeString": "uint256" } }, - "id": 3884, + "id": 3891, "nodeType": "ExpressionStatement", "src": "17067:40:12" }, { "expression": { "argumentTypes": null, - "id": 3894, + "id": 3901, "isConstant": false, "isLValue": false, "isPure": false, @@ -14918,25 +14918,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3885, + "id": 3892, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17221:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3887, + "id": 3894, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowedValue150", "nodeType": "MemberAccess", - "referencedDeclaration": 3800, + "referencedDeclaration": 3807, "src": "17221:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14952,25 +14952,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3891, + "id": 3898, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17268:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3892, + "id": 3899, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3804, + "referencedDeclaration": 3811, "src": "17268:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14989,46 +14989,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3888, + "id": 3895, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17245:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3889, + "id": 3896, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17245:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3890, + "id": 3897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "17245:22:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3893, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, @@ -15049,7 +15049,7 @@ "typeString": "uint256" } }, - "id": 3895, + "id": 3902, "nodeType": "ExpressionStatement", "src": "17221:60:12" }, @@ -15060,7 +15060,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3900, + "id": 3907, "isConstant": false, "isLValue": false, "isPure": false, @@ -15069,25 +15069,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3896, + "id": 3903, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17509:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3897, + "id": 3904, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "collatValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3802, + "referencedDeclaration": 3809, "src": "17509:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15100,25 +15100,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3898, + "id": 3905, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17528:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3899, + "id": 3906, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue150", "nodeType": "MemberAccess", - "referencedDeclaration": 3800, + "referencedDeclaration": 3807, "src": "17528:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15132,11 +15132,11 @@ } }, "falseBody": null, - "id": 3972, + "id": 3979, "nodeType": "IfStatement", "src": "17505:800:12", "trueBody": { - "id": 3971, + "id": 3978, "nodeType": "Block", "src": "17551:754:12", "statements": [ @@ -15148,7 +15148,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3904, + "id": 3911, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15159,7 +15159,7 @@ "typeString": "msg" } }, - "id": 3905, + "id": 3912, "isConstant": false, "isLValue": false, "isPure": false, @@ -15178,14 +15178,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3908, + "id": 3915, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "17663:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -15193,11 +15193,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3907, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": true, @@ -15209,7 +15209,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3906, + "id": 3913, "name": "address", "nodeType": "ElementaryTypeName", "src": "17655:7:12", @@ -15219,7 +15219,7 @@ } } }, - "id": 3909, + "id": 3916, "isConstant": false, "isLValue": false, "isPure": false, @@ -15236,11 +15236,11 @@ }, { "argumentTypes": null, - "id": 3910, + "id": 3917, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3829, + "referencedDeclaration": 3836, "src": "17669:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15265,32 +15265,32 @@ ], "expression": { "argumentTypes": null, - "id": 3901, + "id": 3908, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "17624:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3903, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "17624:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3911, + "id": 3918, "isConstant": false, "isLValue": false, "isPure": false, @@ -15305,7 +15305,7 @@ "typeString": "bool" } }, - "id": 3912, + "id": 3919, "nodeType": "ExpressionStatement", "src": "17624:63:12" }, @@ -15317,7 +15317,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3916, + "id": 3923, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15328,7 +15328,7 @@ "typeString": "msg" } }, - "id": 3917, + "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, @@ -15347,14 +15347,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3920, + "id": 3927, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "17740:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -15362,11 +15362,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3919, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": true, @@ -15378,7 +15378,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3918, + "id": 3925, "name": "address", "nodeType": "ElementaryTypeName", "src": "17732:7:12", @@ -15388,7 +15388,7 @@ } } }, - "id": 3921, + "id": 3928, "isConstant": false, "isLValue": false, "isPure": false, @@ -15405,11 +15405,11 @@ }, { "argumentTypes": null, - "id": 3922, + "id": 3929, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3836, + "referencedDeclaration": 3843, "src": "17746:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15434,32 +15434,32 @@ ], "expression": { "argumentTypes": null, - "id": 3913, + "id": 3920, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "17701:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3915, + "id": 3922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "17701:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3923, + "id": 3930, "isConstant": false, "isLValue": false, "isPure": false, @@ -15474,7 +15474,7 @@ "typeString": "bool" } }, - "id": 3924, + "id": 3931, "nodeType": "ExpressionStatement", "src": "17701:63:12" }, @@ -15486,25 +15486,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3928, + "id": 3935, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17816:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3929, + "id": 3936, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17816:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15513,11 +15513,11 @@ }, { "argumentTypes": null, - "id": 3930, + "id": 3937, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "17852:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15528,7 +15528,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3931, + "id": 3938, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15539,7 +15539,7 @@ "typeString": "msg" } }, - "id": 3932, + "id": 3939, "isConstant": false, "isLValue": false, "isPure": false, @@ -15558,14 +15558,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3935, + "id": 3942, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "17915:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -15573,11 +15573,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3934, + "id": 3941, "isConstant": false, "isLValue": false, "isPure": true, @@ -15589,7 +15589,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3933, + "id": 3940, "name": "address", "nodeType": "ElementaryTypeName", "src": "17907:7:12", @@ -15599,7 +15599,7 @@ } } }, - "id": 3936, + "id": 3943, "isConstant": false, "isLValue": false, "isPure": false, @@ -15636,32 +15636,32 @@ ], "expression": { "argumentTypes": null, - "id": 3925, + "id": 3932, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "17778:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3927, + "id": 3934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "liquidateTrigger", "nodeType": "MemberAccess", - "referencedDeclaration": 6644, + "referencedDeclaration": 6651, "src": "17778:20:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$returns$__$", "typeString": "function (uint256,address,address,address) external" } }, - "id": 3937, + "id": 3944, "isConstant": false, "isLValue": false, "isPure": false, @@ -15676,14 +15676,14 @@ "typeString": "tuple()" } }, - "id": 3938, + "id": 3945, "nodeType": "ExpressionStatement", "src": "17778:170:12" }, { "expression": { "argumentTypes": null, - "id": 3947, + "id": 3954, "isConstant": false, "isLValue": false, "isPure": false, @@ -15692,25 +15692,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3939, + "id": 3946, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17962:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3941, + "id": 3948, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "payAmountALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3806, + "referencedDeclaration": 3813, "src": "17962:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15725,7 +15725,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3944, + "id": 3951, "isConstant": false, "isLValue": false, "isPure": true, @@ -15742,11 +15742,11 @@ }, { "argumentTypes": null, - "id": 3945, + "id": 3952, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18001:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15767,32 +15767,32 @@ ], "expression": { "argumentTypes": null, - "id": 3942, + "id": 3949, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "17982:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3943, + "id": 3950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "17982:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3946, + "id": 3953, "isConstant": false, "isLValue": false, "isPure": false, @@ -15813,14 +15813,14 @@ "typeString": "uint256" } }, - "id": 3948, + "id": 3955, "nodeType": "ExpressionStatement", "src": "17962:49:12" }, { "expression": { "argumentTypes": null, - "id": 3957, + "id": 3964, "isConstant": false, "isLValue": false, "isPure": false, @@ -15829,25 +15829,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3949, + "id": 3956, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "18039:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3951, + "id": 3958, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "payAmountAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3808, + "referencedDeclaration": 3815, "src": "18039:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15862,7 +15862,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3954, + "id": 3961, "isConstant": false, "isLValue": false, "isPure": true, @@ -15879,11 +15879,11 @@ }, { "argumentTypes": null, - "id": 3955, + "id": 3962, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18078:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15904,32 +15904,32 @@ ], "expression": { "argumentTypes": null, - "id": 3952, + "id": 3959, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18059:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3953, + "id": 3960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "18059:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3956, + "id": 3963, "isConstant": false, "isLValue": false, "isPure": false, @@ -15950,7 +15950,7 @@ "typeString": "uint256" } }, - "id": 3958, + "id": 3965, "nodeType": "ExpressionStatement", "src": "18039:49:12" }, @@ -15960,11 +15960,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3962, + "id": 3969, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18190:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15976,14 +15976,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3965, + "id": 3972, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "18225:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -15991,11 +15991,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3964, + "id": 3971, "isConstant": false, "isLValue": false, "isPure": true, @@ -16007,7 +16007,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3963, + "id": 3970, "name": "address", "nodeType": "ElementaryTypeName", "src": "18217:7:12", @@ -16017,7 +16017,7 @@ } } }, - "id": 3966, + "id": 3973, "isConstant": false, "isLValue": false, "isPure": false, @@ -16036,25 +16036,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3967, + "id": 3974, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "18262:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3968, + "id": 3975, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "18262:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16079,32 +16079,32 @@ ], "expression": { "argumentTypes": null, - "id": 3959, + "id": 3966, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "18149:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3961, + "id": 3968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralDown", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6624, "src": "18149:23:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3969, + "id": 3976, "isConstant": false, "isLValue": false, "isPure": false, @@ -16119,7 +16119,7 @@ "typeString": "tuple()" } }, - "id": 3970, + "id": 3977, "nodeType": "ExpressionStatement", "src": "18149:145:12" } @@ -16129,13 +16129,13 @@ ] }, "documentation": { - "id": 3810, + "id": 3817, "nodeType": "StructuredDocumentation", "src": "15947:206:12", "text": "@notice _liquidateFor is called by the liquidateAccount function on a MMI where a user is being liquidated. This function\nis called on a MMI contract where collateral is staked.*" }, "functionSelector": "ac979028", - "id": 3974, + "id": 3981, "implemented": true, "kind": "function", "modifiers": [], @@ -16143,17 +16143,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3815, + "id": 3822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3812, + "id": 3819, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3974, + "scope": 3981, "src": "16193:17:12", "stateVariable": false, "storageLocation": "default", @@ -16162,7 +16162,7 @@ "typeString": "address" }, "typeName": { - "id": 3811, + "id": 3818, "name": "address", "nodeType": "ElementaryTypeName", "src": "16193:7:12", @@ -16177,28 +16177,28 @@ }, { "constant": false, - "id": 3814, + "id": 3821, "mutability": "mutable", "name": "_ARTcollateralized", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3974, + "scope": 3981, "src": "16220:33:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 3813, + "id": 3820, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "16220:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -16209,12 +16209,12 @@ "src": "16183:76:12" }, "returnParameters": { - "id": 3816, + "id": 3823, "nodeType": "ParameterList", "parameters": [], "src": "16267:0:12" }, - "scope": 4045, + "scope": 4052, "src": "16158:2153:12", "stateMutability": "nonpayable", "virtual": false, @@ -16222,7 +16222,7 @@ }, { "body": { - "id": 3987, + "id": 3994, "nodeType": "Block", "src": "18467:52:12", "statements": [ @@ -16232,11 +16232,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3984, + "id": 3991, "name": "_inQuestion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3977, + "referencedDeclaration": 3984, "src": "18500:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16253,32 +16253,32 @@ ], "expression": { "argumentTypes": null, - "id": 3982, + "id": 3989, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "18484:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3983, + "id": 3990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_checkIfALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6624, + "referencedDeclaration": 6631, "src": "18484:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view external returns (bool)" } }, - "id": 3985, + "id": 3992, "isConstant": false, "isLValue": false, "isPure": false, @@ -16293,21 +16293,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 3981, - "id": 3986, + "functionReturnParameters": 3988, + "id": 3993, "nodeType": "Return", "src": "18477:35:12" } ] }, "documentation": { - "id": 3975, + "id": 3982, "nodeType": "StructuredDocumentation", "src": "18317:76:12", "text": "@notice these are admin functions for updating individual ART values*" }, "functionSelector": "67612843", - "id": 3988, + "id": 3995, "implemented": true, "kind": "function", "modifiers": [], @@ -16315,17 +16315,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3978, + "id": 3985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3977, + "id": 3984, "mutability": "mutable", "name": "_inQuestion", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3988, + "scope": 3995, "src": "18419:19:12", "stateVariable": false, "storageLocation": "default", @@ -16334,7 +16334,7 @@ "typeString": "address" }, "typeName": { - "id": 3976, + "id": 3983, "name": "address", "nodeType": "ElementaryTypeName", "src": "18419:7:12", @@ -16351,17 +16351,17 @@ "src": "18418:21:12" }, "returnParameters": { - "id": 3981, + "id": 3988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3980, + "id": 3987, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3988, + "scope": 3995, "src": "18461:4:12", "stateVariable": false, "storageLocation": "default", @@ -16370,7 +16370,7 @@ "typeString": "bool" }, "typeName": { - "id": 3979, + "id": 3986, "name": "bool", "nodeType": "ElementaryTypeName", "src": "18461:4:12", @@ -16385,7 +16385,7 @@ ], "src": "18460:6:12" }, - "scope": 4045, + "scope": 4052, "src": "18399:120:12", "stateMutability": "view", "virtual": false, @@ -16393,7 +16393,7 @@ }, { "body": { - "id": 4001, + "id": 4008, "nodeType": "Block", "src": "18584:52:12", "statements": [ @@ -16403,11 +16403,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3998, + "id": 4005, "name": "_newModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3990, + "referencedDeclaration": 3997, "src": "18619:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16424,32 +16424,32 @@ ], "expression": { "argumentTypes": null, - "id": 3995, + "id": 4002, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "18594:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3997, + "id": 4004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_updateInterestModel", "nodeType": "MemberAccess", - "referencedDeclaration": 6548, + "referencedDeclaration": 6555, "src": "18594:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 3999, + "id": 4006, "isConstant": false, "isLValue": false, "isPure": false, @@ -16464,7 +16464,7 @@ "typeString": "tuple()" } }, - "id": 4000, + "id": 4007, "nodeType": "ExpressionStatement", "src": "18594:35:12" } @@ -16472,20 +16472,20 @@ }, "documentation": null, "functionSelector": "0a3ed432", - "id": 4002, + "id": 4009, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3993, + "id": 4000, "modifierName": { "argumentTypes": null, - "id": 3992, + "id": 3999, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18570:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -16500,17 +16500,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3991, + "id": 3998, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3990, + "id": 3997, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4002, + "scope": 4009, "src": "18544:17:12", "stateVariable": false, "storageLocation": "default", @@ -16519,7 +16519,7 @@ "typeString": "address" }, "typeName": { - "id": 3989, + "id": 3996, "name": "address", "nodeType": "ElementaryTypeName", "src": "18544:7:12", @@ -16536,12 +16536,12 @@ "src": "18543:19:12" }, "returnParameters": { - "id": 3994, + "id": 4001, "nodeType": "ParameterList", "parameters": [], "src": "18584:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18525:111:12", "stateMutability": "nonpayable", "virtual": false, @@ -16549,7 +16549,7 @@ }, { "body": { - "id": 4015, + "id": 4022, "nodeType": "Block", "src": "18701:52:12", "statements": [ @@ -16559,11 +16559,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4012, + "id": 4019, "name": "_newModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4004, + "referencedDeclaration": 4011, "src": "18736:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16580,32 +16580,32 @@ ], "expression": { "argumentTypes": null, - "id": 4009, + "id": 4016, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18711:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4011, + "id": 4018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_updateInterestModel", "nodeType": "MemberAccess", - "referencedDeclaration": 6548, + "referencedDeclaration": 6555, "src": "18711:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 4013, + "id": 4020, "isConstant": false, "isLValue": false, "isPure": false, @@ -16620,7 +16620,7 @@ "typeString": "tuple()" } }, - "id": 4014, + "id": 4021, "nodeType": "ExpressionStatement", "src": "18711:35:12" } @@ -16628,20 +16628,20 @@ }, "documentation": null, "functionSelector": "b451bb2e", - "id": 4016, + "id": 4023, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4007, + "id": 4014, "modifierName": { "argumentTypes": null, - "id": 4006, + "id": 4013, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18687:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -16656,17 +16656,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4005, + "id": 4012, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4004, + "id": 4011, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4016, + "scope": 4023, "src": "18661:17:12", "stateVariable": false, "storageLocation": "default", @@ -16675,7 +16675,7 @@ "typeString": "address" }, "typeName": { - "id": 4003, + "id": 4010, "name": "address", "nodeType": "ElementaryTypeName", "src": "18661:7:12", @@ -16692,12 +16692,12 @@ "src": "18660:19:12" }, "returnParameters": { - "id": 4008, + "id": 4015, "nodeType": "ParameterList", "parameters": [], "src": "18701:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18642:111:12", "stateMutability": "nonpayable", "virtual": false, @@ -16705,7 +16705,7 @@ }, { "body": { - "id": 4029, + "id": 4036, "nodeType": "Block", "src": "18811:41:12", "statements": [ @@ -16715,11 +16715,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4026, + "id": 4033, "name": "_RR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4018, + "referencedDeclaration": 4025, "src": "18841:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16736,32 +16736,32 @@ ], "expression": { "argumentTypes": null, - "id": 4023, + "id": 4030, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18821:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4025, + "id": 4032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setReserveRatio", "nodeType": "MemberAccess", - "referencedDeclaration": 6553, + "referencedDeclaration": 6560, "src": "18821:19:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 4027, + "id": 4034, "isConstant": false, "isLValue": false, "isPure": false, @@ -16776,7 +16776,7 @@ "typeString": "tuple()" } }, - "id": 4028, + "id": 4035, "nodeType": "ExpressionStatement", "src": "18821:24:12" } @@ -16784,20 +16784,20 @@ }, "documentation": null, "functionSelector": "d6b9b5d9", - "id": 4030, + "id": 4037, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4021, + "id": 4028, "modifierName": { "argumentTypes": null, - "id": 4020, + "id": 4027, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18797:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -16812,17 +16812,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4019, + "id": 4026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4018, + "id": 4025, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4030, + "scope": 4037, "src": "18777:11:12", "stateVariable": false, "storageLocation": "default", @@ -16831,7 +16831,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4017, + "id": 4024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18777:7:12", @@ -16847,12 +16847,12 @@ "src": "18776:13:12" }, "returnParameters": { - "id": 4022, + "id": 4029, "nodeType": "ParameterList", "parameters": [], "src": "18811:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18759:93:12", "stateMutability": "nonpayable", "virtual": false, @@ -16860,7 +16860,7 @@ }, { "body": { - "id": 4043, + "id": 4050, "nodeType": "Block", "src": "18910:41:12", "statements": [ @@ -16870,11 +16870,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4040, + "id": 4047, "name": "_RR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4032, + "referencedDeclaration": 4039, "src": "18940:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16891,32 +16891,32 @@ ], "expression": { "argumentTypes": null, - "id": 4037, + "id": 4044, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "18920:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4039, + "id": 4046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setReserveRatio", "nodeType": "MemberAccess", - "referencedDeclaration": 6553, + "referencedDeclaration": 6560, "src": "18920:19:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 4041, + "id": 4048, "isConstant": false, "isLValue": false, "isPure": false, @@ -16931,7 +16931,7 @@ "typeString": "tuple()" } }, - "id": 4042, + "id": 4049, "nodeType": "ExpressionStatement", "src": "18920:24:12" } @@ -16939,20 +16939,20 @@ }, "documentation": null, "functionSelector": "1d7bd46e", - "id": 4044, + "id": 4051, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4035, + "id": 4042, "modifierName": { "argumentTypes": null, - "id": 4034, + "id": 4041, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18896:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -16967,17 +16967,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4033, + "id": 4040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4032, + "id": 4039, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4051, "src": "18876:11:12", "stateVariable": false, "storageLocation": "default", @@ -16986,7 +16986,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4031, + "id": 4038, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18876:7:12", @@ -17002,36 +17002,36 @@ "src": "18875:13:12" }, "returnParameters": { - "id": 4036, + "id": 4043, "nodeType": "ParameterList", "parameters": [], "src": "18910:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18858:93:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 4046, + "scope": 4053, "src": "895:18058:12" } ], "src": "0:18954:12" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/MoneyMarketInstance.sol", "exportedSymbols": { "MoneyMarketInstance": [ - 4045 + 4052 ] }, - "id": 4046, + "id": 4053, "nodeType": "SourceUnit", "nodes": [ { - "id": 2842, + "id": 2849, "literals": [ "solidity", "^", @@ -17044,10 +17044,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 2843, + "id": 2850, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 10755, + "scope": 4053, + "sourceUnit": 10762, "src": "25:60:12", "symbolAliases": [], "unitAlias": "" @@ -17055,10 +17055,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 2844, + "id": 2851, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 10951, + "scope": 4053, + "sourceUnit": 10958, "src": "86:59:12", "symbolAliases": [], "unitAlias": "" @@ -17066,65 +17066,65 @@ { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 2845, + "id": 2852, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 11536, + "scope": 4053, + "sourceUnit": 11539, "src": "146:64:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/compound/Exponential.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/compound/Exponential.sol", "file": "./compound/Exponential.sol", - "id": 2846, + "id": 2853, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6343, + "scope": 4053, + "sourceUnit": 6350, "src": "211:36:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "file": "./interfaces/UniswapOracleFactoryI.sol", - "id": 2847, + "id": 2854, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6789, + "scope": 4053, + "sourceUnit": 6796, "src": "248:48:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketFactoryI.sol", "file": "./interfaces/MoneyMarketFactoryI.sol", - "id": 2848, + "id": 2855, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6646, + "scope": 4053, + "sourceUnit": 6653, "src": "297:46:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/AskoRiskTokenI.sol", "file": "./interfaces/AskoRiskTokenI.sol", - "id": 2849, + "id": 2856, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6555, + "scope": 4053, + "sourceUnit": 6562, "src": "344:41:12", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/ARTFactoryI.sol", "file": "./interfaces/ARTFactoryI.sol", - "id": 2850, + "id": 2857, "nodeType": "ImportDirective", - "scope": 4046, - "sourceUnit": 6448, + "scope": 4053, + "sourceUnit": 6455, "src": "386:38:12", "symbolAliases": [], "unitAlias": "" @@ -17136,17 +17136,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2852, + "id": 2859, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10754, + "referencedDeclaration": 10761, "src": "927:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10754", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 2853, + "id": 2860, "nodeType": "InheritanceSpecifier", "src": "927:7:12" }, @@ -17154,64 +17154,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2854, + "id": 2861, "name": "Exponential", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6342, + "referencedDeclaration": 6349, "src": "936:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Exponential_$6342", + "typeIdentifier": "t_contract$_Exponential_$6349", "typeString": "contract Exponential" } }, - "id": 2855, + "id": 2862, "nodeType": "InheritanceSpecifier", "src": "936:11:12" } ], "contractDependencies": [ - 5157, - 6342, - 10645, - 10754 + 5164, + 6349, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 2851, + "id": 2858, "nodeType": "StructuredDocumentation", "src": "673:221:12", "text": "The MoneyMarketInstance contract is designed facilitate a tiered money market for an individual ERC20 asset\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol && IRC20.sol*" }, "fullyImplemented": true, - "id": 4045, + "id": 4052, "linearizedBaseContracts": [ - 4045, - 6342, - 5157, - 10754, - 10645 + 4052, + 6349, + 5164, + 10761, + 10652 ], "name": "MoneyMarketInstance", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2858, + "id": 2865, "libraryName": { "contractScope": null, - "id": 2856, + "id": 2863, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10950, + "referencedDeclaration": 10957, "src": "960:8:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$10950", + "typeIdentifier": "t_contract$_SafeMath_$10957", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "954:27:12", "typeName": { - "id": 2857, + "id": 2864, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "973:7:12", @@ -17224,12 +17224,12 @@ { "constant": false, "functionSelector": "1f2dc5ef", - "id": 2860, + "id": 2867, "mutability": "mutable", "name": "divisor", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "987:22:12", "stateVariable": true, "storageLocation": "default", @@ -17238,7 +17238,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2859, + "id": 2866, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "987:7:12", @@ -17253,12 +17253,12 @@ { "constant": false, "functionSelector": "f2130c70", - "id": 2862, + "id": 2869, "mutability": "mutable", "name": "fee_AHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1015:22:12", "stateVariable": true, "storageLocation": "default", @@ -17267,7 +17267,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2861, + "id": 2868, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1015:7:12", @@ -17282,12 +17282,12 @@ { "constant": false, "functionSelector": "f9828b4f", - "id": 2864, + "id": 2871, "mutability": "mutable", "name": "fee_ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1043:22:12", "stateVariable": true, "storageLocation": "default", @@ -17296,7 +17296,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2863, + "id": 2870, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1043:7:12", @@ -17311,12 +17311,12 @@ { "constant": false, "functionSelector": "460bb650", - "id": 2866, + "id": 2873, "mutability": "mutable", "name": "ahr", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1071:18:12", "stateVariable": true, "storageLocation": "default", @@ -17325,7 +17325,7 @@ "typeString": "address" }, "typeName": { - "id": 2865, + "id": 2872, "name": "address", "nodeType": "ElementaryTypeName", "src": "1071:7:12", @@ -17341,12 +17341,12 @@ { "constant": false, "functionSelector": "045de1f8", - "id": 2868, + "id": 2875, "mutability": "mutable", "name": "alr", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1095:18:12", "stateVariable": true, "storageLocation": "default", @@ -17355,7 +17355,7 @@ "typeString": "address" }, "typeName": { - "id": 2867, + "id": 2874, "name": "address", "nodeType": "ElementaryTypeName", "src": "1095:7:12", @@ -17371,12 +17371,12 @@ { "constant": false, "functionSelector": "c9230c5d", - "id": 2870, + "id": 2877, "mutability": "mutable", "name": "assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1120:23:12", "stateVariable": true, "storageLocation": "default", @@ -17385,7 +17385,7 @@ "typeString": "string" }, "typeName": { - "id": 2869, + "id": 2876, "name": "string", "nodeType": "ElementaryTypeName", "src": "1120:6:12", @@ -17400,12 +17400,12 @@ { "constant": false, "functionSelector": "176de7a8", - "id": 2872, + "id": 2879, "mutability": "mutable", "name": "assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1149:25:12", "stateVariable": true, "storageLocation": "default", @@ -17414,7 +17414,7 @@ "typeString": "string" }, "typeName": { - "id": 2871, + "id": 2878, "name": "string", "nodeType": "ElementaryTypeName", "src": "1149:6:12", @@ -17429,28 +17429,28 @@ { "constant": false, "functionSelector": "38d52e0f", - "id": 2874, + "id": 2881, "mutability": "mutable", "name": "asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1181:19:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 2873, + "id": 2880, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11535, + "referencedDeclaration": 11538, "src": "1181:6:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -17460,28 +17460,28 @@ { "constant": false, "functionSelector": "9241cef2", - "id": 2876, + "id": 2883, "mutability": "mutable", "name": "AHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1206:25:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2875, + "id": 2882, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "1206:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -17491,28 +17491,28 @@ { "constant": false, "functionSelector": "c27d4df3", - "id": 2878, + "id": 2885, "mutability": "mutable", "name": "ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1237:25:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 2877, + "id": 2884, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "1237:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -17522,28 +17522,28 @@ { "constant": false, "functionSelector": "d162054a", - "id": 2880, + "id": 2887, "mutability": "mutable", "name": "MMF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1268:30:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" }, "typeName": { "contractScope": null, - "id": 2879, + "id": 2886, "name": "MoneyMarketFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6645, + "referencedDeclaration": 6652, "src": "1268:19:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -17553,28 +17553,28 @@ { "constant": false, "functionSelector": "11e2c02f", - "id": 2882, + "id": 2889, "mutability": "mutable", "name": "UOF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1304:32:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" }, "typeName": { "contractScope": null, - "id": 2881, + "id": 2888, "name": "UniswapOracleFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6788, + "referencedDeclaration": 6795, "src": "1304:21:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -17584,28 +17584,28 @@ { "constant": false, "functionSelector": "1dda0780", - "id": 2884, + "id": 2891, "mutability": "mutable", "name": "ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1342:23:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" }, "typeName": { "contractScope": null, - "id": 2883, + "id": 2890, "name": "ARTFactoryI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6447, + "referencedDeclaration": 6454, "src": "1342:11:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, @@ -17614,12 +17614,12 @@ }, { "constant": false, - "id": 2888, + "id": 2895, "mutability": "mutable", "name": "lockedCollateral", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1372:44:12", "stateVariable": true, "storageLocation": "default", @@ -17628,9 +17628,9 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 2887, + "id": 2894, "keyType": { - "id": 2885, + "id": 2892, "name": "address", "nodeType": "ElementaryTypeName", "src": "1380:7:12", @@ -17646,7 +17646,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2886, + "id": 2893, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1391:7:12", @@ -17661,12 +17661,12 @@ }, { "constant": false, - "id": 2892, + "id": 2899, "mutability": "mutable", "name": "collateralLockedALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1422:47:12", "stateVariable": true, "storageLocation": "default", @@ -17675,9 +17675,9 @@ "typeString": "mapping(address => address)" }, "typeName": { - "id": 2891, + "id": 2898, "keyType": { - "id": 2889, + "id": 2896, "name": "address", "nodeType": "ElementaryTypeName", "src": "1430:7:12", @@ -17693,7 +17693,7 @@ "typeString": "mapping(address => address)" }, "valueType": { - "id": 2890, + "id": 2897, "name": "address", "nodeType": "ElementaryTypeName", "src": "1441:7:12", @@ -17709,12 +17709,12 @@ }, { "constant": false, - "id": 2896, + "id": 2903, "mutability": "mutable", "name": "cantCollateralize", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4045, + "scope": 4052, "src": "1475:42:12", "stateVariable": true, "storageLocation": "default", @@ -17723,9 +17723,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 2895, + "id": 2902, "keyType": { - "id": 2893, + "id": 2900, "name": "address", "nodeType": "ElementaryTypeName", "src": "1483:7:12", @@ -17741,7 +17741,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 2894, + "id": 2901, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1494:4:12", @@ -17756,7 +17756,7 @@ }, { "body": { - "id": 2910, + "id": 2917, "nodeType": "Block", "src": "1671:63:12", "statements": [ @@ -17770,7 +17770,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2906, + "id": 2913, "isConstant": false, "isLValue": false, "isPure": false, @@ -17779,7 +17779,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2900, + "id": 2907, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17790,7 +17790,7 @@ "typeString": "msg" } }, - "id": 2901, + "id": 2908, "isConstant": false, "isLValue": false, "isPure": false, @@ -17811,14 +17811,14 @@ "arguments": [ { "argumentTypes": null, - "id": 2904, + "id": 2911, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "1711:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -17826,11 +17826,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 2903, + "id": 2910, "isConstant": false, "isLValue": false, "isPure": true, @@ -17842,7 +17842,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 2902, + "id": 2909, "name": "address", "nodeType": "ElementaryTypeName", "src": "1703:7:12", @@ -17852,7 +17852,7 @@ } } }, - "id": 2905, + "id": 2912, "isConstant": false, "isLValue": false, "isPure": false, @@ -17881,7 +17881,7 @@ "typeString": "bool" } ], - "id": 2899, + "id": 2906, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -17895,7 +17895,7 @@ "typeString": "function (bool) pure" } }, - "id": 2907, + "id": 2914, "isConstant": false, "isLValue": false, "isPure": false, @@ -17910,29 +17910,29 @@ "typeString": "tuple()" } }, - "id": 2908, + "id": 2915, "nodeType": "ExpressionStatement", "src": "1681:35:12" }, { - "id": 2909, + "id": 2916, "nodeType": "PlaceholderStatement", "src": "1726:1:12" } ] }, "documentation": { - "id": 2897, + "id": 2904, "nodeType": "StructuredDocumentation", "src": "1523:118:12", "text": "@notice onlyMMFactory is a modifier used to make a function only callable by the Money Market Factory contract*" }, - "id": 2911, + "id": 2918, "name": "onlyMMFactory", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 2898, + "id": 2905, "nodeType": "ParameterList", "parameters": [], "src": "1668:2:12" @@ -17944,22 +17944,22 @@ { "anonymous": false, "documentation": null, - "id": 2917, + "id": 2924, "name": "LentToAHR", "nodeType": "EventDefinition", "parameters": { - "id": 2916, + "id": 2923, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2913, + "id": 2920, "indexed": false, "mutability": "mutable", "name": "lender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2917, + "scope": 2924, "src": "1756:14:12", "stateVariable": false, "storageLocation": "default", @@ -17968,7 +17968,7 @@ "typeString": "address" }, "typeName": { - "id": 2912, + "id": 2919, "name": "address", "nodeType": "ElementaryTypeName", "src": "1756:7:12", @@ -17983,13 +17983,13 @@ }, { "constant": false, - "id": 2915, + "id": 2922, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2917, + "scope": 2924, "src": "1772:14:12", "stateVariable": false, "storageLocation": "default", @@ -17998,7 +17998,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2914, + "id": 2921, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1772:7:12", @@ -18018,22 +18018,22 @@ { "anonymous": false, "documentation": null, - "id": 2923, + "id": 2930, "name": "LentToALR", "nodeType": "EventDefinition", "parameters": { - "id": 2922, + "id": 2929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2919, + "id": 2926, "indexed": false, "mutability": "mutable", "name": "lender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2923, + "scope": 2930, "src": "1809:14:12", "stateVariable": false, "storageLocation": "default", @@ -18042,7 +18042,7 @@ "typeString": "address" }, "typeName": { - "id": 2918, + "id": 2925, "name": "address", "nodeType": "ElementaryTypeName", "src": "1809:7:12", @@ -18057,13 +18057,13 @@ }, { "constant": false, - "id": 2921, + "id": 2928, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2923, + "scope": 2930, "src": "1825:14:12", "stateVariable": false, "storageLocation": "default", @@ -18072,7 +18072,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2920, + "id": 2927, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1825:7:12", @@ -18092,22 +18092,22 @@ { "anonymous": false, "documentation": null, - "id": 2931, + "id": 2938, "name": "Borrow", "nodeType": "EventDefinition", "parameters": { - "id": 2930, + "id": 2937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2925, + "id": 2932, "indexed": false, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1859:16:12", "stateVariable": false, "storageLocation": "default", @@ -18116,7 +18116,7 @@ "typeString": "address" }, "typeName": { - "id": 2924, + "id": 2931, "name": "address", "nodeType": "ElementaryTypeName", "src": "1859:7:12", @@ -18131,13 +18131,13 @@ }, { "constant": false, - "id": 2927, + "id": 2934, "indexed": false, "mutability": "mutable", "name": "AHRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1877:17:12", "stateVariable": false, "storageLocation": "default", @@ -18146,7 +18146,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2926, + "id": 2933, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1877:7:12", @@ -18160,13 +18160,13 @@ }, { "constant": false, - "id": 2929, + "id": 2936, "indexed": false, "mutability": "mutable", "name": "ALRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2931, + "scope": 2938, "src": "1896:17:12", "stateVariable": false, "storageLocation": "default", @@ -18175,7 +18175,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2928, + "id": 2935, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1896:7:12", @@ -18195,22 +18195,22 @@ { "anonymous": false, "documentation": null, - "id": 2939, + "id": 2946, "name": "Repayed", "nodeType": "EventDefinition", "parameters": { - "id": 2938, + "id": 2945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2933, + "id": 2940, "indexed": false, "mutability": "mutable", "name": "borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1934:16:12", "stateVariable": false, "storageLocation": "default", @@ -18219,7 +18219,7 @@ "typeString": "address" }, "typeName": { - "id": 2932, + "id": 2939, "name": "address", "nodeType": "ElementaryTypeName", "src": "1934:7:12", @@ -18234,13 +18234,13 @@ }, { "constant": false, - "id": 2935, + "id": 2942, "indexed": false, "mutability": "mutable", "name": "AHRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1952:17:12", "stateVariable": false, "storageLocation": "default", @@ -18249,7 +18249,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2934, + "id": 2941, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1952:7:12", @@ -18263,13 +18263,13 @@ }, { "constant": false, - "id": 2937, + "id": 2944, "indexed": false, "mutability": "mutable", "name": "ALRamount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2939, + "scope": 2946, "src": "1971:17:12", "stateVariable": false, "storageLocation": "default", @@ -18278,7 +18278,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2936, + "id": 2943, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1971:7:12", @@ -18298,22 +18298,22 @@ { "anonymous": false, "documentation": null, - "id": 2945, + "id": 2952, "name": "Collateralized", "nodeType": "EventDefinition", "parameters": { - "id": 2944, + "id": 2951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2941, + "id": 2948, "indexed": false, "mutability": "mutable", "name": "collateralizer", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2945, + "scope": 2952, "src": "2016:22:12", "stateVariable": false, "storageLocation": "default", @@ -18322,7 +18322,7 @@ "typeString": "address" }, "typeName": { - "id": 2940, + "id": 2947, "name": "address", "nodeType": "ElementaryTypeName", "src": "2016:7:12", @@ -18337,13 +18337,13 @@ }, { "constant": false, - "id": 2943, + "id": 2950, "indexed": false, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2945, + "scope": 2952, "src": "2040:14:12", "stateVariable": false, "storageLocation": "default", @@ -18352,7 +18352,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2942, + "id": 2949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2040:7:12", @@ -18371,25 +18371,25 @@ }, { "body": { - "id": 2997, + "id": 3004, "nodeType": "Block", "src": "2855:274:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 2963, + "id": 2970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2961, + "id": 2968, "name": "divisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2860, + "referencedDeclaration": 2867, "src": "2865:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18401,7 +18401,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3130303030", - "id": 2962, + "id": 2969, "isConstant": false, "isLValue": false, "isPure": true, @@ -18422,25 +18422,25 @@ "typeString": "uint256" } }, - "id": 2964, + "id": 2971, "nodeType": "ExpressionStatement", "src": "2865:15:12" }, { "expression": { "argumentTypes": null, - "id": 2967, + "id": 2974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2965, + "id": 2972, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "2890:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -18451,11 +18451,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2966, + "id": 2973, "name": "_assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2956, + "referencedDeclaration": 2963, "src": "2902:10:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -18468,25 +18468,25 @@ "typeString": "string storage ref" } }, - "id": 2968, + "id": 2975, "nodeType": "ExpressionStatement", "src": "2890:22:12" }, { "expression": { "argumentTypes": null, - "id": 2971, + "id": 2978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2969, + "id": 2976, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "2922:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -18497,11 +18497,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 2970, + "id": 2977, "name": "_assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2958, + "referencedDeclaration": 2965, "src": "2936:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -18514,28 +18514,28 @@ "typeString": "string storage ref" } }, - "id": 2972, + "id": 2979, "nodeType": "ExpressionStatement", "src": "2922:26:12" }, { "expression": { "argumentTypes": null, - "id": 2977, + "id": 2984, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2973, + "id": 2980, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "2958:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, @@ -18546,11 +18546,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2975, + "id": 2982, "name": "_oracleFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2950, + "referencedDeclaration": 2957, "src": "2986:14:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18565,18 +18565,18 @@ "typeString": "address" } ], - "id": 2974, + "id": 2981, "name": "UniswapOracleFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6788, + "referencedDeclaration": 6795, "src": "2964:21:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6788_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleFactoryI_$6795_$", "typeString": "type(contract UniswapOracleFactoryI)" } }, - "id": 2976, + "id": 2983, "isConstant": false, "isLValue": false, "isPure": false, @@ -18587,38 +18587,38 @@ "src": "2964:37:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, "src": "2958:43:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 2978, + "id": 2985, "nodeType": "ExpressionStatement", "src": "2958:43:12" }, { "expression": { "argumentTypes": null, - "id": 2983, + "id": 2990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2979, + "id": 2986, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "3011:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, @@ -18629,11 +18629,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2981, + "id": 2988, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2952, + "referencedDeclaration": 2959, "src": "3037:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18648,18 +18648,18 @@ "typeString": "address" } ], - "id": 2980, + "id": 2987, "name": "MoneyMarketFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6645, + "referencedDeclaration": 6652, "src": "3017:19:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6645_$", + "typeIdentifier": "t_type$_t_contract$_MoneyMarketFactoryI_$6652_$", "typeString": "type(contract MoneyMarketFactoryI)" } }, - "id": 2982, + "id": 2989, "isConstant": false, "isLValue": false, "isPure": false, @@ -18670,38 +18670,38 @@ "src": "3017:27:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, "src": "3011:33:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 2984, + "id": 2991, "nodeType": "ExpressionStatement", "src": "3011:33:12" }, { "expression": { "argumentTypes": null, - "id": 2989, + "id": 2996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2985, + "id": 2992, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "3054:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, @@ -18712,11 +18712,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2987, + "id": 2994, "name": "_assetContractAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2955, "src": "3069:17:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18731,18 +18731,18 @@ "typeString": "address" } ], - "id": 2986, + "id": 2993, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11535, + "referencedDeclaration": 11538, "src": "3062:6:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$11535_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$11538_$", "typeString": "type(contract IERC20)" } }, - "id": 2988, + "id": 2995, "isConstant": false, "isLValue": false, "isPure": false, @@ -18753,38 +18753,38 @@ "src": "3062:25:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, "src": "3054:33:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 2990, + "id": 2997, "nodeType": "ExpressionStatement", "src": "3054:33:12" }, { "expression": { "argumentTypes": null, - "id": 2995, + "id": 3002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2991, + "id": 2998, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "3097:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, @@ -18795,11 +18795,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2993, + "id": 3000, "name": "_ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2954, + "referencedDeclaration": 2961, "src": "3116:5:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18814,18 +18814,18 @@ "typeString": "address" } ], - "id": 2992, + "id": 2999, "name": "ARTFactoryI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6447, + "referencedDeclaration": 6454, "src": "3104:11:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ARTFactoryI_$6447_$", + "typeIdentifier": "t_type$_t_contract$_ARTFactoryI_$6454_$", "typeString": "type(contract ARTFactoryI)" } }, - "id": 2994, + "id": 3001, "isConstant": false, "isLValue": false, "isPure": false, @@ -18836,29 +18836,29 @@ "src": "3104:18:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, "src": "3097:25:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 2996, + "id": 3003, "nodeType": "ExpressionStatement", "src": "3097:25:12" } ] }, "documentation": { - "id": 2946, + "id": 2953, "nodeType": "StructuredDocumentation", "src": "2062:579:12", "text": "@notice the constructor function is fired during the contract deployment process. The constructor can only be fired once and\nis used to initialize the MoneyMakerInstance and deploy its associated AHR && ALR token contracts\n@param _assetContractAdd is the address of the ERC20 asset being whitelisted\n@param _assetName is the name of the asset(e.x: ChainLink)\n@param _assetSymbol is the symbol of the asset(e.x: LINK)\n@dev this function uses ABI encoding to properly concatenate AHR- && ALR- in front of the tokens name and symbol\nbefore creating each token.*" }, - "id": 2998, + "id": 3005, "implemented": true, "kind": "constructor", "modifiers": [], @@ -18866,17 +18866,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 2959, + "id": 2966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2948, + "id": 2955, "mutability": "mutable", "name": "_assetContractAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2667:25:12", "stateVariable": false, "storageLocation": "default", @@ -18885,7 +18885,7 @@ "typeString": "address" }, "typeName": { - "id": 2947, + "id": 2954, "name": "address", "nodeType": "ElementaryTypeName", "src": "2667:7:12", @@ -18900,12 +18900,12 @@ }, { "constant": false, - "id": 2950, + "id": 2957, "mutability": "mutable", "name": "_oracleFactory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2702:22:12", "stateVariable": false, "storageLocation": "default", @@ -18914,7 +18914,7 @@ "typeString": "address" }, "typeName": { - "id": 2949, + "id": 2956, "name": "address", "nodeType": "ElementaryTypeName", "src": "2702:7:12", @@ -18929,12 +18929,12 @@ }, { "constant": false, - "id": 2952, + "id": 2959, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2734:14:12", "stateVariable": false, "storageLocation": "default", @@ -18943,7 +18943,7 @@ "typeString": "address" }, "typeName": { - "id": 2951, + "id": 2958, "name": "address", "nodeType": "ElementaryTypeName", "src": "2734:7:12", @@ -18958,12 +18958,12 @@ }, { "constant": false, - "id": 2954, + "id": 2961, "mutability": "mutable", "name": "_ARTF", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2758:13:12", "stateVariable": false, "storageLocation": "default", @@ -18972,7 +18972,7 @@ "typeString": "address" }, "typeName": { - "id": 2953, + "id": 2960, "name": "address", "nodeType": "ElementaryTypeName", "src": "2758:7:12", @@ -18987,12 +18987,12 @@ }, { "constant": false, - "id": 2956, + "id": 2963, "mutability": "mutable", "name": "_assetName", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2781:24:12", "stateVariable": false, "storageLocation": "memory", @@ -19001,7 +19001,7 @@ "typeString": "string" }, "typeName": { - "id": 2955, + "id": 2962, "name": "string", "nodeType": "ElementaryTypeName", "src": "2781:6:12", @@ -19015,12 +19015,12 @@ }, { "constant": false, - "id": 2958, + "id": 2965, "mutability": "mutable", "name": "_assetSymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 2998, + "scope": 3005, "src": "2815:26:12", "stateVariable": false, "storageLocation": "memory", @@ -19029,7 +19029,7 @@ "typeString": "string" }, "typeName": { - "id": 2957, + "id": 2964, "name": "string", "nodeType": "ElementaryTypeName", "src": "2815:6:12", @@ -19045,12 +19045,12 @@ "src": "2657:190:12" }, "returnParameters": { - "id": 2960, + "id": 2967, "nodeType": "ParameterList", "parameters": [], "src": "2855:0:12" }, - "scope": 4045, + "scope": 4052, "src": "2646:483:12", "stateMutability": "nonpayable", "virtual": false, @@ -19058,25 +19058,25 @@ }, { "body": { - "id": 3090, + "id": 3097, "nodeType": "Block", "src": "3978:898:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3012, + "id": 3019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3010, + "id": 3017, "name": "fee_AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2862, + "referencedDeclaration": 2869, "src": "3988:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19087,11 +19087,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3011, + "id": 3018, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3003, + "referencedDeclaration": 3010, "src": "3998:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19104,23 +19104,23 @@ "typeString": "uint256" } }, - "id": 3013, + "id": 3020, "nodeType": "ExpressionStatement", "src": "3988:14:12" }, { "assignments": [ - 3015 + 3022 ], "declarations": [ { "constant": false, - "id": 3015, + "id": 3022, "mutability": "mutable", "name": "ahrname", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4012:20:12", "stateVariable": false, "storageLocation": "memory", @@ -19129,7 +19129,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3014, + "id": 3021, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4012:5:12", @@ -19142,14 +19142,14 @@ "visibility": "internal" } ], - "id": 3020, + "id": 3027, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "4148522d", - "id": 3018, + "id": 3025, "isConstant": false, "isLValue": false, "isPure": true, @@ -19174,7 +19174,7 @@ ], "expression": { "argumentTypes": null, - "id": 3016, + "id": 3023, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -19185,7 +19185,7 @@ "typeString": "abi" } }, - "id": 3017, + "id": 3024, "isConstant": false, "isLValue": false, "isPure": true, @@ -19199,7 +19199,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3019, + "id": 3026, "isConstant": false, "isLValue": false, "isPure": true, @@ -19220,18 +19220,18 @@ { "expression": { "argumentTypes": null, - "id": 3027, + "id": 3034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3021, + "id": 3028, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4069:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19245,11 +19245,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3024, + "id": 3031, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4096:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19258,11 +19258,11 @@ }, { "argumentTypes": null, - "id": 3025, + "id": 3032, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "4105:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -19283,7 +19283,7 @@ ], "expression": { "argumentTypes": null, - "id": 3022, + "id": 3029, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -19294,7 +19294,7 @@ "typeString": "abi" } }, - "id": 3023, + "id": 3030, "isConstant": false, "isLValue": false, "isPure": true, @@ -19308,7 +19308,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3026, + "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, @@ -19329,23 +19329,23 @@ "typeString": "bytes memory" } }, - "id": 3028, + "id": 3035, "nodeType": "ExpressionStatement", "src": "4069:46:12" }, { "assignments": [ - 3030 + 3037 ], "declarations": [ { "constant": false, - "id": 3030, + "id": 3037, "mutability": "mutable", "name": "ahrsymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4165:22:12", "stateVariable": false, "storageLocation": "memory", @@ -19354,7 +19354,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3029, + "id": 3036, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4165:5:12", @@ -19367,14 +19367,14 @@ "visibility": "internal" } ], - "id": 3035, + "id": 3042, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "4148522d", - "id": 3033, + "id": 3040, "isConstant": false, "isLValue": false, "isPure": true, @@ -19399,7 +19399,7 @@ ], "expression": { "argumentTypes": null, - "id": 3031, + "id": 3038, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -19410,7 +19410,7 @@ "typeString": "abi" } }, - "id": 3032, + "id": 3039, "isConstant": false, "isLValue": false, "isPure": true, @@ -19424,7 +19424,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3034, + "id": 3041, "isConstant": false, "isLValue": false, "isPure": true, @@ -19445,18 +19445,18 @@ { "expression": { "argumentTypes": null, - "id": 3042, + "id": 3049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3036, + "id": 3043, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4224:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19470,11 +19470,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3039, + "id": 3046, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4253:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19483,11 +19483,11 @@ }, { "argumentTypes": null, - "id": 3040, + "id": 3047, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "4264:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -19508,7 +19508,7 @@ ], "expression": { "argumentTypes": null, - "id": 3037, + "id": 3044, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -19519,7 +19519,7 @@ "typeString": "abi" } }, - "id": 3038, + "id": 3045, "isConstant": false, "isLValue": false, "isPure": true, @@ -19533,7 +19533,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3041, + "id": 3048, "isConstant": false, "isLValue": false, "isPure": false, @@ -19554,23 +19554,23 @@ "typeString": "bytes memory" } }, - "id": 3043, + "id": 3050, "nodeType": "ExpressionStatement", "src": "4224:52:12" }, { "assignments": [ - 3045 + 3052 ], "declarations": [ { "constant": false, - "id": 3045, + "id": 3052, "mutability": "mutable", "name": "assetNameAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4326:26:12", "stateVariable": false, "storageLocation": "memory", @@ -19579,7 +19579,7 @@ "typeString": "string" }, "typeName": { - "id": 3044, + "id": 3051, "name": "string", "nodeType": "ElementaryTypeName", "src": "4326:6:12", @@ -19592,17 +19592,17 @@ "visibility": "internal" } ], - "id": 3050, + "id": 3057, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3048, + "id": 3055, "name": "ahrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3015, + "referencedDeclaration": 3022, "src": "4362:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19617,7 +19617,7 @@ "typeString": "bytes memory" } ], - "id": 3047, + "id": 3054, "isConstant": false, "isLValue": false, "isPure": true, @@ -19629,7 +19629,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3046, + "id": 3053, "name": "string", "nodeType": "ElementaryTypeName", "src": "4355:6:12", @@ -19639,7 +19639,7 @@ } } }, - "id": 3049, + "id": 3056, "isConstant": false, "isLValue": false, "isPure": false, @@ -19659,17 +19659,17 @@ }, { "assignments": [ - 3052 + 3059 ], "declarations": [ { "constant": false, - "id": 3052, + "id": 3059, "mutability": "mutable", "name": "assetSymbolAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3090, + "scope": 3097, "src": "4380:28:12", "stateVariable": false, "storageLocation": "memory", @@ -19678,7 +19678,7 @@ "typeString": "string" }, "typeName": { - "id": 3051, + "id": 3058, "name": "string", "nodeType": "ElementaryTypeName", "src": "4380:6:12", @@ -19691,17 +19691,17 @@ "visibility": "internal" } ], - "id": 3057, + "id": 3064, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3055, + "id": 3062, "name": "ahrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3037, "src": "4418:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19716,7 +19716,7 @@ "typeString": "bytes memory" } ], - "id": 3054, + "id": 3061, "isConstant": false, "isLValue": false, "isPure": true, @@ -19728,7 +19728,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3053, + "id": 3060, "name": "string", "nodeType": "ElementaryTypeName", "src": "4411:6:12", @@ -19738,7 +19738,7 @@ } } }, - "id": 3056, + "id": 3063, "isConstant": false, "isLValue": false, "isPure": false, @@ -19759,21 +19759,21 @@ { "expression": { "argumentTypes": null, - "id": 3081, + "id": 3088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3058, + "id": 3065, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "4474:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -19787,11 +19787,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3062, + "id": 3069, "name": "_InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3001, + "referencedDeclaration": 3008, "src": "4584:18:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19803,14 +19803,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3065, + "id": 3072, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "4628:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -19818,11 +19818,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3064, + "id": 3071, "isConstant": false, "isLValue": false, "isPure": true, @@ -19834,7 +19834,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3063, + "id": 3070, "name": "address", "nodeType": "ElementaryTypeName", "src": "4620:7:12", @@ -19844,7 +19844,7 @@ } } }, - "id": 3066, + "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, @@ -19864,14 +19864,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3069, + "id": 3076, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "4660:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -19879,11 +19879,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], - "id": 3068, + "id": 3075, "isConstant": false, "isLValue": false, "isPure": true, @@ -19895,7 +19895,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3067, + "id": 3074, "name": "address", "nodeType": "ElementaryTypeName", "src": "4652:7:12", @@ -19905,7 +19905,7 @@ } } }, - "id": 3070, + "id": 3077, "isConstant": false, "isLValue": false, "isPure": false, @@ -19925,14 +19925,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3073, + "id": 3080, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "4690:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -19940,11 +19940,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 3072, + "id": 3079, "isConstant": false, "isLValue": false, "isPure": true, @@ -19956,7 +19956,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3071, + "id": 3078, "name": "address", "nodeType": "ElementaryTypeName", "src": "4682:7:12", @@ -19966,7 +19966,7 @@ } } }, - "id": 3074, + "id": 3081, "isConstant": false, "isLValue": false, "isPure": false, @@ -19983,11 +19983,11 @@ }, { "argumentTypes": null, - "id": 3075, + "id": 3082, "name": "assetNameAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3045, + "referencedDeclaration": 3052, "src": "4712:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -19996,11 +19996,11 @@ }, { "argumentTypes": null, - "id": 3076, + "id": 3083, "name": "assetSymbolAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3052, + "referencedDeclaration": 3059, "src": "4742:14:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -20010,7 +20010,7 @@ { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3077, + "id": 3084, "isConstant": false, "isLValue": false, "isPure": true, @@ -20027,11 +20027,11 @@ }, { "argumentTypes": null, - "id": 3078, + "id": 3085, "name": "_initialExchangeRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3005, + "referencedDeclaration": 3012, "src": "4797:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20076,32 +20076,32 @@ ], "expression": { "argumentTypes": null, - "id": 3060, + "id": 3067, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "4508:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 3061, + "id": 3068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createART", "nodeType": "MemberAccess", - "referencedDeclaration": 6446, + "referencedDeclaration": 6453, "src": "4508:14:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$returns$_t_address_$", "typeString": "function (address,address,address,address,string memory,string memory,bool,uint256) external returns (address)" } }, - "id": 3079, + "id": 3086, "isConstant": false, "isLValue": false, "isPure": false, @@ -20124,18 +20124,18 @@ "typeString": "address" } ], - "id": 3059, + "id": 3066, "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "4480:14:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6554_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, - "id": 3080, + "id": 3087, "isConstant": false, "isLValue": false, "isPure": false, @@ -20146,35 +20146,35 @@ "src": "4480:361:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, "src": "4474:367:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3082, + "id": 3089, "nodeType": "ExpressionStatement", "src": "4474:367:12" }, { "expression": { "argumentTypes": null, - "id": 3088, + "id": 3095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3083, + "id": 3090, "name": "ahr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2866, + "referencedDeclaration": 2873, "src": "4851:3:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20188,14 +20188,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3086, + "id": 3093, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "4865:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -20203,11 +20203,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3085, + "id": 3092, "isConstant": false, "isLValue": false, "isPure": true, @@ -20219,7 +20219,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3084, + "id": 3091, "name": "address", "nodeType": "ElementaryTypeName", "src": "4857:7:12", @@ -20229,7 +20229,7 @@ } } }, - "id": 3087, + "id": 3094, "isConstant": false, "isLValue": false, "isPure": false, @@ -20250,33 +20250,33 @@ "typeString": "address" } }, - "id": 3089, + "id": 3096, "nodeType": "ExpressionStatement", "src": "4851:18:12" } ] }, "documentation": { - "id": 2999, + "id": 3006, "nodeType": "StructuredDocumentation", "src": "3135:696:12", "text": "@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\nThis is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an AHR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"AHR-\" in front of it\nexample: AHR-LINK\n@dev asset.approve() is called to allow the AHR contract to freeely transfer the assset from this contract when the mint\nlendToAHRpool function is called.*" }, "functionSelector": "dcc716bd", - "id": 3091, + "id": 3098, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3008, + "id": 3015, "modifierName": { "argumentTypes": null, - "id": 3007, + "id": 3014, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "3964:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -20291,17 +20291,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3006, + "id": 3013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3001, + "id": 3008, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3864:26:12", "stateVariable": false, "storageLocation": "default", @@ -20310,7 +20310,7 @@ "typeString": "address" }, "typeName": { - "id": 3000, + "id": 3007, "name": "address", "nodeType": "ElementaryTypeName", "src": "3864:7:12", @@ -20325,12 +20325,12 @@ }, { "constant": false, - "id": 3003, + "id": 3010, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3900:12:12", "stateVariable": false, "storageLocation": "default", @@ -20339,7 +20339,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3002, + "id": 3009, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3900:7:12", @@ -20353,12 +20353,12 @@ }, { "constant": false, - "id": 3005, + "id": 3012, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3091, + "scope": 3098, "src": "3922:28:12", "stateVariable": false, "storageLocation": "default", @@ -20367,7 +20367,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3004, + "id": 3011, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3922:7:12", @@ -20383,12 +20383,12 @@ "src": "3854:102:12" }, "returnParameters": { - "id": 3009, + "id": 3016, "nodeType": "ParameterList", "parameters": [], "src": "3978:0:12" }, - "scope": 4045, + "scope": 4052, "src": "3836:1040:12", "stateMutability": "nonpayable", "virtual": false, @@ -20396,25 +20396,25 @@ }, { "body": { - "id": 3183, + "id": 3190, "nodeType": "Block", "src": "5725:897:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3105, + "id": 3112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3103, + "id": 3110, "name": "fee_ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2864, + "referencedDeclaration": 2871, "src": "5735:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20425,11 +20425,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3104, + "id": 3111, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3096, + "referencedDeclaration": 3103, "src": "5745:4:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20442,23 +20442,23 @@ "typeString": "uint256" } }, - "id": 3106, + "id": 3113, "nodeType": "ExpressionStatement", "src": "5735:14:12" }, { "assignments": [ - 3108 + 3115 ], "declarations": [ { "constant": false, - "id": 3108, + "id": 3115, "mutability": "mutable", "name": "alrname", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "5759:20:12", "stateVariable": false, "storageLocation": "memory", @@ -20467,7 +20467,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3107, + "id": 3114, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5759:5:12", @@ -20480,14 +20480,14 @@ "visibility": "internal" } ], - "id": 3113, + "id": 3120, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "416c522d", - "id": 3111, + "id": 3118, "isConstant": false, "isLValue": false, "isPure": true, @@ -20512,7 +20512,7 @@ ], "expression": { "argumentTypes": null, - "id": 3109, + "id": 3116, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20523,7 +20523,7 @@ "typeString": "abi" } }, - "id": 3110, + "id": 3117, "isConstant": false, "isLValue": false, "isPure": true, @@ -20537,7 +20537,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3112, + "id": 3119, "isConstant": false, "isLValue": false, "isPure": true, @@ -20558,18 +20558,18 @@ { "expression": { "argumentTypes": null, - "id": 3120, + "id": 3127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3114, + "id": 3121, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "5816:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -20583,11 +20583,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3117, + "id": 3124, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "5843:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -20596,11 +20596,11 @@ }, { "argumentTypes": null, - "id": 3118, + "id": 3125, "name": "assetName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2870, + "referencedDeclaration": 2877, "src": "5852:9:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -20621,7 +20621,7 @@ ], "expression": { "argumentTypes": null, - "id": 3115, + "id": 3122, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20632,7 +20632,7 @@ "typeString": "abi" } }, - "id": 3116, + "id": 3123, "isConstant": false, "isLValue": false, "isPure": true, @@ -20646,7 +20646,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3119, + "id": 3126, "isConstant": false, "isLValue": false, "isPure": false, @@ -20667,23 +20667,23 @@ "typeString": "bytes memory" } }, - "id": 3121, + "id": 3128, "nodeType": "ExpressionStatement", "src": "5816:46:12" }, { "assignments": [ - 3123 + 3130 ], "declarations": [ { "constant": false, - "id": 3123, + "id": 3130, "mutability": "mutable", "name": "alrsymbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "5912:22:12", "stateVariable": false, "storageLocation": "memory", @@ -20692,7 +20692,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3122, + "id": 3129, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5912:5:12", @@ -20705,14 +20705,14 @@ "visibility": "internal" } ], - "id": 3128, + "id": 3135, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "416c522d", - "id": 3126, + "id": 3133, "isConstant": false, "isLValue": false, "isPure": true, @@ -20737,7 +20737,7 @@ ], "expression": { "argumentTypes": null, - "id": 3124, + "id": 3131, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20748,7 +20748,7 @@ "typeString": "abi" } }, - "id": 3125, + "id": 3132, "isConstant": false, "isLValue": false, "isPure": true, @@ -20762,7 +20762,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3127, + "id": 3134, "isConstant": false, "isLValue": false, "isPure": true, @@ -20783,18 +20783,18 @@ { "expression": { "argumentTypes": null, - "id": 3135, + "id": 3142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3129, + "id": 3136, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "5971:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -20808,11 +20808,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3132, + "id": 3139, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "6000:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -20821,11 +20821,11 @@ }, { "argumentTypes": null, - "id": 3133, + "id": 3140, "name": "assetSymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2879, "src": "6011:11:12", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -20846,7 +20846,7 @@ ], "expression": { "argumentTypes": null, - "id": 3130, + "id": 3137, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20857,7 +20857,7 @@ "typeString": "abi" } }, - "id": 3131, + "id": 3138, "isConstant": false, "isLValue": false, "isPure": true, @@ -20871,7 +20871,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 3134, + "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, @@ -20892,23 +20892,23 @@ "typeString": "bytes memory" } }, - "id": 3136, + "id": 3143, "nodeType": "ExpressionStatement", "src": "5971:52:12" }, { "assignments": [ - 3138 + 3145 ], "declarations": [ { "constant": false, - "id": 3138, + "id": 3145, "mutability": "mutable", "name": "assetNameALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "6073:26:12", "stateVariable": false, "storageLocation": "memory", @@ -20917,7 +20917,7 @@ "typeString": "string" }, "typeName": { - "id": 3137, + "id": 3144, "name": "string", "nodeType": "ElementaryTypeName", "src": "6073:6:12", @@ -20930,17 +20930,17 @@ "visibility": "internal" } ], - "id": 3143, + "id": 3150, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3141, + "id": 3148, "name": "alrname", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3108, + "referencedDeclaration": 3115, "src": "6109:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -20955,7 +20955,7 @@ "typeString": "bytes memory" } ], - "id": 3140, + "id": 3147, "isConstant": false, "isLValue": false, "isPure": true, @@ -20967,7 +20967,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3139, + "id": 3146, "name": "string", "nodeType": "ElementaryTypeName", "src": "6102:6:12", @@ -20977,7 +20977,7 @@ } } }, - "id": 3142, + "id": 3149, "isConstant": false, "isLValue": false, "isPure": false, @@ -20997,17 +20997,17 @@ }, { "assignments": [ - 3145 + 3152 ], "declarations": [ { "constant": false, - "id": 3145, + "id": 3152, "mutability": "mutable", "name": "assetSymbolALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3183, + "scope": 3190, "src": "6127:28:12", "stateVariable": false, "storageLocation": "memory", @@ -21016,7 +21016,7 @@ "typeString": "string" }, "typeName": { - "id": 3144, + "id": 3151, "name": "string", "nodeType": "ElementaryTypeName", "src": "6127:6:12", @@ -21029,17 +21029,17 @@ "visibility": "internal" } ], - "id": 3150, + "id": 3157, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3148, + "id": 3155, "name": "alrsymbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3123, + "referencedDeclaration": 3130, "src": "6165:9:12", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -21054,7 +21054,7 @@ "typeString": "bytes memory" } ], - "id": 3147, + "id": 3154, "isConstant": false, "isLValue": false, "isPure": true, @@ -21066,7 +21066,7 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 3146, + "id": 3153, "name": "string", "nodeType": "ElementaryTypeName", "src": "6158:6:12", @@ -21076,7 +21076,7 @@ } } }, - "id": 3149, + "id": 3156, "isConstant": false, "isLValue": false, "isPure": false, @@ -21097,21 +21097,21 @@ { "expression": { "argumentTypes": null, - "id": 3174, + "id": 3181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3151, + "id": 3158, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "6221:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -21125,11 +21125,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3155, + "id": 3162, "name": "_InterestRateModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3094, + "referencedDeclaration": 3101, "src": "6331:18:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21141,14 +21141,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3158, + "id": 3165, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "6375:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -21156,11 +21156,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3157, + "id": 3164, "isConstant": false, "isLValue": false, "isPure": true, @@ -21172,7 +21172,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3156, + "id": 3163, "name": "address", "nodeType": "ElementaryTypeName", "src": "6367:7:12", @@ -21182,7 +21182,7 @@ } } }, - "id": 3159, + "id": 3166, "isConstant": false, "isLValue": false, "isPure": false, @@ -21202,14 +21202,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3162, + "id": 3169, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "6407:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } } @@ -21217,11 +21217,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } ], - "id": 3161, + "id": 3168, "isConstant": false, "isLValue": false, "isPure": true, @@ -21233,7 +21233,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3160, + "id": 3167, "name": "address", "nodeType": "ElementaryTypeName", "src": "6399:7:12", @@ -21243,7 +21243,7 @@ } } }, - "id": 3163, + "id": 3170, "isConstant": false, "isLValue": false, "isPure": false, @@ -21263,14 +21263,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3166, + "id": 3173, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "6437:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } } @@ -21278,11 +21278,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } ], - "id": 3165, + "id": 3172, "isConstant": false, "isLValue": false, "isPure": true, @@ -21294,7 +21294,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3164, + "id": 3171, "name": "address", "nodeType": "ElementaryTypeName", "src": "6429:7:12", @@ -21304,7 +21304,7 @@ } } }, - "id": 3167, + "id": 3174, "isConstant": false, "isLValue": false, "isPure": false, @@ -21321,11 +21321,11 @@ }, { "argumentTypes": null, - "id": 3168, + "id": 3175, "name": "assetNameALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, + "referencedDeclaration": 3145, "src": "6459:12:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -21334,11 +21334,11 @@ }, { "argumentTypes": null, - "id": 3169, + "id": 3176, "name": "assetSymbolALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, + "referencedDeclaration": 3152, "src": "6489:14:12", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -21348,7 +21348,7 @@ { "argumentTypes": null, "hexValue": "74727565", - "id": 3170, + "id": 3177, "isConstant": false, "isLValue": false, "isPure": true, @@ -21365,11 +21365,11 @@ }, { "argumentTypes": null, - "id": 3171, + "id": 3178, "name": "_initialExchangeRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3098, + "referencedDeclaration": 3105, "src": "6543:20:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21414,32 +21414,32 @@ ], "expression": { "argumentTypes": null, - "id": 3153, + "id": 3160, "name": "ARTF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2891, "src": "6255:4:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_ARTFactoryI_$6447", + "typeIdentifier": "t_contract$_ARTFactoryI_$6454", "typeString": "contract ARTFactoryI" } }, - "id": 3154, + "id": 3161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createART", "nodeType": "MemberAccess", - "referencedDeclaration": 6446, + "referencedDeclaration": 6453, "src": "6255:14:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_uint256_$returns$_t_address_$", "typeString": "function (address,address,address,address,string memory,string memory,bool,uint256) external returns (address)" } }, - "id": 3172, + "id": 3179, "isConstant": false, "isLValue": false, "isPure": false, @@ -21462,18 +21462,18 @@ "typeString": "address" } ], - "id": 3152, + "id": 3159, "name": "AskoRiskTokenI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "6227:14:12", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6554_$", + "typeIdentifier": "t_type$_t_contract$_AskoRiskTokenI_$6561_$", "typeString": "type(contract AskoRiskTokenI)" } }, - "id": 3173, + "id": 3180, "isConstant": false, "isLValue": false, "isPure": false, @@ -21484,35 +21484,35 @@ "src": "6227:360:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, "src": "6221:366:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3175, + "id": 3182, "nodeType": "ExpressionStatement", "src": "6221:366:12" }, { "expression": { "argumentTypes": null, - "id": 3181, + "id": 3188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3176, + "id": 3183, "name": "alr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2868, + "referencedDeclaration": 2875, "src": "6597:3:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21526,14 +21526,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3179, + "id": 3186, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "6611:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -21541,11 +21541,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3178, + "id": 3185, "isConstant": false, "isLValue": false, "isPure": true, @@ -21557,7 +21557,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3177, + "id": 3184, "name": "address", "nodeType": "ElementaryTypeName", "src": "6603:7:12", @@ -21567,7 +21567,7 @@ } } }, - "id": 3180, + "id": 3187, "isConstant": false, "isLValue": false, "isPure": false, @@ -21588,33 +21588,33 @@ "typeString": "address" } }, - "id": 3182, + "id": 3189, "nodeType": "ExpressionStatement", "src": "6597:18:12" } ] }, "documentation": { - "id": 3092, + "id": 3099, "nodeType": "StructuredDocumentation", "src": "4882:696:12", "text": "@notice setUp is called by the MoneyMarketFactory after a contract is created to set up the initial variables.\nThis is split from the constructor function to keep from reaching the gas block limit\n@param _InterestRateModel is the address of this MoneyMarketInstances InterestRateModel\n@param _fee is a number representing the fee for exchanging an ALR token, as a mantissa (scaled by 1e18)\n@dev this function will create a token whos name and symbol is concatenated with a \"ALR-\" in front of it\nexample: ALR-LINK\n@dev asset.approve() is called to allow the ALR contract to freeely transfer the assset from this contract when the mint\nlendToALRpool function is called.*" }, "functionSelector": "1f432cf5", - "id": 3184, + "id": 3191, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3101, + "id": 3108, "modifierName": { "argumentTypes": null, - "id": 3100, + "id": 3107, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "5711:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -21629,17 +21629,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3099, + "id": 3106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3094, + "id": 3101, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5611:26:12", "stateVariable": false, "storageLocation": "default", @@ -21648,7 +21648,7 @@ "typeString": "address" }, "typeName": { - "id": 3093, + "id": 3100, "name": "address", "nodeType": "ElementaryTypeName", "src": "5611:7:12", @@ -21663,12 +21663,12 @@ }, { "constant": false, - "id": 3096, + "id": 3103, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5647:12:12", "stateVariable": false, "storageLocation": "default", @@ -21677,7 +21677,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3095, + "id": 3102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5647:7:12", @@ -21691,12 +21691,12 @@ }, { "constant": false, - "id": 3098, + "id": 3105, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3184, + "scope": 3191, "src": "5669:28:12", "stateVariable": false, "storageLocation": "default", @@ -21705,7 +21705,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3097, + "id": 3104, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5669:7:12", @@ -21721,12 +21721,12 @@ "src": "5601:102:12" }, "returnParameters": { - "id": 3102, + "id": 3109, "nodeType": "ParameterList", "parameters": [], "src": "5725:0:12" }, - "scope": 4045, + "scope": 4052, "src": "5583:1039:12", "stateMutability": "nonpayable", "virtual": false, @@ -21734,7 +21734,7 @@ }, { "body": { - "id": 3195, + "id": 3202, "nodeType": "Block", "src": "6785:38:12", "statements": [ @@ -21744,14 +21744,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3192, + "id": 3199, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "6810:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -21759,11 +21759,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3191, + "id": 3198, "isConstant": false, "isLValue": false, "isPure": true, @@ -21775,7 +21775,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3190, + "id": 3197, "name": "address", "nodeType": "ElementaryTypeName", "src": "6802:7:12", @@ -21785,7 +21785,7 @@ } } }, - "id": 3193, + "id": 3200, "isConstant": false, "isLValue": false, "isPure": false, @@ -21800,21 +21800,21 @@ "typeString": "address" } }, - "functionReturnParameters": 3189, - "id": 3194, + "functionReturnParameters": 3196, + "id": 3201, "nodeType": "Return", "src": "6795:21:12" } ] }, "documentation": { - "id": 3185, + "id": 3192, "nodeType": "StructuredDocumentation", "src": "6628:99:12", "text": "@notice getAssetAdd allows for easy retrieval of a Money Markets underlying asset's address*" }, "functionSelector": "4c20ac74", - "id": 3196, + "id": 3203, "implemented": true, "kind": "function", "modifiers": [], @@ -21822,23 +21822,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3186, + "id": 3193, "nodeType": "ParameterList", "parameters": [], "src": "6752:2:12" }, "returnParameters": { - "id": 3189, + "id": 3196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3188, + "id": 3195, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3196, + "scope": 3203, "src": "6776:7:12", "stateVariable": false, "storageLocation": "default", @@ -21847,7 +21847,7 @@ "typeString": "address" }, "typeName": { - "id": 3187, + "id": 3194, "name": "address", "nodeType": "ElementaryTypeName", "src": "6776:7:12", @@ -21863,7 +21863,7 @@ ], "src": "6775:9:12" }, - "scope": 4045, + "scope": 4052, "src": "6732:91:12", "stateMutability": "view", "virtual": false, @@ -21871,7 +21871,7 @@ }, { "body": { - "id": 3207, + "id": 3214, "nodeType": "Block", "src": "6942:50:12", "statements": [ @@ -21880,25 +21880,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3203, + "id": 3210, "name": "lockedCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2888, + "referencedDeclaration": 2895, "src": "6959:16:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3205, + "id": 3212, "indexExpression": { "argumentTypes": null, - "id": 3204, + "id": 3211, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3198, + "referencedDeclaration": 3205, "src": "6976:8:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21916,8 +21916,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 3202, - "id": 3206, + "functionReturnParameters": 3209, + "id": 3213, "nodeType": "Return", "src": "6952:33:12" } @@ -21925,7 +21925,7 @@ }, "documentation": null, "functionSelector": "7d1fc742", - "id": 3208, + "id": 3215, "implemented": true, "kind": "function", "modifiers": [], @@ -21933,17 +21933,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3199, + "id": 3206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3198, + "id": 3205, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3208, + "scope": 3215, "src": "6866:16:12", "stateVariable": false, "storageLocation": "default", @@ -21952,7 +21952,7 @@ "typeString": "address" }, "typeName": { - "id": 3197, + "id": 3204, "name": "address", "nodeType": "ElementaryTypeName", "src": "6866:7:12", @@ -21969,17 +21969,17 @@ "src": "6865:18:12" }, "returnParameters": { - "id": 3202, + "id": 3209, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3201, + "id": 3208, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3208, + "scope": 3215, "src": "6929:7:12", "stateVariable": false, "storageLocation": "default", @@ -21988,7 +21988,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3200, + "id": 3207, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6929:7:12", @@ -22003,7 +22003,7 @@ ], "src": "6928:9:12" }, - "scope": 4045, + "scope": 4052, "src": "6829:163:12", "stateMutability": "view", "virtual": false, @@ -22011,7 +22011,7 @@ }, { "body": { - "id": 3240, + "id": 3247, "nodeType": "Block", "src": "7275:287:12", "statements": [ @@ -22023,7 +22023,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3217, + "id": 3224, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22034,7 +22034,7 @@ "typeString": "msg" } }, - "id": 3218, + "id": 3225, "isConstant": false, "isLValue": false, "isPure": false, @@ -22053,14 +22053,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3221, + "id": 3228, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "7412:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -22068,11 +22068,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3220, + "id": 3227, "isConstant": false, "isLValue": false, "isPure": true, @@ -22084,7 +22084,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3219, + "id": 3226, "name": "address", "nodeType": "ElementaryTypeName", "src": "7404:7:12", @@ -22094,7 +22094,7 @@ } } }, - "id": 3222, + "id": 3229, "isConstant": false, "isLValue": false, "isPure": false, @@ -22111,11 +22111,11 @@ }, { "argumentTypes": null, - "id": 3223, + "id": 3230, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7418:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22140,32 +22140,32 @@ ], "expression": { "argumentTypes": null, - "id": 3214, + "id": 3221, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "7373:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3216, + "id": 3223, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "7373:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3224, + "id": 3231, "isConstant": false, "isLValue": false, "isPure": false, @@ -22180,7 +22180,7 @@ "typeString": "bool" } }, - "id": 3225, + "id": 3232, "nodeType": "ExpressionStatement", "src": "7373:53:12" }, @@ -22192,7 +22192,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3229, + "id": 3236, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22203,7 +22203,7 @@ "typeString": "msg" } }, - "id": 3230, + "id": 3237, "isConstant": false, "isLValue": false, "isPure": false, @@ -22219,11 +22219,11 @@ }, { "argumentTypes": null, - "id": 3231, + "id": 3238, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7502:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22244,32 +22244,32 @@ ], "expression": { "argumentTypes": null, - "id": 3226, + "id": 3233, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "7481:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3228, + "id": 3235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 6485, + "referencedDeclaration": 6492, "src": "7481:8:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 3232, + "id": 3239, "isConstant": false, "isLValue": false, "isPure": false, @@ -22284,7 +22284,7 @@ "typeString": "tuple()" } }, - "id": 3233, + "id": 3240, "nodeType": "ExpressionStatement", "src": "7481:29:12" }, @@ -22296,7 +22296,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3235, + "id": 3242, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22307,7 +22307,7 @@ "typeString": "msg" } }, - "id": 3236, + "id": 3243, "isConstant": false, "isLValue": false, "isPure": false, @@ -22323,11 +22323,11 @@ }, { "argumentTypes": null, - "id": 3237, + "id": 3244, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3211, + "referencedDeclaration": 3218, "src": "7547:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22346,18 +22346,18 @@ "typeString": "uint256" } ], - "id": 3234, + "id": 3241, "name": "LentToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2917, + "referencedDeclaration": 2924, "src": "7525:9:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3238, + "id": 3245, "isConstant": false, "isLValue": false, "isPure": false, @@ -22372,20 +22372,20 @@ "typeString": "tuple()" } }, - "id": 3239, + "id": 3246, "nodeType": "EmitStatement", "src": "7520:35:12" } ] }, "documentation": { - "id": 3209, + "id": 3216, "nodeType": "StructuredDocumentation", "src": "6998:225:12", "text": "@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's High Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset*" }, "functionSelector": "cf0aea85", - "id": 3241, + "id": 3248, "implemented": true, "kind": "function", "modifiers": [], @@ -22393,17 +22393,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3212, + "id": 3219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3211, + "id": 3218, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3241, + "scope": 3248, "src": "7251:15:12", "stateVariable": false, "storageLocation": "default", @@ -22412,7 +22412,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3210, + "id": 3217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7251:7:12", @@ -22428,12 +22428,12 @@ "src": "7250:17:12" }, "returnParameters": { - "id": 3213, + "id": 3220, "nodeType": "ParameterList", "parameters": [], "src": "7275:0:12" }, - "scope": 4045, + "scope": 4052, "src": "7228:334:12", "stateMutability": "nonpayable", "virtual": false, @@ -22441,7 +22441,7 @@ }, { "body": { - "id": 3273, + "id": 3280, "nodeType": "Block", "src": "7844:287:12", "statements": [ @@ -22453,7 +22453,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3250, + "id": 3257, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22464,7 +22464,7 @@ "typeString": "msg" } }, - "id": 3251, + "id": 3258, "isConstant": false, "isLValue": false, "isPure": false, @@ -22483,14 +22483,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3254, + "id": 3261, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "7981:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -22498,11 +22498,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3253, + "id": 3260, "isConstant": false, "isLValue": false, "isPure": true, @@ -22514,7 +22514,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3252, + "id": 3259, "name": "address", "nodeType": "ElementaryTypeName", "src": "7973:7:12", @@ -22524,7 +22524,7 @@ } } }, - "id": 3255, + "id": 3262, "isConstant": false, "isLValue": false, "isPure": false, @@ -22541,11 +22541,11 @@ }, { "argumentTypes": null, - "id": 3256, + "id": 3263, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "7987:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22570,32 +22570,32 @@ ], "expression": { "argumentTypes": null, - "id": 3247, + "id": 3254, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "7942:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3249, + "id": 3256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "7942:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3257, + "id": 3264, "isConstant": false, "isLValue": false, "isPure": false, @@ -22610,7 +22610,7 @@ "typeString": "bool" } }, - "id": 3258, + "id": 3265, "nodeType": "ExpressionStatement", "src": "7942:53:12" }, @@ -22622,7 +22622,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3262, + "id": 3269, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22633,7 +22633,7 @@ "typeString": "msg" } }, - "id": 3263, + "id": 3270, "isConstant": false, "isLValue": false, "isPure": false, @@ -22649,11 +22649,11 @@ }, { "argumentTypes": null, - "id": 3264, + "id": 3271, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "8071:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22674,32 +22674,32 @@ ], "expression": { "argumentTypes": null, - "id": 3259, + "id": 3266, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "8050:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3261, + "id": 3268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 6485, + "referencedDeclaration": 6492, "src": "8050:8:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256) external" } }, - "id": 3265, + "id": 3272, "isConstant": false, "isLValue": false, "isPure": false, @@ -22714,7 +22714,7 @@ "typeString": "tuple()" } }, - "id": 3266, + "id": 3273, "nodeType": "ExpressionStatement", "src": "8050:29:12" }, @@ -22726,7 +22726,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3268, + "id": 3275, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22737,7 +22737,7 @@ "typeString": "msg" } }, - "id": 3269, + "id": 3276, "isConstant": false, "isLValue": false, "isPure": false, @@ -22753,11 +22753,11 @@ }, { "argumentTypes": null, - "id": 3270, + "id": 3277, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, + "referencedDeclaration": 3251, "src": "8116:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22776,18 +22776,18 @@ "typeString": "uint256" } ], - "id": 3267, + "id": 3274, "name": "LentToALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2923, + "referencedDeclaration": 2930, "src": "8094:9:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3271, + "id": 3278, "isConstant": false, "isLValue": false, "isPure": false, @@ -22802,20 +22802,20 @@ "typeString": "tuple()" } }, - "id": 3272, + "id": 3279, "nodeType": "EmitStatement", "src": "8089:35:12" } ] }, "documentation": { - "id": 3242, + "id": 3249, "nodeType": "StructuredDocumentation", "src": "7568:224:12", "text": "@notice lendToAHRpool is used to lend assets to a MoneyMarketInstance's Low Risk pool\n@param _amount is the amount of the asset being lent\n@dev the user will need to first approve the transfer of the underlying asset*" }, "functionSelector": "22b2d402", - "id": 3274, + "id": 3281, "implemented": true, "kind": "function", "modifiers": [], @@ -22823,17 +22823,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3245, + "id": 3252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3244, + "id": 3251, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3274, + "scope": 3281, "src": "7820:15:12", "stateVariable": false, "storageLocation": "default", @@ -22842,7 +22842,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3243, + "id": 3250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7820:7:12", @@ -22858,12 +22858,12 @@ "src": "7819:17:12" }, "returnParameters": { - "id": 3246, + "id": 3253, "nodeType": "ParameterList", "parameters": [], "src": "7844:0:12" }, - "scope": 4045, + "scope": 4052, "src": "7797:334:12", "stateMutability": "nonpayable", "virtual": false, @@ -22871,16 +22871,16 @@ }, { "canonicalName": "MoneyMarketInstance.borrowVars", - "id": 3293, + "id": 3300, "members": [ { "constant": false, - "id": 3276, + "id": 3283, "mutability": "mutable", "name": "borrowBalAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8214:20:12", "stateVariable": false, "storageLocation": "default", @@ -22889,7 +22889,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3275, + "id": 3282, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8214:7:12", @@ -22903,12 +22903,12 @@ }, { "constant": false, - "id": 3278, + "id": 3285, "mutability": "mutable", "name": "borrowBalALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8244:20:12", "stateVariable": false, "storageLocation": "default", @@ -22917,7 +22917,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3277, + "id": 3284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8244:7:12", @@ -22931,12 +22931,12 @@ }, { "constant": false, - "id": 3280, + "id": 3287, "mutability": "mutable", "name": "totalFutureAmountOwed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8274:29:12", "stateVariable": false, "storageLocation": "default", @@ -22945,7 +22945,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3279, + "id": 3286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8274:7:12", @@ -22959,12 +22959,12 @@ }, { "constant": false, - "id": 3282, + "id": 3289, "mutability": "mutable", "name": "availibleCollateralValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8313:32:12", "stateVariable": false, "storageLocation": "default", @@ -22973,7 +22973,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3281, + "id": 3288, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8313:7:12", @@ -22987,12 +22987,12 @@ }, { "constant": false, - "id": 3284, + "id": 3291, "mutability": "mutable", "name": "assetAmountValOwed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8355:26:12", "stateVariable": false, "storageLocation": "default", @@ -23001,7 +23001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3283, + "id": 3290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8355:7:12", @@ -23015,12 +23015,12 @@ }, { "constant": false, - "id": 3286, + "id": 3293, "mutability": "mutable", "name": "amountValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8391:19:12", "stateVariable": false, "storageLocation": "default", @@ -23029,7 +23029,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3285, + "id": 3292, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8391:7:12", @@ -23043,12 +23043,12 @@ }, { "constant": false, - "id": 3288, + "id": 3295, "mutability": "mutable", "name": "halfVal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8446:15:12", "stateVariable": false, "storageLocation": "default", @@ -23057,7 +23057,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3287, + "id": 3294, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8446:7:12", @@ -23071,12 +23071,12 @@ }, { "constant": false, - "id": 3290, + "id": 3297, "mutability": "mutable", "name": "collateralNeeded", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8471:24:12", "stateVariable": false, "storageLocation": "default", @@ -23085,7 +23085,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3289, + "id": 3296, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8471:7:12", @@ -23099,12 +23099,12 @@ }, { "constant": false, - "id": 3292, + "id": 3299, "mutability": "mutable", "name": "half", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3293, + "scope": 3300, "src": "8505:12:12", "stateVariable": false, "storageLocation": "default", @@ -23113,7 +23113,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3291, + "id": 3298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8505:7:12", @@ -23128,13 +23128,13 @@ ], "name": "borrowVars", "nodeType": "StructDefinition", - "scope": 4045, + "scope": 4052, "src": "8186:338:12", "visibility": "public" }, { "body": { - "id": 3483, + "id": 3490, "nodeType": "Block", "src": "8821:2391:12", "statements": [ @@ -23148,7 +23148,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3314, + "id": 3321, "isConstant": false, "isLValue": false, "isPure": false, @@ -23159,18 +23159,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3307, + "id": 3314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3302, + "id": 3309, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "9026:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23183,23 +23183,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3303, + "id": 3310, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "9041:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3306, + "id": 3313, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3304, + "id": 3311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -23210,7 +23210,7 @@ "typeString": "msg" } }, - "id": 3305, + "id": 3312, "isConstant": false, "isLValue": false, "isPure": false, @@ -23249,7 +23249,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3313, + "id": 3320, "isConstant": false, "isLValue": false, "isPure": false, @@ -23258,23 +23258,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3308, + "id": 3315, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "9092:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3311, + "id": 3318, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3309, + "id": 3316, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -23285,7 +23285,7 @@ "typeString": "msg" } }, - "id": 3310, + "id": 3317, "isConstant": false, "isLValue": false, "isPure": false, @@ -23315,7 +23315,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3312, + "id": 3319, "isConstant": false, "isLValue": false, "isPure": true, @@ -23345,7 +23345,7 @@ { "argumentTypes": null, "hexValue": "636f6c6c61746572616c206e6f74207269676874", - "id": 3315, + "id": 3322, "isConstant": false, "isLValue": false, "isPure": true, @@ -23372,7 +23372,7 @@ "typeString": "literal_string \"collateral not right\"" } ], - "id": 3301, + "id": 3308, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -23386,7 +23386,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3316, + "id": 3323, "isConstant": false, "isLValue": false, "isPure": false, @@ -23401,39 +23401,39 @@ "typeString": "tuple()" } }, - "id": 3317, + "id": 3324, "nodeType": "ExpressionStatement", "src": "9005:171:12" }, { "assignments": [ - 3319 + 3326 ], "declarations": [ { "constant": false, - "id": 3319, + "id": 3326, "mutability": "mutable", "name": "vars", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3483, + "scope": 3490, "src": "9186:22:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars" }, "typeName": { "contractScope": null, - "id": 3318, + "id": 3325, "name": "borrowVars", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3293, + "referencedDeclaration": 3300, "src": "9186:10:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_storage_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_storage_ptr", "typeString": "struct MoneyMarketInstance.borrowVars" } }, @@ -23441,7 +23441,7 @@ "visibility": "internal" } ], - "id": 3320, + "id": 3327, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "9186:22:12" @@ -23449,7 +23449,7 @@ { "expression": { "argumentTypes": null, - "id": 3329, + "id": 3336, "isConstant": false, "isLValue": false, "isPure": false, @@ -23458,25 +23458,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3321, + "id": 3328, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9397:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3323, + "id": 3330, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowBalAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3276, + "referencedDeclaration": 3283, "src": "9397:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23492,7 +23492,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3326, + "id": 3333, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -23503,7 +23503,7 @@ "typeString": "msg" } }, - "id": 3327, + "id": 3334, "isConstant": false, "isLValue": false, "isPure": false, @@ -23527,32 +23527,32 @@ ], "expression": { "argumentTypes": null, - "id": 3324, + "id": 3331, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "9417:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3325, + "id": 3332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "9417:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3328, + "id": 3335, "isConstant": false, "isLValue": false, "isPure": false, @@ -23573,14 +23573,14 @@ "typeString": "uint256" } }, - "id": 3330, + "id": 3337, "nodeType": "ExpressionStatement", "src": "9397:56:12" }, { "expression": { "argumentTypes": null, - "id": 3339, + "id": 3346, "isConstant": false, "isLValue": false, "isPure": false, @@ -23589,25 +23589,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3331, + "id": 3338, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9463:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3333, + "id": 3340, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowBalALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3278, + "referencedDeclaration": 3285, "src": "9463:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23623,7 +23623,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3336, + "id": 3343, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -23634,7 +23634,7 @@ "typeString": "msg" } }, - "id": 3337, + "id": 3344, "isConstant": false, "isLValue": false, "isPure": false, @@ -23658,32 +23658,32 @@ ], "expression": { "argumentTypes": null, - "id": 3334, + "id": 3341, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "9483:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3335, + "id": 3342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "9483:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3338, + "id": 3345, "isConstant": false, "isLValue": false, "isPure": false, @@ -23704,14 +23704,14 @@ "typeString": "uint256" } }, - "id": 3340, + "id": 3347, "nodeType": "ExpressionStatement", "src": "9463:56:12" }, { "expression": { "argumentTypes": null, - "id": 3353, + "id": 3360, "isConstant": false, "isLValue": false, "isPure": false, @@ -23720,25 +23720,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3341, + "id": 3348, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9601:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3343, + "id": 3350, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "totalFutureAmountOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3280, + "referencedDeclaration": 3287, "src": "9601:26:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23755,11 +23755,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3350, + "id": 3357, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "9687:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23778,46 +23778,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3347, + "id": 3354, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9665:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3348, + "id": 3355, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowBalALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3278, + "referencedDeclaration": 3285, "src": "9665:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3349, + "id": 3356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "9665:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3351, + "id": 3358, "isConstant": false, "isLValue": false, "isPure": false, @@ -23844,46 +23844,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3344, + "id": 3351, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9630:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3345, + "id": 3352, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowBalAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3276, + "referencedDeclaration": 3283, "src": "9630:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3346, + "id": 3353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "9630:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3352, + "id": 3359, "isConstant": false, "isLValue": false, "isPure": false, @@ -23904,14 +23904,14 @@ "typeString": "uint256" } }, - "id": 3354, + "id": 3361, "nodeType": "ExpressionStatement", "src": "9601:104:12" }, { "expression": { "argumentTypes": null, - "id": 3367, + "id": 3374, "isConstant": false, "isLValue": false, "isPure": false, @@ -23920,25 +23920,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3355, + "id": 3362, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9770:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3357, + "id": 3364, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "9770:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23955,14 +23955,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3362, + "id": 3369, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "9847:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -23970,11 +23970,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3361, + "id": 3368, "isConstant": false, "isLValue": false, "isPure": true, @@ -23986,7 +23986,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3360, + "id": 3367, "name": "address", "nodeType": "ElementaryTypeName", "src": "9839:7:12", @@ -23996,7 +23996,7 @@ } } }, - "id": 3363, + "id": 3370, "isConstant": false, "isLValue": false, "isPure": false, @@ -24015,25 +24015,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3364, + "id": 3371, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9867:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3365, + "id": 3372, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalFutureAmountOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3280, + "referencedDeclaration": 3287, "src": "9867:26:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24054,32 +24054,32 @@ ], "expression": { "argumentTypes": null, - "id": 3358, + "id": 3365, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "9796:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3359, + "id": 3366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "9796:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3366, + "id": 3373, "isConstant": false, "isLValue": false, "isPure": false, @@ -24100,14 +24100,14 @@ "typeString": "uint256" } }, - "id": 3368, + "id": 3375, "nodeType": "ExpressionStatement", "src": "9770:133:12" }, { "expression": { "argumentTypes": null, - "id": 3380, + "id": 3387, "isConstant": false, "isLValue": false, "isPure": false, @@ -24116,25 +24116,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3369, + "id": 3376, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "9949:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3371, + "id": 3378, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "amountValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3286, + "referencedDeclaration": 3293, "src": "9949:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24151,14 +24151,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3376, + "id": 3383, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "10019:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -24166,11 +24166,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3375, + "id": 3382, "isConstant": false, "isLValue": false, "isPure": true, @@ -24182,7 +24182,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3374, + "id": 3381, "name": "address", "nodeType": "ElementaryTypeName", "src": "10011:7:12", @@ -24192,7 +24192,7 @@ } } }, - "id": 3377, + "id": 3384, "isConstant": false, "isLValue": false, "isPure": false, @@ -24209,11 +24209,11 @@ }, { "argumentTypes": null, - "id": 3378, + "id": 3385, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "10039:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24234,32 +24234,32 @@ ], "expression": { "argumentTypes": null, - "id": 3372, + "id": 3379, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "9968:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3373, + "id": 3380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "9968:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3379, + "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, @@ -24280,14 +24280,14 @@ "typeString": "uint256" } }, - "id": 3381, + "id": 3388, "nodeType": "ExpressionStatement", "src": "9949:107:12" }, { "expression": { "argumentTypes": null, - "id": 3391, + "id": 3398, "isConstant": false, "isLValue": false, "isPure": false, @@ -24296,25 +24296,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3382, + "id": 3389, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10115:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3384, + "id": 3391, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "availibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3282, + "referencedDeclaration": 3289, "src": "10115:29:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24330,7 +24330,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3387, + "id": 3394, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -24341,7 +24341,7 @@ "typeString": "msg" } }, - "id": 3388, + "id": 3395, "isConstant": false, "isLValue": false, "isPure": false, @@ -24357,11 +24357,11 @@ }, { "argumentTypes": null, - "id": 3389, + "id": 3396, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10218:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24382,32 +24382,32 @@ ], "expression": { "argumentTypes": null, - "id": 3385, + "id": 3392, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "10147:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3386, + "id": 3393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6599, + "referencedDeclaration": 6606, "src": "10147:33:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) external returns (uint256)" } }, - "id": 3390, + "id": 3397, "isConstant": false, "isLValue": false, "isPure": false, @@ -24428,14 +24428,14 @@ "typeString": "uint256" } }, - "id": 3392, + "id": 3399, "nodeType": "ExpressionStatement", "src": "10115:124:12" }, { "expression": { "argumentTypes": null, - "id": 3401, + "id": 3408, "isConstant": false, "isLValue": false, "isPure": false, @@ -24444,25 +24444,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3393, + "id": 3400, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10285:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3395, + "id": 3402, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3288, + "referencedDeclaration": 3295, "src": "10285:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24477,7 +24477,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3399, + "id": 3406, "isConstant": false, "isLValue": false, "isPure": true, @@ -24504,46 +24504,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3396, + "id": 3403, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10300:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3397, + "id": 3404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "10300:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3398, + "id": 3405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "10300:27:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3400, + "id": 3407, "isConstant": false, "isLValue": false, "isPure": false, @@ -24564,14 +24564,14 @@ "typeString": "uint256" } }, - "id": 3402, + "id": 3409, "nodeType": "ExpressionStatement", "src": "10285:45:12" }, { "expression": { "argumentTypes": null, - "id": 3412, + "id": 3419, "isConstant": false, "isLValue": false, "isPure": false, @@ -24580,25 +24580,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3403, + "id": 3410, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10403:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3405, + "id": 3412, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "collateralNeeded", "nodeType": "MemberAccess", - "referencedDeclaration": 3290, + "referencedDeclaration": 3297, "src": "10403:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24614,25 +24614,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3409, + "id": 3416, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10455:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3410, + "id": 3417, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3288, + "referencedDeclaration": 3295, "src": "10455:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24651,46 +24651,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3406, + "id": 3413, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10427:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3407, + "id": 3414, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "assetAmountValOwed", "nodeType": "MemberAccess", - "referencedDeclaration": 3284, + "referencedDeclaration": 3291, "src": "10427:23:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3408, + "id": 3415, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "10427:27:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3411, + "id": 3418, "isConstant": false, "isLValue": false, "isPure": false, @@ -24711,7 +24711,7 @@ "typeString": "uint256" } }, - "id": 3413, + "id": 3420, "nodeType": "ExpressionStatement", "src": "10403:65:12" }, @@ -24725,7 +24725,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3419, + "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, @@ -24734,25 +24734,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3415, + "id": 3422, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10586:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3416, + "id": 3423, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "availibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3282, + "referencedDeclaration": 3289, "src": "10586:29:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24765,25 +24765,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3417, + "id": 3424, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10619:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3418, + "id": 3425, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "collateralNeeded", "nodeType": "MemberAccess", - "referencedDeclaration": 3290, + "referencedDeclaration": 3297, "src": "10619:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24799,7 +24799,7 @@ { "argumentTypes": null, "hexValue": "6e6f7420656e6f75676820636f6c6c61746572616c", - "id": 3420, + "id": 3427, "isConstant": false, "isLValue": false, "isPure": true, @@ -24826,7 +24826,7 @@ "typeString": "literal_string \"not enough collateral\"" } ], - "id": 3414, + "id": 3421, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -24840,7 +24840,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3421, + "id": 3428, "isConstant": false, "isLValue": false, "isPure": false, @@ -24855,7 +24855,7 @@ "typeString": "tuple()" } }, - "id": 3422, + "id": 3429, "nodeType": "ExpressionStatement", "src": "10565:122:12" }, @@ -24867,7 +24867,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3426, + "id": 3433, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -24878,7 +24878,7 @@ "typeString": "msg" } }, - "id": 3427, + "id": 3434, "isConstant": false, "isLValue": false, "isPure": false, @@ -24894,11 +24894,11 @@ }, { "argumentTypes": null, - "id": 3428, + "id": 3435, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10784:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24909,25 +24909,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3429, + "id": 3436, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10797:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3430, + "id": 3437, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "amountValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3286, + "referencedDeclaration": 3293, "src": "10797:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24952,32 +24952,32 @@ ], "expression": { "argumentTypes": null, - "id": 3423, + "id": 3430, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "10750:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3425, + "id": 3432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralUp", "nodeType": "MemberAccess", - "referencedDeclaration": 6608, + "referencedDeclaration": 6615, "src": "10750:21:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3431, + "id": 3438, "isConstant": false, "isLValue": false, "isPure": false, @@ -24992,14 +24992,14 @@ "typeString": "tuple()" } }, - "id": 3432, + "id": 3439, "nodeType": "ExpressionStatement", "src": "10750:64:12" }, { "expression": { "argumentTypes": null, - "id": 3440, + "id": 3447, "isConstant": false, "isLValue": false, "isPure": false, @@ -25008,25 +25008,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3433, + "id": 3440, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "10863:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3435, + "id": 3442, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "10863:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25041,7 +25041,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3438, + "id": 3445, "isConstant": false, "isLValue": false, "isPure": true, @@ -25066,32 +25066,32 @@ ], "expression": { "argumentTypes": null, - "id": 3436, + "id": 3443, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3296, + "referencedDeclaration": 3303, "src": "10875:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3437, + "id": 3444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "10875:11:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3439, + "id": 3446, "isConstant": false, "isLValue": false, "isPure": false, @@ -25112,14 +25112,14 @@ "typeString": "uint256" } }, - "id": 3441, + "id": 3448, "nodeType": "ExpressionStatement", "src": "10863:26:12" }, { "expression": { "argumentTypes": null, - "id": 3447, + "id": 3454, "isConstant": false, "isLValue": false, "isPure": false, @@ -25128,23 +25128,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3442, + "id": 3449, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "10936:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3445, + "id": 3452, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3443, + "id": 3450, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25155,7 +25155,7 @@ "typeString": "msg" } }, - "id": 3444, + "id": 3451, "isConstant": false, "isLValue": false, "isPure": false, @@ -25184,11 +25184,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3446, + "id": 3453, "name": "_collateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3298, + "referencedDeclaration": 3305, "src": "10970:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25201,14 +25201,14 @@ "typeString": "address" } }, - "id": 3448, + "id": 3455, "nodeType": "ExpressionStatement", "src": "10936:45:12" }, { "expression": { "argumentTypes": null, - "id": 3454, + "id": 3461, "isConstant": false, "isLValue": false, "isPure": false, @@ -25217,23 +25217,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3449, + "id": 3456, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "10991:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3452, + "id": 3459, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3450, + "id": 3457, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25244,7 +25244,7 @@ "typeString": "msg" } }, - "id": 3451, + "id": 3458, "isConstant": false, "isLValue": false, "isPure": false, @@ -25274,7 +25274,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3453, + "id": 3460, "isConstant": false, "isLValue": false, "isPure": true, @@ -25295,7 +25295,7 @@ "typeString": "bool" } }, - "id": 3455, + "id": 3462, "nodeType": "ExpressionStatement", "src": "10991:36:12" }, @@ -25307,25 +25307,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3459, + "id": 3466, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11085:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3460, + "id": 3467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11085:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25336,7 +25336,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3461, + "id": 3468, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25347,7 +25347,7 @@ "typeString": "msg" } }, - "id": 3462, + "id": 3469, "isConstant": false, "isLValue": false, "isPure": false, @@ -25375,32 +25375,32 @@ ], "expression": { "argumentTypes": null, - "id": 3456, + "id": 3463, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "11074:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3458, + "id": 3465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6492, + "referencedDeclaration": 6499, "src": "11074:10:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address) external" } }, - "id": 3463, + "id": 3470, "isConstant": false, "isLValue": false, "isPure": false, @@ -25415,7 +25415,7 @@ "typeString": "tuple()" } }, - "id": 3464, + "id": 3471, "nodeType": "ExpressionStatement", "src": "11074:33:12" }, @@ -25427,25 +25427,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3468, + "id": 3475, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11128:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3469, + "id": 3476, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11128:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25456,7 +25456,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3470, + "id": 3477, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25467,7 +25467,7 @@ "typeString": "msg" } }, - "id": 3471, + "id": 3478, "isConstant": false, "isLValue": false, "isPure": false, @@ -25495,32 +25495,32 @@ ], "expression": { "argumentTypes": null, - "id": 3465, + "id": 3472, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11117:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3467, + "id": 3474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6492, + "referencedDeclaration": 6499, "src": "11117:10:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address) external" } }, - "id": 3472, + "id": 3479, "isConstant": false, "isLValue": false, "isPure": false, @@ -25535,7 +25535,7 @@ "typeString": "tuple()" } }, - "id": 3473, + "id": 3480, "nodeType": "ExpressionStatement", "src": "11117:33:12" }, @@ -25547,7 +25547,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3475, + "id": 3482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25558,7 +25558,7 @@ "typeString": "msg" } }, - "id": 3476, + "id": 3483, "isConstant": false, "isLValue": false, "isPure": false, @@ -25576,25 +25576,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3477, + "id": 3484, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11184:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3478, + "id": 3485, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11184:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25605,25 +25605,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3479, + "id": 3486, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3326, "src": "11195:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_borrowVars_$3293_memory_ptr", + "typeIdentifier": "t_struct$_borrowVars_$3300_memory_ptr", "typeString": "struct MoneyMarketInstance.borrowVars memory" } }, - "id": 3480, + "id": 3487, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "half", "nodeType": "MemberAccess", - "referencedDeclaration": 3292, + "referencedDeclaration": 3299, "src": "11195:9:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25646,18 +25646,18 @@ "typeString": "uint256" } ], - "id": 3474, + "id": 3481, "name": "Borrow", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2931, + "referencedDeclaration": 2938, "src": "11165:6:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3481, + "id": 3488, "isConstant": false, "isLValue": false, "isPure": false, @@ -25672,20 +25672,20 @@ "typeString": "tuple()" } }, - "id": 3482, + "id": 3489, "nodeType": "EmitStatement", "src": "11160:45:12" } ] }, "documentation": { - "id": 3294, + "id": 3301, "nodeType": "StructuredDocumentation", "src": "8530:225:12", "text": "@notice borrow is used to take out a loan from in MoneyMarketInstance's underlying asset\n@param _amount is the amount of asset being barrowed\n@param _collateral is the address of the ALR token being used as collateral*" }, "functionSelector": "4b3fd148", - "id": 3484, + "id": 3491, "implemented": true, "kind": "function", "modifiers": [], @@ -25693,17 +25693,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3299, + "id": 3306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3296, + "id": 3303, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3484, + "scope": 3491, "src": "8776:15:12", "stateVariable": false, "storageLocation": "default", @@ -25712,7 +25712,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3295, + "id": 3302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8776:7:12", @@ -25726,12 +25726,12 @@ }, { "constant": false, - "id": 3298, + "id": 3305, "mutability": "mutable", "name": "_collateral", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3484, + "scope": 3491, "src": "8793:19:12", "stateVariable": false, "storageLocation": "default", @@ -25740,7 +25740,7 @@ "typeString": "address" }, "typeName": { - "id": 3297, + "id": 3304, "name": "address", "nodeType": "ElementaryTypeName", "src": "8793:7:12", @@ -25757,12 +25757,12 @@ "src": "8775:38:12" }, "returnParameters": { - "id": 3300, + "id": 3307, "nodeType": "ParameterList", "parameters": [], "src": "8821:0:12" }, - "scope": 4045, + "scope": 4052, "src": "8760:2452:12", "stateMutability": "nonpayable", "virtual": false, @@ -25770,23 +25770,23 @@ }, { "body": { - "id": 3789, + "id": 3796, "nodeType": "Block", "src": "11384:4165:12", "statements": [ { "assignments": [ - 3491 + 3498 ], "declarations": [ { "constant": false, - "id": 3491, + "id": 3498, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11442:25:12", "stateVariable": false, "storageLocation": "default", @@ -25795,7 +25795,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3490, + "id": 3497, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11442:7:12", @@ -25808,7 +25808,7 @@ "visibility": "internal" } ], - "id": 3497, + "id": 3504, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25816,7 +25816,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3494, + "id": 3501, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25827,7 +25827,7 @@ "typeString": "msg" } }, - "id": 3495, + "id": 3502, "isConstant": false, "isLValue": false, "isPure": false, @@ -25851,32 +25851,32 @@ ], "expression": { "argumentTypes": null, - "id": 3492, + "id": 3499, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11470:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3493, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "11470:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3496, + "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, @@ -25896,17 +25896,17 @@ }, { "assignments": [ - 3499 + 3506 ], "declarations": [ { "constant": false, - "id": 3499, + "id": 3506, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11516:25:12", "stateVariable": false, "storageLocation": "default", @@ -25915,7 +25915,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3498, + "id": 3505, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11516:7:12", @@ -25928,7 +25928,7 @@ "visibility": "internal" } ], - "id": 3505, + "id": 3512, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25936,7 +25936,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3502, + "id": 3509, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25947,7 +25947,7 @@ "typeString": "msg" } }, - "id": 3503, + "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, @@ -25971,32 +25971,32 @@ ], "expression": { "argumentTypes": null, - "id": 3500, + "id": 3507, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "11544:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3501, + "id": 3508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "11544:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3504, + "id": 3511, "isConstant": false, "isLValue": false, "isPure": false, @@ -26016,17 +26016,17 @@ }, { "assignments": [ - 3507 + 3514 ], "declarations": [ { "constant": false, - "id": 3507, + "id": 3514, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11590:20:12", "stateVariable": false, "storageLocation": "default", @@ -26035,7 +26035,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3506, + "id": 3513, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11590:7:12", @@ -26048,17 +26048,17 @@ "visibility": "internal" } ], - "id": 3512, + "id": 3519, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3510, + "id": 3517, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "11635:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26075,32 +26075,32 @@ ], "expression": { "argumentTypes": null, - "id": 3508, + "id": 3515, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11613:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3509, + "id": 3516, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "11613:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3511, + "id": 3518, "isConstant": false, "isLValue": false, "isPure": false, @@ -26128,18 +26128,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3516, + "id": 3523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3514, + "id": 3521, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "11671:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26150,11 +26150,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 3515, + "id": 3522, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3507, + "referencedDeclaration": 3514, "src": "11687:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26170,7 +26170,7 @@ { "argumentTypes": null, "hexValue": "5265706179696e6720746f6f206d756368", - "id": 3517, + "id": 3524, "isConstant": false, "isLValue": false, "isPure": true, @@ -26197,7 +26197,7 @@ "typeString": "literal_string \"Repaying too much\"" } ], - "id": 3513, + "id": 3520, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -26211,7 +26211,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3518, + "id": 3525, "isConstant": false, "isLValue": false, "isPure": false, @@ -26226,23 +26226,23 @@ "typeString": "tuple()" } }, - "id": 3519, + "id": 3526, "nodeType": "ExpressionStatement", "src": "11663:58:12" }, { "assignments": [ - 3521 + 3528 ], "declarations": [ { "constant": false, - "id": 3521, + "id": 3528, "mutability": "mutable", "name": "payAmountAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11731:20:12", "stateVariable": false, "storageLocation": "default", @@ -26251,7 +26251,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3520, + "id": 3527, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11731:7:12", @@ -26264,24 +26264,24 @@ "visibility": "internal" } ], - "id": 3522, + "id": 3529, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "11731:20:12" }, { "assignments": [ - 3524 + 3531 ], "declarations": [ { "constant": false, - "id": 3524, + "id": 3531, "mutability": "mutable", "name": "payAmountALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "11761:20:12", "stateVariable": false, "storageLocation": "default", @@ -26290,7 +26290,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3523, + "id": 3530, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11761:7:12", @@ -26303,7 +26303,7 @@ "visibility": "internal" } ], - "id": 3525, + "id": 3532, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "11761:20:12" @@ -26315,18 +26315,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3528, + "id": 3535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3526, + "id": 3533, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "11844:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26338,7 +26338,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3527, + "id": 3534, "isConstant": false, "isLValue": false, "isPure": true, @@ -26360,7 +26360,7 @@ } }, "falseBody": { - "id": 3708, + "id": 3715, "nodeType": "Block", "src": "12369:1966:12", "statements": [ @@ -26371,18 +26371,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3586, + "id": 3593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3584, + "id": 3591, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12443:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26394,7 +26394,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3585, + "id": 3592, "isConstant": false, "isLValue": false, "isPure": true, @@ -26416,7 +26416,7 @@ } }, "falseBody": { - "id": 3706, + "id": 3713, "nodeType": "Block", "src": "13971:354:12", "statements": [ @@ -26428,7 +26428,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3681, + "id": 3688, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26439,7 +26439,7 @@ "typeString": "msg" } }, - "id": 3682, + "id": 3689, "isConstant": false, "isLValue": false, "isPure": false, @@ -26458,14 +26458,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3685, + "id": 3692, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "14140:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -26473,11 +26473,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3684, + "id": 3691, "isConstant": false, "isLValue": false, "isPure": true, @@ -26489,7 +26489,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3683, + "id": 3690, "name": "address", "nodeType": "ElementaryTypeName", "src": "14132:7:12", @@ -26499,7 +26499,7 @@ } } }, - "id": 3686, + "id": 3693, "isConstant": false, "isLValue": false, "isPure": false, @@ -26516,11 +26516,11 @@ }, { "argumentTypes": null, - "id": 3687, + "id": 3694, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14146:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26545,32 +26545,32 @@ ], "expression": { "argumentTypes": null, - "id": 3678, + "id": 3685, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "14101:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3680, + "id": 3687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "14101:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3688, + "id": 3695, "isConstant": false, "isLValue": false, "isPure": false, @@ -26585,25 +26585,25 @@ "typeString": "bool" } }, - "id": 3689, + "id": 3696, "nodeType": "ExpressionStatement", "src": "14101:58:12" }, { "expression": { "argumentTypes": null, - "id": 3697, + "id": 3704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3690, + "id": 3697, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14177:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26617,11 +26617,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3693, + "id": 3700, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14208:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26632,7 +26632,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3694, + "id": 3701, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26643,7 +26643,7 @@ "typeString": "msg" } }, - "id": 3695, + "id": 3702, "isConstant": false, "isLValue": false, "isPure": false, @@ -26671,32 +26671,32 @@ ], "expression": { "argumentTypes": null, - "id": 3691, + "id": 3698, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "14192:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3692, + "id": 3699, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "14192:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3696, + "id": 3703, "isConstant": false, "isLValue": false, "isPure": false, @@ -26717,7 +26717,7 @@ "typeString": "uint256" } }, - "id": 3698, + "id": 3705, "nodeType": "ExpressionStatement", "src": "14177:56:12" }, @@ -26729,7 +26729,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3700, + "id": 3707, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26740,7 +26740,7 @@ "typeString": "msg" } }, - "id": 3701, + "id": 3708, "isConstant": false, "isLValue": false, "isPure": false, @@ -26756,11 +26756,11 @@ }, { "argumentTypes": null, - "id": 3702, + "id": 3709, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "14294:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26770,7 +26770,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3703, + "id": 3710, "isConstant": false, "isLValue": false, "isPure": true, @@ -26801,18 +26801,18 @@ "typeString": "int_const 0" } ], - "id": 3699, + "id": 3706, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "14274:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3704, + "id": 3711, "isConstant": false, "isLValue": false, "isPure": false, @@ -26827,17 +26827,17 @@ "typeString": "tuple()" } }, - "id": 3705, + "id": 3712, "nodeType": "EmitStatement", "src": "14269:41:12" } ] }, - "id": 3707, + "id": 3714, "nodeType": "IfStatement", "src": "12439:1886:12", "trueBody": { - "id": 3677, + "id": 3684, "nodeType": "Block", "src": "12467:1498:12", "statements": [ @@ -26848,18 +26848,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3589, + "id": 3596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3587, + "id": 3594, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12539:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26870,11 +26870,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 3588, + "id": 3595, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12560:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26888,23 +26888,23 @@ } }, "falseBody": { - "id": 3675, + "id": 3682, "nodeType": "Block", "src": "12981:970:12", "statements": [ { "assignments": [ - 3620 + 3627 ], "declarations": [ { "constant": false, - "id": 3620, + "id": 3627, "mutability": "mutable", "name": "amountToAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3675, + "scope": 3682, "src": "13146:19:12", "stateVariable": false, "storageLocation": "default", @@ -26913,7 +26913,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3619, + "id": 3626, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13146:7:12", @@ -26926,17 +26926,17 @@ "visibility": "internal" } ], - "id": 3625, + "id": 3632, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3623, + "id": 3630, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "13185:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26953,32 +26953,32 @@ ], "expression": { "argumentTypes": null, - "id": 3621, + "id": 3628, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "13168:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3622, + "id": 3629, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "13168:16:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3624, + "id": 3631, "isConstant": false, "isLValue": false, "isPure": false, @@ -27004,7 +27004,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3629, + "id": 3636, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27015,7 +27015,7 @@ "typeString": "msg" } }, - "id": 3630, + "id": 3637, "isConstant": false, "isLValue": false, "isPure": false, @@ -27034,14 +27034,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3633, + "id": 3640, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "13345:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -27049,11 +27049,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3632, + "id": 3639, "isConstant": false, "isLValue": false, "isPure": true, @@ -27065,7 +27065,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3631, + "id": 3638, "name": "address", "nodeType": "ElementaryTypeName", "src": "13337:7:12", @@ -27075,7 +27075,7 @@ } } }, - "id": 3634, + "id": 3641, "isConstant": false, "isLValue": false, "isPure": false, @@ -27092,11 +27092,11 @@ }, { "argumentTypes": null, - "id": 3635, + "id": 3642, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "13375:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27121,32 +27121,32 @@ ], "expression": { "argumentTypes": null, - "id": 3626, + "id": 3633, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "13257:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3628, + "id": 3635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "13257:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3636, + "id": 3643, "isConstant": false, "isLValue": false, "isPure": false, @@ -27161,25 +27161,25 @@ "typeString": "bool" } }, - "id": 3637, + "id": 3644, "nodeType": "ExpressionStatement", "src": "13257:157:12" }, { "expression": { "argumentTypes": null, - "id": 3645, + "id": 3652, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3638, + "id": 3645, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "13472:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27194,7 +27194,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3641, + "id": 3648, "isConstant": false, "isLValue": false, "isPure": true, @@ -27213,7 +27213,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3642, + "id": 3649, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27224,7 +27224,7 @@ "typeString": "msg" } }, - "id": 3643, + "id": 3650, "isConstant": false, "isLValue": false, "isPure": false, @@ -27252,32 +27252,32 @@ ], "expression": { "argumentTypes": null, - "id": 3639, + "id": 3646, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "13487:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3640, + "id": 3647, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "13487:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3644, + "id": 3651, "isConstant": false, "isLValue": false, "isPure": false, @@ -27298,7 +27298,7 @@ "typeString": "uint256" } }, - "id": 3646, + "id": 3653, "nodeType": "ExpressionStatement", "src": "13472:45:12" }, @@ -27310,7 +27310,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3650, + "id": 3657, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27321,7 +27321,7 @@ "typeString": "msg" } }, - "id": 3651, + "id": 3658, "isConstant": false, "isLValue": false, "isPure": false, @@ -27340,14 +27340,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3654, + "id": 3661, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "13592:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -27355,11 +27355,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3653, + "id": 3660, "isConstant": false, "isLValue": false, "isPure": true, @@ -27371,7 +27371,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3652, + "id": 3659, "name": "address", "nodeType": "ElementaryTypeName", "src": "13584:7:12", @@ -27381,7 +27381,7 @@ } } }, - "id": 3655, + "id": 3662, "isConstant": false, "isLValue": false, "isPure": false, @@ -27398,11 +27398,11 @@ }, { "argumentTypes": null, - "id": 3656, + "id": 3663, "name": "amountToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3620, + "referencedDeclaration": 3627, "src": "13598:11:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27427,32 +27427,32 @@ ], "expression": { "argumentTypes": null, - "id": 3647, + "id": 3654, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "13553:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3649, + "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "13553:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3657, + "id": 3664, "isConstant": false, "isLValue": false, "isPure": false, @@ -27467,25 +27467,25 @@ "typeString": "bool" } }, - "id": 3658, + "id": 3665, "nodeType": "ExpressionStatement", "src": "13553:57:12" }, { "expression": { "argumentTypes": null, - "id": 3666, + "id": 3673, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3659, + "id": 3666, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "13676:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27499,11 +27499,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3662, + "id": 3669, "name": "amountToAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3620, + "referencedDeclaration": 3627, "src": "13707:11:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27514,7 +27514,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3663, + "id": 3670, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27525,7 +27525,7 @@ "typeString": "msg" } }, - "id": 3664, + "id": 3671, "isConstant": false, "isLValue": false, "isPure": false, @@ -27553,32 +27553,32 @@ ], "expression": { "argumentTypes": null, - "id": 3660, + "id": 3667, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "13691:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3661, + "id": 3668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "13691:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3665, + "id": 3672, "isConstant": false, "isLValue": false, "isPure": false, @@ -27599,7 +27599,7 @@ "typeString": "uint256" } }, - "id": 3667, + "id": 3674, "nodeType": "ExpressionStatement", "src": "13676:55:12" }, @@ -27611,7 +27611,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3669, + "id": 3676, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27622,7 +27622,7 @@ "typeString": "msg" } }, - "id": 3670, + "id": 3677, "isConstant": false, "isLValue": false, "isPure": false, @@ -27638,11 +27638,11 @@ }, { "argumentTypes": null, - "id": 3671, + "id": 3678, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "13905:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27651,11 +27651,11 @@ }, { "argumentTypes": null, - "id": 3672, + "id": 3679, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "13919:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27678,18 +27678,18 @@ "typeString": "uint256" } ], - "id": 3668, + "id": 3675, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "13885:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3673, + "id": 3680, "isConstant": false, "isLValue": false, "isPure": false, @@ -27704,17 +27704,17 @@ "typeString": "tuple()" } }, - "id": 3674, + "id": 3681, "nodeType": "EmitStatement", "src": "13880:52:12" } ] }, - "id": 3676, + "id": 3683, "nodeType": "IfStatement", "src": "12535:1416:12", "trueBody": { - "id": 3618, + "id": 3625, "nodeType": "Block", "src": "12574:401:12", "statements": [ @@ -27726,7 +27726,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3593, + "id": 3600, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27737,7 +27737,7 @@ "typeString": "msg" } }, - "id": 3594, + "id": 3601, "isConstant": false, "isLValue": false, "isPure": false, @@ -27756,14 +27756,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3597, + "id": 3604, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12772:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -27771,11 +27771,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3596, + "id": 3603, "isConstant": false, "isLValue": false, "isPure": true, @@ -27787,7 +27787,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3595, + "id": 3602, "name": "address", "nodeType": "ElementaryTypeName", "src": "12764:7:12", @@ -27797,7 +27797,7 @@ } } }, - "id": 3598, + "id": 3605, "isConstant": false, "isLValue": false, "isPure": false, @@ -27814,11 +27814,11 @@ }, { "argumentTypes": null, - "id": 3599, + "id": 3606, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12778:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27843,32 +27843,32 @@ ], "expression": { "argumentTypes": null, - "id": 3590, + "id": 3597, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "12733:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3592, + "id": 3599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "12733:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3600, + "id": 3607, "isConstant": false, "isLValue": false, "isPure": false, @@ -27883,25 +27883,25 @@ "typeString": "bool" } }, - "id": 3601, + "id": 3608, "nodeType": "ExpressionStatement", "src": "12733:58:12" }, { "expression": { "argumentTypes": null, - "id": 3609, + "id": 3616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3602, + "id": 3609, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "12813:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27915,11 +27915,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3605, + "id": 3612, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12844:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27930,7 +27930,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3606, + "id": 3613, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27941,7 +27941,7 @@ "typeString": "msg" } }, - "id": 3607, + "id": 3614, "isConstant": false, "isLValue": false, "isPure": false, @@ -27969,32 +27969,32 @@ ], "expression": { "argumentTypes": null, - "id": 3603, + "id": 3610, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12828:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3604, + "id": 3611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12828:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3608, + "id": 3615, "isConstant": false, "isLValue": false, "isPure": false, @@ -28015,7 +28015,7 @@ "typeString": "uint256" } }, - "id": 3610, + "id": 3617, "nodeType": "ExpressionStatement", "src": "12813:56:12" }, @@ -28027,7 +28027,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3612, + "id": 3619, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28038,7 +28038,7 @@ "typeString": "msg" } }, - "id": 3613, + "id": 3620, "isConstant": false, "isLValue": false, "isPure": false, @@ -28055,7 +28055,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3614, + "id": 3621, "isConstant": false, "isLValue": false, "isPure": true, @@ -28072,11 +28072,11 @@ }, { "argumentTypes": null, - "id": 3615, + "id": 3622, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "12943:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28099,18 +28099,18 @@ "typeString": "uint256" } ], - "id": 3611, + "id": 3618, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "12920:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3616, + "id": 3623, "isConstant": false, "isLValue": false, "isPure": false, @@ -28125,7 +28125,7 @@ "typeString": "tuple()" } }, - "id": 3617, + "id": 3624, "nodeType": "EmitStatement", "src": "12915:41:12" } @@ -28137,11 +28137,11 @@ } ] }, - "id": 3709, + "id": 3716, "nodeType": "IfStatement", "src": "11840:2495:12", "trueBody": { - "id": 3583, + "id": 3590, "nodeType": "Block", "src": "11863:500:12", "statements": [ @@ -28152,18 +28152,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3531, + "id": 3538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3529, + "id": 3536, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11881:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28175,7 +28175,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3530, + "id": 3537, "isConstant": false, "isLValue": false, "isPure": true, @@ -28197,11 +28197,11 @@ } }, "falseBody": null, - "id": 3554, + "id": 3561, "nodeType": "IfStatement", "src": "11877:226:12", "trueBody": { - "id": 3553, + "id": 3560, "nodeType": "Block", "src": "11905:198:12", "statements": [ @@ -28213,7 +28213,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3535, + "id": 3542, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28224,7 +28224,7 @@ "typeString": "msg" } }, - "id": 3536, + "id": 3543, "isConstant": false, "isLValue": false, "isPure": false, @@ -28243,14 +28243,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3539, + "id": 3546, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "11962:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -28258,11 +28258,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3538, + "id": 3545, "isConstant": false, "isLValue": false, "isPure": true, @@ -28274,7 +28274,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3537, + "id": 3544, "name": "address", "nodeType": "ElementaryTypeName", "src": "11954:7:12", @@ -28284,7 +28284,7 @@ } } }, - "id": 3540, + "id": 3547, "isConstant": false, "isLValue": false, "isPure": false, @@ -28301,11 +28301,11 @@ }, { "argumentTypes": null, - "id": 3541, + "id": 3548, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "11968:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28330,32 +28330,32 @@ ], "expression": { "argumentTypes": null, - "id": 3532, + "id": 3539, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "11923:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3534, + "id": 3541, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "11923:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3542, + "id": 3549, "isConstant": false, "isLValue": false, "isPure": false, @@ -28370,25 +28370,25 @@ "typeString": "bool" } }, - "id": 3543, + "id": 3550, "nodeType": "ExpressionStatement", "src": "11923:63:12" }, { "expression": { "argumentTypes": null, - "id": 3551, + "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3544, + "id": 3551, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "12004:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28402,11 +28402,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3547, + "id": 3554, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12035:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28417,7 +28417,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3548, + "id": 3555, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28428,7 +28428,7 @@ "typeString": "msg" } }, - "id": 3549, + "id": 3556, "isConstant": false, "isLValue": false, "isPure": false, @@ -28456,32 +28456,32 @@ ], "expression": { "argumentTypes": null, - "id": 3545, + "id": 3552, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "12019:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3546, + "id": 3553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12019:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3550, + "id": 3557, "isConstant": false, "isLValue": false, "isPure": false, @@ -28502,7 +28502,7 @@ "typeString": "uint256" } }, - "id": 3552, + "id": 3559, "nodeType": "ExpressionStatement", "src": "12004:61:12" } @@ -28517,7 +28517,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3558, + "id": 3565, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28528,7 +28528,7 @@ "typeString": "msg" } }, - "id": 3559, + "id": 3566, "isConstant": false, "isLValue": false, "isPure": false, @@ -28547,14 +28547,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3562, + "id": 3569, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "12155:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -28562,11 +28562,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3561, + "id": 3568, "isConstant": false, "isLValue": false, "isPure": true, @@ -28578,7 +28578,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3560, + "id": 3567, "name": "address", "nodeType": "ElementaryTypeName", "src": "12147:7:12", @@ -28588,7 +28588,7 @@ } } }, - "id": 3563, + "id": 3570, "isConstant": false, "isLValue": false, "isPure": false, @@ -28605,11 +28605,11 @@ }, { "argumentTypes": null, - "id": 3564, + "id": 3571, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12161:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28634,32 +28634,32 @@ ], "expression": { "argumentTypes": null, - "id": 3555, + "id": 3562, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "12116:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3557, + "id": 3564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "12116:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3565, + "id": 3572, "isConstant": false, "isLValue": false, "isPure": false, @@ -28674,25 +28674,25 @@ "typeString": "bool" } }, - "id": 3566, + "id": 3573, "nodeType": "ExpressionStatement", "src": "12116:63:12" }, { "expression": { "argumentTypes": null, - "id": 3574, + "id": 3581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3567, + "id": 3574, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "12193:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28706,11 +28706,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3570, + "id": 3577, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12224:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28721,7 +28721,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3571, + "id": 3578, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28732,7 +28732,7 @@ "typeString": "msg" } }, - "id": 3572, + "id": 3579, "isConstant": false, "isLValue": false, "isPure": false, @@ -28760,32 +28760,32 @@ ], "expression": { "argumentTypes": null, - "id": 3568, + "id": 3575, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "12208:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3569, + "id": 3576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "12208:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3573, + "id": 3580, "isConstant": false, "isLValue": false, "isPure": false, @@ -28806,7 +28806,7 @@ "typeString": "uint256" } }, - "id": 3575, + "id": 3582, "nodeType": "ExpressionStatement", "src": "12193:61:12" }, @@ -28818,7 +28818,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3577, + "id": 3584, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28829,7 +28829,7 @@ "typeString": "msg" } }, - "id": 3578, + "id": 3585, "isConstant": false, "isLValue": false, "isPure": false, @@ -28845,11 +28845,11 @@ }, { "argumentTypes": null, - "id": 3579, + "id": 3586, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "12315:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28858,11 +28858,11 @@ }, { "argumentTypes": null, - "id": 3580, + "id": 3587, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "12334:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28885,18 +28885,18 @@ "typeString": "uint256" } ], - "id": 3576, + "id": 3583, "name": "Repayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2939, + "referencedDeclaration": 2946, "src": "12295:7:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 3581, + "id": 3588, "isConstant": false, "isLValue": false, "isPure": false, @@ -28911,7 +28911,7 @@ "typeString": "tuple()" } }, - "id": 3582, + "id": 3589, "nodeType": "EmitStatement", "src": "12290:62:12" } @@ -28920,17 +28920,17 @@ }, { "assignments": [ - 3711 + 3718 ], "declarations": [ { "constant": false, - "id": 3711, + "id": 3718, "mutability": "mutable", "name": "repayedAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "14399:21:12", "stateVariable": false, "storageLocation": "default", @@ -28939,7 +28939,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3710, + "id": 3717, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14399:7:12", @@ -28952,7 +28952,7 @@ "visibility": "internal" } ], - "id": 3712, + "id": 3719, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14399:21:12" @@ -28964,18 +28964,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3715, + "id": 3722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3713, + "id": 3720, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14434:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28987,7 +28987,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3714, + "id": 3721, "isConstant": false, "isLValue": false, "isPure": true, @@ -29009,25 +29009,25 @@ } }, "falseBody": { - "id": 3725, + "id": 3732, "nodeType": "Block", "src": "14512:53:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3723, + "id": 3730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3721, + "id": 3728, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14526:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29038,11 +29038,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3722, + "id": 3729, "name": "_repayAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3487, + "referencedDeclaration": 3494, "src": "14542:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29055,35 +29055,35 @@ "typeString": "uint256" } }, - "id": 3724, + "id": 3731, "nodeType": "ExpressionStatement", "src": "14526:28:12" } ] }, - "id": 3726, + "id": 3733, "nodeType": "IfStatement", "src": "14430:135:12", "trueBody": { - "id": 3720, + "id": 3727, "nodeType": "Block", "src": "14453:53:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3718, + "id": 3725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3716, + "id": 3723, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14467:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29094,11 +29094,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3717, + "id": 3724, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3507, + "referencedDeclaration": 3514, "src": "14483:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29111,7 +29111,7 @@ "typeString": "uint256" } }, - "id": 3719, + "id": 3726, "nodeType": "ExpressionStatement", "src": "14467:28:12" } @@ -29120,17 +29120,17 @@ }, { "assignments": [ - 3728 + 3735 ], "declarations": [ { "constant": false, - "id": 3728, + "id": 3735, "mutability": "mutable", "name": "_USDCvalRepayed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3789, + "scope": 3796, "src": "14620:23:12", "stateVariable": false, "storageLocation": "default", @@ -29139,7 +29139,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3727, + "id": 3734, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14620:7:12", @@ -29152,7 +29152,7 @@ "visibility": "internal" } ], - "id": 3737, + "id": 3744, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29161,14 +29161,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3733, + "id": 3740, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "14697:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -29176,11 +29176,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3732, + "id": 3739, "isConstant": false, "isLValue": false, "isPure": true, @@ -29192,7 +29192,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3731, + "id": 3738, "name": "address", "nodeType": "ElementaryTypeName", "src": "14689:7:12", @@ -29202,7 +29202,7 @@ } } }, - "id": 3734, + "id": 3741, "isConstant": false, "isLValue": false, "isPure": false, @@ -29219,11 +29219,11 @@ }, { "argumentTypes": null, - "id": 3735, + "id": 3742, "name": "repayedAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3711, + "referencedDeclaration": 3718, "src": "14717:13:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29244,32 +29244,32 @@ ], "expression": { "argumentTypes": null, - "id": 3729, + "id": 3736, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "14646:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3730, + "id": 3737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "14646:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3736, + "id": 3743, "isConstant": false, "isLValue": false, "isPure": false, @@ -29295,7 +29295,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3741, + "id": 3748, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -29306,7 +29306,7 @@ "typeString": "msg" } }, - "id": 3742, + "id": 3749, "isConstant": false, "isLValue": false, "isPure": false, @@ -29324,23 +29324,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3743, + "id": 3750, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "14846:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3746, + "id": 3753, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3744, + "id": 3751, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -29351,7 +29351,7 @@ "typeString": "msg" } }, - "id": 3745, + "id": 3752, "isConstant": false, "isLValue": false, "isPure": false, @@ -29378,11 +29378,11 @@ }, { "argumentTypes": null, - "id": 3747, + "id": 3754, "name": "_USDCvalRepayed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3728, + "referencedDeclaration": 3735, "src": "14891:15:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29407,32 +29407,32 @@ ], "expression": { "argumentTypes": null, - "id": 3738, + "id": 3745, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "14785:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3740, + "id": 3747, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralDown", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6624, "src": "14785:23:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3748, + "id": 3755, "isConstant": false, "isLValue": false, "isPure": false, @@ -29447,7 +29447,7 @@ "typeString": "tuple()" } }, - "id": 3749, + "id": 3756, "nodeType": "ExpressionStatement", "src": "14785:131:12" }, @@ -29458,7 +29458,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3762, + "id": 3769, "isConstant": false, "isLValue": false, "isPure": false, @@ -29469,7 +29469,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3755, + "id": 3762, "isConstant": false, "isLValue": false, "isPure": false, @@ -29479,11 +29479,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3752, + "id": 3759, "name": "payAmountAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3521, + "referencedDeclaration": 3528, "src": "15020:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29500,32 +29500,32 @@ ], "expression": { "argumentTypes": null, - "id": 3750, + "id": 3757, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3499, + "referencedDeclaration": 3506, "src": "14998:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3751, + "id": 3758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "14998:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3753, + "id": 3760, "isConstant": false, "isLValue": false, "isPure": false, @@ -29545,7 +29545,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3754, + "id": 3761, "isConstant": false, "isLValue": false, "isPure": true, @@ -29574,7 +29574,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3761, + "id": 3768, "isConstant": false, "isLValue": false, "isPure": false, @@ -29584,11 +29584,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3758, + "id": 3765, "name": "payAmountALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3524, + "referencedDeclaration": 3531, "src": "15076:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29605,32 +29605,32 @@ ], "expression": { "argumentTypes": null, - "id": 3756, + "id": 3763, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3491, + "referencedDeclaration": 3498, "src": "15054:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3757, + "id": 3764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 10800, + "referencedDeclaration": 10807, "src": "15054:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3759, + "id": 3766, "isConstant": false, "isLValue": false, "isPure": false, @@ -29650,7 +29650,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 3760, + "id": 3767, "isConstant": false, "isLValue": false, "isPure": true, @@ -29678,18 +29678,18 @@ } }, "falseBody": null, - "id": 3788, + "id": 3795, "nodeType": "IfStatement", "src": "14981:562:12", "trueBody": { - "id": 3787, + "id": 3794, "nodeType": "Block", "src": "15105:438:12", "statements": [ { "expression": { "argumentTypes": null, - "id": 3771, + "id": 3778, "isConstant": false, "isLValue": false, "isPure": false, @@ -29698,23 +29698,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3763, + "id": 3770, "name": "collateralLockedALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2892, + "referencedDeclaration": 2899, "src": "15346:19:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3766, + "id": 3773, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3764, + "id": 3771, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -29725,7 +29725,7 @@ "typeString": "msg" } }, - "id": 3765, + "id": 3772, "isConstant": false, "isLValue": false, "isPure": false, @@ -29758,7 +29758,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3769, + "id": 3776, "isConstant": false, "isLValue": false, "isPure": true, @@ -29781,7 +29781,7 @@ "typeString": "int_const 0" } ], - "id": 3768, + "id": 3775, "isConstant": false, "isLValue": false, "isPure": true, @@ -29793,7 +29793,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3767, + "id": 3774, "name": "address", "nodeType": "ElementaryTypeName", "src": "15380:7:12", @@ -29803,7 +29803,7 @@ } } }, - "id": 3770, + "id": 3777, "isConstant": false, "isLValue": false, "isPure": true, @@ -29824,14 +29824,14 @@ "typeString": "address" } }, - "id": 3772, + "id": 3779, "nodeType": "ExpressionStatement", "src": "15346:44:12" }, { "expression": { "argumentTypes": null, - "id": 3778, + "id": 3785, "isConstant": false, "isLValue": false, "isPure": false, @@ -29840,23 +29840,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3773, + "id": 3780, "name": "cantCollateralize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2896, + "referencedDeclaration": 2903, "src": "15404:17:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 3776, + "id": 3783, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3774, + "id": 3781, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -29867,7 +29867,7 @@ "typeString": "msg" } }, - "id": 3775, + "id": 3782, "isConstant": false, "isLValue": false, "isPure": false, @@ -29897,7 +29897,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3777, + "id": 3784, "isConstant": false, "isLValue": false, "isPure": true, @@ -29918,14 +29918,14 @@ "typeString": "bool" } }, - "id": 3779, + "id": 3786, "nodeType": "ExpressionStatement", "src": "15404:37:12" }, { "expression": { "argumentTypes": null, - "id": 3785, + "id": 3792, "isConstant": false, "isLValue": false, "isPure": false, @@ -29934,23 +29934,23 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3780, + "id": 3787, "name": "lockedCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2888, + "referencedDeclaration": 2895, "src": "15500:16:12", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 3783, + "id": 3790, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3781, + "id": 3788, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -29961,7 +29961,7 @@ "typeString": "msg" } }, - "id": 3782, + "id": 3789, "isConstant": false, "isLValue": false, "isPure": false, @@ -29991,7 +29991,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 3784, + "id": 3791, "isConstant": false, "isLValue": false, "isPure": true, @@ -30012,7 +30012,7 @@ "typeString": "uint256" } }, - "id": 3786, + "id": 3793, "nodeType": "ExpressionStatement", "src": "15500:32:12" } @@ -30022,13 +30022,13 @@ ] }, "documentation": { - "id": 3485, + "id": 3492, "nodeType": "StructuredDocumentation", "src": "11218:117:12", "text": "@notice repay is used to repay a loan\n@param _repayAmount is the amount of the underlying asset being repayed*" }, "functionSelector": "371fd8e6", - "id": 3790, + "id": 3797, "implemented": true, "kind": "function", "modifiers": [], @@ -30036,17 +30036,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3488, + "id": 3495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3487, + "id": 3494, "mutability": "mutable", "name": "_repayAmount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3790, + "scope": 3797, "src": "11355:20:12", "stateVariable": false, "storageLocation": "default", @@ -30055,7 +30055,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3486, + "id": 3493, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11355:7:12", @@ -30071,12 +30071,12 @@ "src": "11354:22:12" }, "returnParameters": { - "id": 3489, + "id": 3496, "nodeType": "ParameterList", "parameters": [], "src": "11384:0:12" }, - "scope": 4045, + "scope": 4052, "src": "11340:4209:12", "stateMutability": "nonpayable", "virtual": false, @@ -30084,16 +30084,16 @@ }, { "canonicalName": "MoneyMarketInstance.liquidateLocalVar", - "id": 3809, + "id": 3816, "members": [ { "constant": false, - "id": 3792, + "id": 3799, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15639:25:12", "stateVariable": false, "storageLocation": "default", @@ -30102,7 +30102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3791, + "id": 3798, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15639:7:12", @@ -30116,12 +30116,12 @@ }, { "constant": false, - "id": 3794, + "id": 3801, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15674:25:12", "stateVariable": false, "storageLocation": "default", @@ -30130,7 +30130,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3793, + "id": 3800, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15674:7:12", @@ -30144,12 +30144,12 @@ }, { "constant": false, - "id": 3796, + "id": 3803, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15709:20:12", "stateVariable": false, "storageLocation": "default", @@ -30158,7 +30158,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3795, + "id": 3802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15709:7:12", @@ -30172,12 +30172,12 @@ }, { "constant": false, - "id": 3798, + "id": 3805, "mutability": "mutable", "name": "borrowedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15739:21:12", "stateVariable": false, "storageLocation": "default", @@ -30186,7 +30186,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3797, + "id": 3804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15739:7:12", @@ -30200,12 +30200,12 @@ }, { "constant": false, - "id": 3800, + "id": 3807, "mutability": "mutable", "name": "borrowedValue150", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15770:24:12", "stateVariable": false, "storageLocation": "default", @@ -30214,7 +30214,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3799, + "id": 3806, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15770:7:12", @@ -30228,12 +30228,12 @@ }, { "constant": false, - "id": 3802, + "id": 3809, "mutability": "mutable", "name": "collatValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15804:19:12", "stateVariable": false, "storageLocation": "default", @@ -30242,7 +30242,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3801, + "id": 3808, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15804:7:12", @@ -30256,12 +30256,12 @@ }, { "constant": false, - "id": 3804, + "id": 3811, "mutability": "mutable", "name": "halfVal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15833:15:12", "stateVariable": false, "storageLocation": "default", @@ -30270,7 +30270,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3803, + "id": 3810, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15833:7:12", @@ -30284,12 +30284,12 @@ }, { "constant": false, - "id": 3806, + "id": 3813, "mutability": "mutable", "name": "payAmountALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15858:20:12", "stateVariable": false, "storageLocation": "default", @@ -30298,7 +30298,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3805, + "id": 3812, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15858:7:12", @@ -30312,12 +30312,12 @@ }, { "constant": false, - "id": 3808, + "id": 3815, "mutability": "mutable", "name": "payAmountAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3809, + "scope": 3816, "src": "15914:20:12", "stateVariable": false, "storageLocation": "default", @@ -30326,7 +30326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3807, + "id": 3814, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15914:7:12", @@ -30341,45 +30341,45 @@ ], "name": "liquidateLocalVar", "nodeType": "StructDefinition", - "scope": 4045, + "scope": 4052, "src": "15604:337:12", "visibility": "public" }, { "body": { - "id": 3973, + "id": 3980, "nodeType": "Block", "src": "16267:2044:12", "statements": [ { "assignments": [ - 3818 + 3825 ], "declarations": [ { "constant": false, - "id": 3818, + "id": 3825, "mutability": "mutable", "name": "vars", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16313:29:12", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar" }, "typeName": { "contractScope": null, - "id": 3817, + "id": 3824, "name": "liquidateLocalVar", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3809, + "referencedDeclaration": 3816, "src": "16313:17:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_storage_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_storage_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar" } }, @@ -30387,7 +30387,7 @@ "visibility": "internal" } ], - "id": 3819, + "id": 3826, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "16313:29:12" @@ -30402,7 +30402,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3824, + "id": 3831, "isConstant": false, "isLValue": false, "isPure": false, @@ -30411,7 +30411,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3821, + "id": 3828, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -30422,7 +30422,7 @@ "typeString": "msg" } }, - "id": 3822, + "id": 3829, "isConstant": false, "isLValue": false, "isPure": false, @@ -30440,11 +30440,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 3823, + "id": 3830, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16374:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30460,7 +30460,7 @@ { "argumentTypes": null, "hexValue": "796f752063616e74206c697175696461746520796f757273656c66", - "id": 3825, + "id": 3832, "isConstant": false, "isLValue": false, "isPure": true, @@ -30487,7 +30487,7 @@ "typeString": "literal_string \"you cant liquidate yourself\"" } ], - "id": 3820, + "id": 3827, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30501,7 +30501,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3826, + "id": 3833, "isConstant": false, "isLValue": false, "isPure": false, @@ -30516,23 +30516,23 @@ "typeString": "tuple()" } }, - "id": 3827, + "id": 3834, "nodeType": "ExpressionStatement", "src": "16352:63:12" }, { "assignments": [ - 3829 + 3836 ], "declarations": [ { "constant": false, - "id": 3829, + "id": 3836, "mutability": "mutable", "name": "accountBorrowsALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16463:25:12", "stateVariable": false, "storageLocation": "default", @@ -30541,7 +30541,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3828, + "id": 3835, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16463:7:12", @@ -30554,17 +30554,17 @@ "visibility": "internal" } ], - "id": 3834, + "id": 3841, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3832, + "id": 3839, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16516:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30581,32 +30581,32 @@ ], "expression": { "argumentTypes": null, - "id": 3830, + "id": 3837, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "16491:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3831, + "id": 3838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "16491:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3833, + "id": 3840, "isConstant": false, "isLValue": false, "isPure": false, @@ -30626,17 +30626,17 @@ }, { "assignments": [ - 3836 + 3843 ], "declarations": [ { "constant": false, - "id": 3836, + "id": 3843, "mutability": "mutable", "name": "accountBorrowsAHR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16536:25:12", "stateVariable": false, "storageLocation": "default", @@ -30645,7 +30645,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3835, + "id": 3842, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16536:7:12", @@ -30658,17 +30658,17 @@ "visibility": "internal" } ], - "id": 3841, + "id": 3848, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3839, + "id": 3846, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16589:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30685,32 +30685,32 @@ ], "expression": { "argumentTypes": null, - "id": 3837, + "id": 3844, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "16564:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3838, + "id": 3845, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "borrowBalanceCurrent", "nodeType": "MemberAccess", - "referencedDeclaration": 6464, + "referencedDeclaration": 6471, "src": "16564:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 3840, + "id": 3847, "isConstant": false, "isLValue": false, "isPure": false, @@ -30730,17 +30730,17 @@ }, { "assignments": [ - 3843 + 3850 ], "declarations": [ { "constant": false, - "id": 3843, + "id": 3850, "mutability": "mutable", "name": "totalBorrows", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3973, + "scope": 3980, "src": "16609:20:12", "stateVariable": false, "storageLocation": "default", @@ -30749,7 +30749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3842, + "id": 3849, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16609:7:12", @@ -30762,17 +30762,17 @@ "visibility": "internal" } ], - "id": 3848, + "id": 3855, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 3846, + "id": 3853, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3836, + "referencedDeclaration": 3843, "src": "16654:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30789,32 +30789,32 @@ ], "expression": { "argumentTypes": null, - "id": 3844, + "id": 3851, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3829, + "referencedDeclaration": 3836, "src": "16632:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3845, + "id": 3852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "16632:21:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3847, + "id": 3854, "isConstant": false, "isLValue": false, "isPure": false, @@ -30835,7 +30835,7 @@ { "expression": { "argumentTypes": null, - "id": 3860, + "id": 3867, "isConstant": false, "isLValue": false, "isPure": false, @@ -30844,25 +30844,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3849, + "id": 3856, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "16726:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3851, + "id": 3858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "16726:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30879,14 +30879,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3856, + "id": 3863, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "16798:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } } @@ -30894,11 +30894,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } ], - "id": 3855, + "id": 3862, "isConstant": false, "isLValue": false, "isPure": true, @@ -30910,7 +30910,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3854, + "id": 3861, "name": "address", "nodeType": "ElementaryTypeName", "src": "16790:7:12", @@ -30920,7 +30920,7 @@ } } }, - "id": 3857, + "id": 3864, "isConstant": false, "isLValue": false, "isPure": false, @@ -30937,11 +30937,11 @@ }, { "argumentTypes": null, - "id": 3858, + "id": 3865, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3843, + "referencedDeclaration": 3850, "src": "16818:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30962,32 +30962,32 @@ ], "expression": { "argumentTypes": null, - "id": 3852, + "id": 3859, "name": "UOF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2882, + "referencedDeclaration": 2889, "src": "16747:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6788", + "typeIdentifier": "t_contract$_UniswapOracleFactoryI_$6795", "typeString": "contract UniswapOracleFactoryI" } }, - "id": 3853, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUnderlyingPriceofAsset", "nodeType": "MemberAccess", - "referencedDeclaration": 6736, + "referencedDeclaration": 6743, "src": "16747:29:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 3859, + "id": 3866, "isConstant": false, "isLValue": false, "isPure": false, @@ -31008,14 +31008,14 @@ "typeString": "uint256" } }, - "id": 3861, + "id": 3868, "nodeType": "ExpressionStatement", "src": "16726:114:12" }, { "expression": { "argumentTypes": null, - "id": 3873, + "id": 3880, "isConstant": false, "isLValue": false, "isPure": false, @@ -31024,25 +31024,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3862, + "id": 3869, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "16886:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3864, + "id": 3871, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "collatValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3802, + "referencedDeclaration": 3809, "src": "16886:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31056,11 +31056,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3867, + "id": 3874, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "16952:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31072,14 +31072,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3870, + "id": 3877, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "16983:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -31087,11 +31087,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3869, + "id": 3876, "isConstant": false, "isLValue": false, "isPure": true, @@ -31103,7 +31103,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3868, + "id": 3875, "name": "address", "nodeType": "ElementaryTypeName", "src": "16975:7:12", @@ -31113,7 +31113,7 @@ } } }, - "id": 3871, + "id": 3878, "isConstant": false, "isLValue": false, "isPure": false, @@ -31142,32 +31142,32 @@ ], "expression": { "argumentTypes": null, - "id": 3865, + "id": 3872, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "16905:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3866, + "id": 3873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "checkAvailibleCollateralValue", "nodeType": "MemberAccess", - "referencedDeclaration": 6599, + "referencedDeclaration": 6606, "src": "16905:33:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) external returns (uint256)" } }, - "id": 3872, + "id": 3879, "isConstant": false, "isLValue": false, "isPure": false, @@ -31188,14 +31188,14 @@ "typeString": "uint256" } }, - "id": 3874, + "id": 3881, "nodeType": "ExpressionStatement", "src": "16886:126:12" }, { "expression": { "argumentTypes": null, - "id": 3883, + "id": 3890, "isConstant": false, "isLValue": false, "isPure": false, @@ -31204,25 +31204,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3875, + "id": 3882, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17067:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3877, + "id": 3884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3804, + "referencedDeclaration": 3811, "src": "17067:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31237,7 +31237,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 3881, + "id": 3888, "isConstant": false, "isLValue": false, "isPure": true, @@ -31264,46 +31264,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3878, + "id": 3885, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17082:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3879, + "id": 3886, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17082:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3880, + "id": 3887, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", - "referencedDeclaration": 10880, + "referencedDeclaration": 10887, "src": "17082:22:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3882, + "id": 3889, "isConstant": false, "isLValue": false, "isPure": false, @@ -31324,14 +31324,14 @@ "typeString": "uint256" } }, - "id": 3884, + "id": 3891, "nodeType": "ExpressionStatement", "src": "17067:40:12" }, { "expression": { "argumentTypes": null, - "id": 3894, + "id": 3901, "isConstant": false, "isLValue": false, "isPure": false, @@ -31340,25 +31340,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3885, + "id": 3892, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17221:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3887, + "id": 3894, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowedValue150", "nodeType": "MemberAccess", - "referencedDeclaration": 3800, + "referencedDeclaration": 3807, "src": "17221:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31374,25 +31374,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3891, + "id": 3898, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17268:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3892, + "id": 3899, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "halfVal", "nodeType": "MemberAccess", - "referencedDeclaration": 3804, + "referencedDeclaration": 3811, "src": "17268:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31411,46 +31411,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3888, + "id": 3895, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17245:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3889, + "id": 3896, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17245:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3890, + "id": 3897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 10783, + "referencedDeclaration": 10790, "src": "17245:22:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 3893, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, @@ -31471,7 +31471,7 @@ "typeString": "uint256" } }, - "id": 3895, + "id": 3902, "nodeType": "ExpressionStatement", "src": "17221:60:12" }, @@ -31482,7 +31482,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3900, + "id": 3907, "isConstant": false, "isLValue": false, "isPure": false, @@ -31491,25 +31491,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3896, + "id": 3903, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17509:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3897, + "id": 3904, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "collatValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3802, + "referencedDeclaration": 3809, "src": "17509:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31522,25 +31522,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3898, + "id": 3905, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17528:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3899, + "id": 3906, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue150", "nodeType": "MemberAccess", - "referencedDeclaration": 3800, + "referencedDeclaration": 3807, "src": "17528:21:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31554,11 +31554,11 @@ } }, "falseBody": null, - "id": 3972, + "id": 3979, "nodeType": "IfStatement", "src": "17505:800:12", "trueBody": { - "id": 3971, + "id": 3978, "nodeType": "Block", "src": "17551:754:12", "statements": [ @@ -31570,7 +31570,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3904, + "id": 3911, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -31581,7 +31581,7 @@ "typeString": "msg" } }, - "id": 3905, + "id": 3912, "isConstant": false, "isLValue": false, "isPure": false, @@ -31600,14 +31600,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3908, + "id": 3915, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "17663:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -31615,11 +31615,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3907, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": true, @@ -31631,7 +31631,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3906, + "id": 3913, "name": "address", "nodeType": "ElementaryTypeName", "src": "17655:7:12", @@ -31641,7 +31641,7 @@ } } }, - "id": 3909, + "id": 3916, "isConstant": false, "isLValue": false, "isPure": false, @@ -31658,11 +31658,11 @@ }, { "argumentTypes": null, - "id": 3910, + "id": 3917, "name": "accountBorrowsALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3829, + "referencedDeclaration": 3836, "src": "17669:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31687,32 +31687,32 @@ ], "expression": { "argumentTypes": null, - "id": 3901, + "id": 3908, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "17624:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3903, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "17624:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3911, + "id": 3918, "isConstant": false, "isLValue": false, "isPure": false, @@ -31727,7 +31727,7 @@ "typeString": "bool" } }, - "id": 3912, + "id": 3919, "nodeType": "ExpressionStatement", "src": "17624:63:12" }, @@ -31739,7 +31739,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3916, + "id": 3923, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -31750,7 +31750,7 @@ "typeString": "msg" } }, - "id": 3917, + "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, @@ -31769,14 +31769,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3920, + "id": 3927, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "17740:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -31784,11 +31784,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3919, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": true, @@ -31800,7 +31800,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3918, + "id": 3925, "name": "address", "nodeType": "ElementaryTypeName", "src": "17732:7:12", @@ -31810,7 +31810,7 @@ } } }, - "id": 3921, + "id": 3928, "isConstant": false, "isLValue": false, "isPure": false, @@ -31827,11 +31827,11 @@ }, { "argumentTypes": null, - "id": 3922, + "id": 3929, "name": "accountBorrowsAHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3836, + "referencedDeclaration": 3843, "src": "17746:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31856,32 +31856,32 @@ ], "expression": { "argumentTypes": null, - "id": 3913, + "id": 3920, "name": "asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2874, + "referencedDeclaration": 2881, "src": "17701:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$11535", + "typeIdentifier": "t_contract$_IERC20_$11538", "typeString": "contract IERC20" } }, - "id": 3915, + "id": 3922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 11516, + "referencedDeclaration": 11519, "src": "17701:18:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 3923, + "id": 3930, "isConstant": false, "isLValue": false, "isPure": false, @@ -31896,7 +31896,7 @@ "typeString": "bool" } }, - "id": 3924, + "id": 3931, "nodeType": "ExpressionStatement", "src": "17701:63:12" }, @@ -31908,25 +31908,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3928, + "id": 3935, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17816:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3929, + "id": 3936, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "17816:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31935,11 +31935,11 @@ }, { "argumentTypes": null, - "id": 3930, + "id": 3937, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "17852:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31950,7 +31950,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3931, + "id": 3938, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -31961,7 +31961,7 @@ "typeString": "msg" } }, - "id": 3932, + "id": 3939, "isConstant": false, "isLValue": false, "isPure": false, @@ -31980,14 +31980,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3935, + "id": 3942, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "17915:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -31995,11 +31995,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3934, + "id": 3941, "isConstant": false, "isLValue": false, "isPure": true, @@ -32011,7 +32011,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3933, + "id": 3940, "name": "address", "nodeType": "ElementaryTypeName", "src": "17907:7:12", @@ -32021,7 +32021,7 @@ } } }, - "id": 3936, + "id": 3943, "isConstant": false, "isLValue": false, "isPure": false, @@ -32058,32 +32058,32 @@ ], "expression": { "argumentTypes": null, - "id": 3925, + "id": 3932, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "17778:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3927, + "id": 3934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "liquidateTrigger", "nodeType": "MemberAccess", - "referencedDeclaration": 6644, + "referencedDeclaration": 6651, "src": "17778:20:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$returns$__$", "typeString": "function (uint256,address,address,address) external" } }, - "id": 3937, + "id": 3944, "isConstant": false, "isLValue": false, "isPure": false, @@ -32098,14 +32098,14 @@ "typeString": "tuple()" } }, - "id": 3938, + "id": 3945, "nodeType": "ExpressionStatement", "src": "17778:170:12" }, { "expression": { "argumentTypes": null, - "id": 3947, + "id": 3954, "isConstant": false, "isLValue": false, "isPure": false, @@ -32114,25 +32114,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3939, + "id": 3946, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "17962:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3941, + "id": 3948, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "payAmountALR", "nodeType": "MemberAccess", - "referencedDeclaration": 3806, + "referencedDeclaration": 3813, "src": "17962:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32147,7 +32147,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3944, + "id": 3951, "isConstant": false, "isLValue": false, "isPure": true, @@ -32164,11 +32164,11 @@ }, { "argumentTypes": null, - "id": 3945, + "id": 3952, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18001:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32189,32 +32189,32 @@ ], "expression": { "argumentTypes": null, - "id": 3942, + "id": 3949, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "17982:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3943, + "id": 3950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "17982:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3946, + "id": 3953, "isConstant": false, "isLValue": false, "isPure": false, @@ -32235,14 +32235,14 @@ "typeString": "uint256" } }, - "id": 3948, + "id": 3955, "nodeType": "ExpressionStatement", "src": "17962:49:12" }, { "expression": { "argumentTypes": null, - "id": 3957, + "id": 3964, "isConstant": false, "isLValue": false, "isPure": false, @@ -32251,25 +32251,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3949, + "id": 3956, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "18039:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3951, + "id": 3958, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "payAmountAHR", "nodeType": "MemberAccess", - "referencedDeclaration": 3808, + "referencedDeclaration": 3815, "src": "18039:17:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32284,7 +32284,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3954, + "id": 3961, "isConstant": false, "isLValue": false, "isPure": true, @@ -32301,11 +32301,11 @@ }, { "argumentTypes": null, - "id": 3955, + "id": 3962, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18078:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32326,32 +32326,32 @@ ], "expression": { "argumentTypes": null, - "id": 3952, + "id": 3959, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18059:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3953, + "id": 3960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "repayBorrow", "nodeType": "MemberAccess", - "referencedDeclaration": 6501, + "referencedDeclaration": 6508, "src": "18059:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,address) external returns (uint256)" } }, - "id": 3956, + "id": 3963, "isConstant": false, "isLValue": false, "isPure": false, @@ -32372,7 +32372,7 @@ "typeString": "uint256" } }, - "id": 3958, + "id": 3965, "nodeType": "ExpressionStatement", "src": "18039:49:12" }, @@ -32382,11 +32382,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3962, + "id": 3969, "name": "_borrower", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3812, + "referencedDeclaration": 3819, "src": "18190:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32398,14 +32398,14 @@ "arguments": [ { "argumentTypes": null, - "id": 3965, + "id": 3972, "name": "_ARTcollateralized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3814, + "referencedDeclaration": 3821, "src": "18225:18:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } } @@ -32413,11 +32413,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } ], - "id": 3964, + "id": 3971, "isConstant": false, "isLValue": false, "isPure": true, @@ -32429,7 +32429,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3963, + "id": 3970, "name": "address", "nodeType": "ElementaryTypeName", "src": "18217:7:12", @@ -32439,7 +32439,7 @@ } } }, - "id": 3966, + "id": 3973, "isConstant": false, "isLValue": false, "isPure": false, @@ -32458,25 +32458,25 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 3967, + "id": 3974, "name": "vars", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3825, "src": "18262:4:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_liquidateLocalVar_$3809_memory_ptr", + "typeIdentifier": "t_struct$_liquidateLocalVar_$3816_memory_ptr", "typeString": "struct MoneyMarketInstance.liquidateLocalVar memory" } }, - "id": 3968, + "id": 3975, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowedValue", "nodeType": "MemberAccess", - "referencedDeclaration": 3798, + "referencedDeclaration": 3805, "src": "18262:18:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32501,32 +32501,32 @@ ], "expression": { "argumentTypes": null, - "id": 3959, + "id": 3966, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "18149:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3961, + "id": 3968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "trackCollateralDown", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6624, "src": "18149:23:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 3969, + "id": 3976, "isConstant": false, "isLValue": false, "isPure": false, @@ -32541,7 +32541,7 @@ "typeString": "tuple()" } }, - "id": 3970, + "id": 3977, "nodeType": "ExpressionStatement", "src": "18149:145:12" } @@ -32551,13 +32551,13 @@ ] }, "documentation": { - "id": 3810, + "id": 3817, "nodeType": "StructuredDocumentation", "src": "15947:206:12", "text": "@notice _liquidateFor is called by the liquidateAccount function on a MMI where a user is being liquidated. This function\nis called on a MMI contract where collateral is staked.*" }, "functionSelector": "ac979028", - "id": 3974, + "id": 3981, "implemented": true, "kind": "function", "modifiers": [], @@ -32565,17 +32565,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3815, + "id": 3822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3812, + "id": 3819, "mutability": "mutable", "name": "_borrower", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3974, + "scope": 3981, "src": "16193:17:12", "stateVariable": false, "storageLocation": "default", @@ -32584,7 +32584,7 @@ "typeString": "address" }, "typeName": { - "id": 3811, + "id": 3818, "name": "address", "nodeType": "ElementaryTypeName", "src": "16193:7:12", @@ -32599,28 +32599,28 @@ }, { "constant": false, - "id": 3814, + "id": 3821, "mutability": "mutable", "name": "_ARTcollateralized", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3974, + "scope": 3981, "src": "16220:33:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" }, "typeName": { "contractScope": null, - "id": 3813, + "id": 3820, "name": "AskoRiskTokenI", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6554, + "referencedDeclaration": 6561, "src": "16220:14:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, @@ -32631,12 +32631,12 @@ "src": "16183:76:12" }, "returnParameters": { - "id": 3816, + "id": 3823, "nodeType": "ParameterList", "parameters": [], "src": "16267:0:12" }, - "scope": 4045, + "scope": 4052, "src": "16158:2153:12", "stateMutability": "nonpayable", "virtual": false, @@ -32644,7 +32644,7 @@ }, { "body": { - "id": 3987, + "id": 3994, "nodeType": "Block", "src": "18467:52:12", "statements": [ @@ -32654,11 +32654,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3984, + "id": 3991, "name": "_inQuestion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3977, + "referencedDeclaration": 3984, "src": "18500:11:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32675,32 +32675,32 @@ ], "expression": { "argumentTypes": null, - "id": 3982, + "id": 3989, "name": "MMF", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2880, + "referencedDeclaration": 2887, "src": "18484:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6645", + "typeIdentifier": "t_contract$_MoneyMarketFactoryI_$6652", "typeString": "contract MoneyMarketFactoryI" } }, - "id": 3983, + "id": 3990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_checkIfALR", "nodeType": "MemberAccess", - "referencedDeclaration": 6624, + "referencedDeclaration": 6631, "src": "18484:15:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view external returns (bool)" } }, - "id": 3985, + "id": 3992, "isConstant": false, "isLValue": false, "isPure": false, @@ -32715,21 +32715,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 3981, - "id": 3986, + "functionReturnParameters": 3988, + "id": 3993, "nodeType": "Return", "src": "18477:35:12" } ] }, "documentation": { - "id": 3975, + "id": 3982, "nodeType": "StructuredDocumentation", "src": "18317:76:12", "text": "@notice these are admin functions for updating individual ART values*" }, "functionSelector": "67612843", - "id": 3988, + "id": 3995, "implemented": true, "kind": "function", "modifiers": [], @@ -32737,17 +32737,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3978, + "id": 3985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3977, + "id": 3984, "mutability": "mutable", "name": "_inQuestion", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3988, + "scope": 3995, "src": "18419:19:12", "stateVariable": false, "storageLocation": "default", @@ -32756,7 +32756,7 @@ "typeString": "address" }, "typeName": { - "id": 3976, + "id": 3983, "name": "address", "nodeType": "ElementaryTypeName", "src": "18419:7:12", @@ -32773,17 +32773,17 @@ "src": "18418:21:12" }, "returnParameters": { - "id": 3981, + "id": 3988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3980, + "id": 3987, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3988, + "scope": 3995, "src": "18461:4:12", "stateVariable": false, "storageLocation": "default", @@ -32792,7 +32792,7 @@ "typeString": "bool" }, "typeName": { - "id": 3979, + "id": 3986, "name": "bool", "nodeType": "ElementaryTypeName", "src": "18461:4:12", @@ -32807,7 +32807,7 @@ ], "src": "18460:6:12" }, - "scope": 4045, + "scope": 4052, "src": "18399:120:12", "stateMutability": "view", "virtual": false, @@ -32815,7 +32815,7 @@ }, { "body": { - "id": 4001, + "id": 4008, "nodeType": "Block", "src": "18584:52:12", "statements": [ @@ -32825,11 +32825,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3998, + "id": 4005, "name": "_newModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3990, + "referencedDeclaration": 3997, "src": "18619:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32846,32 +32846,32 @@ ], "expression": { "argumentTypes": null, - "id": 3995, + "id": 4002, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "18594:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 3997, + "id": 4004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_updateInterestModel", "nodeType": "MemberAccess", - "referencedDeclaration": 6548, + "referencedDeclaration": 6555, "src": "18594:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 3999, + "id": 4006, "isConstant": false, "isLValue": false, "isPure": false, @@ -32886,7 +32886,7 @@ "typeString": "tuple()" } }, - "id": 4000, + "id": 4007, "nodeType": "ExpressionStatement", "src": "18594:35:12" } @@ -32894,20 +32894,20 @@ }, "documentation": null, "functionSelector": "0a3ed432", - "id": 4002, + "id": 4009, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3993, + "id": 4000, "modifierName": { "argumentTypes": null, - "id": 3992, + "id": 3999, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18570:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -32922,17 +32922,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3991, + "id": 3998, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3990, + "id": 3997, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4002, + "scope": 4009, "src": "18544:17:12", "stateVariable": false, "storageLocation": "default", @@ -32941,7 +32941,7 @@ "typeString": "address" }, "typeName": { - "id": 3989, + "id": 3996, "name": "address", "nodeType": "ElementaryTypeName", "src": "18544:7:12", @@ -32958,12 +32958,12 @@ "src": "18543:19:12" }, "returnParameters": { - "id": 3994, + "id": 4001, "nodeType": "ParameterList", "parameters": [], "src": "18584:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18525:111:12", "stateMutability": "nonpayable", "virtual": false, @@ -32971,7 +32971,7 @@ }, { "body": { - "id": 4015, + "id": 4022, "nodeType": "Block", "src": "18701:52:12", "statements": [ @@ -32981,11 +32981,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4012, + "id": 4019, "name": "_newModel", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4004, + "referencedDeclaration": 4011, "src": "18736:9:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33002,32 +33002,32 @@ ], "expression": { "argumentTypes": null, - "id": 4009, + "id": 4016, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18711:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4011, + "id": 4018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_updateInterestModel", "nodeType": "MemberAccess", - "referencedDeclaration": 6548, + "referencedDeclaration": 6555, "src": "18711:24:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 4013, + "id": 4020, "isConstant": false, "isLValue": false, "isPure": false, @@ -33042,7 +33042,7 @@ "typeString": "tuple()" } }, - "id": 4014, + "id": 4021, "nodeType": "ExpressionStatement", "src": "18711:35:12" } @@ -33050,20 +33050,20 @@ }, "documentation": null, "functionSelector": "b451bb2e", - "id": 4016, + "id": 4023, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4007, + "id": 4014, "modifierName": { "argumentTypes": null, - "id": 4006, + "id": 4013, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18687:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -33078,17 +33078,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4005, + "id": 4012, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4004, + "id": 4011, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4016, + "scope": 4023, "src": "18661:17:12", "stateVariable": false, "storageLocation": "default", @@ -33097,7 +33097,7 @@ "typeString": "address" }, "typeName": { - "id": 4003, + "id": 4010, "name": "address", "nodeType": "ElementaryTypeName", "src": "18661:7:12", @@ -33114,12 +33114,12 @@ "src": "18660:19:12" }, "returnParameters": { - "id": 4008, + "id": 4015, "nodeType": "ParameterList", "parameters": [], "src": "18701:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18642:111:12", "stateMutability": "nonpayable", "virtual": false, @@ -33127,7 +33127,7 @@ }, { "body": { - "id": 4029, + "id": 4036, "nodeType": "Block", "src": "18811:41:12", "statements": [ @@ -33137,11 +33137,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4026, + "id": 4033, "name": "_RR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4018, + "referencedDeclaration": 4025, "src": "18841:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33158,32 +33158,32 @@ ], "expression": { "argumentTypes": null, - "id": 4023, + "id": 4030, "name": "AHR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2876, + "referencedDeclaration": 2883, "src": "18821:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4025, + "id": 4032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setReserveRatio", "nodeType": "MemberAccess", - "referencedDeclaration": 6553, + "referencedDeclaration": 6560, "src": "18821:19:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 4027, + "id": 4034, "isConstant": false, "isLValue": false, "isPure": false, @@ -33198,7 +33198,7 @@ "typeString": "tuple()" } }, - "id": 4028, + "id": 4035, "nodeType": "ExpressionStatement", "src": "18821:24:12" } @@ -33206,20 +33206,20 @@ }, "documentation": null, "functionSelector": "d6b9b5d9", - "id": 4030, + "id": 4037, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4021, + "id": 4028, "modifierName": { "argumentTypes": null, - "id": 4020, + "id": 4027, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18797:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -33234,17 +33234,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4019, + "id": 4026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4018, + "id": 4025, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4030, + "scope": 4037, "src": "18777:11:12", "stateVariable": false, "storageLocation": "default", @@ -33253,7 +33253,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4017, + "id": 4024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18777:7:12", @@ -33269,12 +33269,12 @@ "src": "18776:13:12" }, "returnParameters": { - "id": 4022, + "id": 4029, "nodeType": "ParameterList", "parameters": [], "src": "18811:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18759:93:12", "stateMutability": "nonpayable", "virtual": false, @@ -33282,7 +33282,7 @@ }, { "body": { - "id": 4043, + "id": 4050, "nodeType": "Block", "src": "18910:41:12", "statements": [ @@ -33292,11 +33292,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4040, + "id": 4047, "name": "_RR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4032, + "referencedDeclaration": 4039, "src": "18940:3:12", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33313,32 +33313,32 @@ ], "expression": { "argumentTypes": null, - "id": 4037, + "id": 4044, "name": "ALR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2878, + "referencedDeclaration": 2885, "src": "18920:3:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_AskoRiskTokenI_$6554", + "typeIdentifier": "t_contract$_AskoRiskTokenI_$6561", "typeString": "contract AskoRiskTokenI" } }, - "id": 4039, + "id": 4046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setReserveRatio", "nodeType": "MemberAccess", - "referencedDeclaration": 6553, + "referencedDeclaration": 6560, "src": "18920:19:12", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 4041, + "id": 4048, "isConstant": false, "isLValue": false, "isPure": false, @@ -33353,7 +33353,7 @@ "typeString": "tuple()" } }, - "id": 4042, + "id": 4049, "nodeType": "ExpressionStatement", "src": "18920:24:12" } @@ -33361,20 +33361,20 @@ }, "documentation": null, "functionSelector": "1d7bd46e", - "id": 4044, + "id": 4051, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4035, + "id": 4042, "modifierName": { "argumentTypes": null, - "id": 4034, + "id": 4041, "name": "onlyMMFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2911, + "referencedDeclaration": 2918, "src": "18896:13:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -33389,17 +33389,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4033, + "id": 4040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4032, + "id": 4039, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4051, "src": "18876:11:12", "stateVariable": false, "storageLocation": "default", @@ -33408,7 +33408,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4031, + "id": 4038, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18876:7:12", @@ -33424,19 +33424,19 @@ "src": "18875:13:12" }, "returnParameters": { - "id": 4036, + "id": 4043, "nodeType": "ParameterList", "parameters": [], "src": "18910:0:12" }, - "scope": 4045, + "scope": 4052, "src": "18858:93:12", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 4046, + "scope": 4053, "src": "895:18058:12" } ], @@ -33448,7 +33448,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T00:49:13.428Z", + "updatedAt": "2020-12-12T01:13:52.445Z", "devdoc": { "methods": { "_setUpAHR(address,uint256,uint256)": { diff --git a/AskoLend-contracts/build/contracts/MoneyMarketInstanceI.json b/AskoLend-contracts/build/contracts/MoneyMarketInstanceI.json index cb140f13..02f226c3 100644 --- a/AskoLend-contracts/build/contracts/MoneyMarketInstanceI.json +++ b/AskoLend-contracts/build/contracts/MoneyMarketInstanceI.json @@ -181,26 +181,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_inQuestion\",\"type\":\"address\"}],\"name\":\"checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"collateralizeALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decollateralizeALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"The MoneyMarketinstanceI contract an abstract contract MoneyMarketControl uses to interface with a MoneyMarketInstance. This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":\"MoneyMarketInstanceI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALR\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_InterestRateModel\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialExchangeRate\",\"type\":\"uint256\"}],\"name\":\"_setUpALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_inQuestion\",\"type\":\"address\"}],\"name\":\"checkIfALR\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"collateralizeALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decollateralizeALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssetAdd\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_RR\",\"type\":\"uint256\"}],\"name\":\"setRRALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateAHR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newModel\",\"type\":\"address\"}],\"name\":\"updateALR\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"The MoneyMarketinstanceI contract an abstract contract MoneyMarketControl uses to interface with a MoneyMarketInstance. This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":\"MoneyMarketInstanceI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol\":{\"keccak256\":\"0x678ca6535219ea10181515b68d301ab56fece9e745eb2307c6d1583e49a8d888\",\"urls\":[\"bzz-raw://0d3bef1cb32e61c5f3d666eea5aca3a230710f17077f4f06b6d12a5e1477785c\",\"dweb:/ipfs/QmYvSNoZCxpQVDQ5PcGVcPxh8rVvVqRuksEtB6WPG7eov9\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title MoneyMarketInstanceI\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe MoneyMarketinstanceI contract an abstract contract MoneyMarketControl uses to interface\n with a MoneyMarketInstance.\n This is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits\n**/\n\nabstract contract MoneyMarketInstanceI {\n address public ALR;\n\n function _setUpAHR(\n address _InterestRateModel,\n uint256 _fee,\n uint256 _initialExchangeRate\n ) public virtual;\n\n function _setUpALR(\n address _InterestRateModel,\n uint256 _fee,\n uint256 _initialExchangeRate\n ) public virtual;\n\n function getAssetAdd() public view virtual returns (address);\n\n function checkIfALR(address _inQuestion) public view virtual returns (bool);\n\n function decollateralizeALR(address _account, uint256 _amount)\n public\n virtual;\n\n function collateralizeALR(address _account, uint256 _amount) public virtual;\n\n function updateALR(address _newModel) public virtual;\n\n function updateAHR(address _newModel) public virtual;\n\n function setRRALR(uint256 _RR) public virtual;\n\n function setRRAHR(uint256 _RR) public virtual;\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "exportedSymbols": { "MoneyMarketInstanceI": [ - 6715 + 6722 ] }, - "id": 6716, + "id": 6723, "nodeType": "SourceUnit", "nodes": [ { - "id": 6647, + "id": 6654, "literals": [ "solidity", "^", @@ -216,15 +216,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6648, + "id": 6655, "nodeType": "StructuredDocumentation", "src": "273:233:23", "text": "The MoneyMarketinstanceI contract an abstract contract MoneyMarketControl uses to interface\nwith a MoneyMarketInstance.\nThis is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*" }, "fullyImplemented": false, - "id": 6715, + "id": 6722, "linearizedBaseContracts": [ - 6715 + 6722 ], "name": "MoneyMarketInstanceI", "nodeType": "ContractDefinition", @@ -232,12 +232,12 @@ { "constant": false, "functionSelector": "c27d4df3", - "id": 6650, + "id": 6657, "mutability": "mutable", "name": "ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6715, + "scope": 6722, "src": "553:18:23", "stateVariable": true, "storageLocation": "default", @@ -246,7 +246,7 @@ "typeString": "address" }, "typeName": { - "id": 6649, + "id": 6656, "name": "address", "nodeType": "ElementaryTypeName", "src": "553:7:23", @@ -263,7 +263,7 @@ "body": null, "documentation": null, "functionSelector": "dcc716bd", - "id": 6659, + "id": 6666, "implemented": false, "kind": "function", "modifiers": [], @@ -271,17 +271,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6657, + "id": 6664, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6652, + "id": 6659, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "606:26:23", "stateVariable": false, "storageLocation": "default", @@ -290,7 +290,7 @@ "typeString": "address" }, "typeName": { - "id": 6651, + "id": 6658, "name": "address", "nodeType": "ElementaryTypeName", "src": "606:7:23", @@ -305,12 +305,12 @@ }, { "constant": false, - "id": 6654, + "id": 6661, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "642:12:23", "stateVariable": false, "storageLocation": "default", @@ -319,7 +319,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6653, + "id": 6660, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "642:7:23", @@ -333,12 +333,12 @@ }, { "constant": false, - "id": 6656, + "id": 6663, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "664:28:23", "stateVariable": false, "storageLocation": "default", @@ -347,7 +347,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6655, + "id": 6662, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "664:7:23", @@ -363,12 +363,12 @@ "src": "596:102:23" }, "returnParameters": { - "id": 6658, + "id": 6665, "nodeType": "ParameterList", "parameters": [], "src": "713:0:23" }, - "scope": 6715, + "scope": 6722, "src": "578:136:23", "stateMutability": "nonpayable", "virtual": true, @@ -378,7 +378,7 @@ "body": null, "documentation": null, "functionSelector": "1f432cf5", - "id": 6668, + "id": 6675, "implemented": false, "kind": "function", "modifiers": [], @@ -386,17 +386,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6666, + "id": 6673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6661, + "id": 6668, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "748:26:23", "stateVariable": false, "storageLocation": "default", @@ -405,7 +405,7 @@ "typeString": "address" }, "typeName": { - "id": 6660, + "id": 6667, "name": "address", "nodeType": "ElementaryTypeName", "src": "748:7:23", @@ -420,12 +420,12 @@ }, { "constant": false, - "id": 6663, + "id": 6670, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "784:12:23", "stateVariable": false, "storageLocation": "default", @@ -434,7 +434,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6662, + "id": 6669, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "784:7:23", @@ -448,12 +448,12 @@ }, { "constant": false, - "id": 6665, + "id": 6672, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "806:28:23", "stateVariable": false, "storageLocation": "default", @@ -462,7 +462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6664, + "id": 6671, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "806:7:23", @@ -478,12 +478,12 @@ "src": "738:102:23" }, "returnParameters": { - "id": 6667, + "id": 6674, "nodeType": "ParameterList", "parameters": [], "src": "855:0:23" }, - "scope": 6715, + "scope": 6722, "src": "720:136:23", "stateMutability": "nonpayable", "virtual": true, @@ -493,7 +493,7 @@ "body": null, "documentation": null, "functionSelector": "4c20ac74", - "id": 6673, + "id": 6680, "implemented": false, "kind": "function", "modifiers": [], @@ -501,23 +501,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6669, + "id": 6676, "nodeType": "ParameterList", "parameters": [], "src": "882:2:23" }, "returnParameters": { - "id": 6672, + "id": 6679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6671, + "id": 6678, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6673, + "scope": 6680, "src": "914:7:23", "stateVariable": false, "storageLocation": "default", @@ -526,7 +526,7 @@ "typeString": "address" }, "typeName": { - "id": 6670, + "id": 6677, "name": "address", "nodeType": "ElementaryTypeName", "src": "914:7:23", @@ -542,7 +542,7 @@ ], "src": "913:9:23" }, - "scope": 6715, + "scope": 6722, "src": "862:61:23", "stateMutability": "view", "virtual": true, @@ -552,7 +552,7 @@ "body": null, "documentation": null, "functionSelector": "67612843", - "id": 6680, + "id": 6687, "implemented": false, "kind": "function", "modifiers": [], @@ -560,17 +560,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6676, + "id": 6683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6675, + "id": 6682, "mutability": "mutable", "name": "_inQuestion", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6680, + "scope": 6687, "src": "949:19:23", "stateVariable": false, "storageLocation": "default", @@ -579,7 +579,7 @@ "typeString": "address" }, "typeName": { - "id": 6674, + "id": 6681, "name": "address", "nodeType": "ElementaryTypeName", "src": "949:7:23", @@ -596,17 +596,17 @@ "src": "948:21:23" }, "returnParameters": { - "id": 6679, + "id": 6686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6678, + "id": 6685, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6680, + "scope": 6687, "src": "999:4:23", "stateVariable": false, "storageLocation": "default", @@ -615,7 +615,7 @@ "typeString": "bool" }, "typeName": { - "id": 6677, + "id": 6684, "name": "bool", "nodeType": "ElementaryTypeName", "src": "999:4:23", @@ -630,7 +630,7 @@ ], "src": "998:6:23" }, - "scope": 6715, + "scope": 6722, "src": "929:76:23", "stateMutability": "view", "virtual": true, @@ -640,7 +640,7 @@ "body": null, "documentation": null, "functionSelector": "c6ac1eb9", - "id": 6687, + "id": 6694, "implemented": false, "kind": "function", "modifiers": [], @@ -648,17 +648,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6685, + "id": 6692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6682, + "id": 6689, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6687, + "scope": 6694, "src": "1039:16:23", "stateVariable": false, "storageLocation": "default", @@ -667,7 +667,7 @@ "typeString": "address" }, "typeName": { - "id": 6681, + "id": 6688, "name": "address", "nodeType": "ElementaryTypeName", "src": "1039:7:23", @@ -682,12 +682,12 @@ }, { "constant": false, - "id": 6684, + "id": 6691, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6687, + "scope": 6694, "src": "1057:15:23", "stateVariable": false, "storageLocation": "default", @@ -696,7 +696,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6683, + "id": 6690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1057:7:23", @@ -712,12 +712,12 @@ "src": "1038:35:23" }, "returnParameters": { - "id": 6686, + "id": 6693, "nodeType": "ParameterList", "parameters": [], "src": "1104:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1011:94:23", "stateMutability": "nonpayable", "virtual": true, @@ -727,7 +727,7 @@ "body": null, "documentation": null, "functionSelector": "49ff811e", - "id": 6694, + "id": 6701, "implemented": false, "kind": "function", "modifiers": [], @@ -735,17 +735,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6692, + "id": 6699, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6689, + "id": 6696, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6694, + "scope": 6701, "src": "1137:16:23", "stateVariable": false, "storageLocation": "default", @@ -754,7 +754,7 @@ "typeString": "address" }, "typeName": { - "id": 6688, + "id": 6695, "name": "address", "nodeType": "ElementaryTypeName", "src": "1137:7:23", @@ -769,12 +769,12 @@ }, { "constant": false, - "id": 6691, + "id": 6698, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6694, + "scope": 6701, "src": "1155:15:23", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6690, + "id": 6697, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1155:7:23", @@ -799,12 +799,12 @@ "src": "1136:35:23" }, "returnParameters": { - "id": 6693, + "id": 6700, "nodeType": "ParameterList", "parameters": [], "src": "1186:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1111:76:23", "stateMutability": "nonpayable", "virtual": true, @@ -814,7 +814,7 @@ "body": null, "documentation": null, "functionSelector": "0a3ed432", - "id": 6699, + "id": 6706, "implemented": false, "kind": "function", "modifiers": [], @@ -822,17 +822,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6697, + "id": 6704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6696, + "id": 6703, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6699, + "scope": 6706, "src": "1212:17:23", "stateVariable": false, "storageLocation": "default", @@ -841,7 +841,7 @@ "typeString": "address" }, "typeName": { - "id": 6695, + "id": 6702, "name": "address", "nodeType": "ElementaryTypeName", "src": "1212:7:23", @@ -858,12 +858,12 @@ "src": "1211:19:23" }, "returnParameters": { - "id": 6698, + "id": 6705, "nodeType": "ParameterList", "parameters": [], "src": "1245:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1193:53:23", "stateMutability": "nonpayable", "virtual": true, @@ -873,7 +873,7 @@ "body": null, "documentation": null, "functionSelector": "b451bb2e", - "id": 6704, + "id": 6711, "implemented": false, "kind": "function", "modifiers": [], @@ -881,17 +881,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6702, + "id": 6709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6701, + "id": 6708, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6711, "src": "1271:17:23", "stateVariable": false, "storageLocation": "default", @@ -900,7 +900,7 @@ "typeString": "address" }, "typeName": { - "id": 6700, + "id": 6707, "name": "address", "nodeType": "ElementaryTypeName", "src": "1271:7:23", @@ -917,12 +917,12 @@ "src": "1270:19:23" }, "returnParameters": { - "id": 6703, + "id": 6710, "nodeType": "ParameterList", "parameters": [], "src": "1304:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1252:53:23", "stateMutability": "nonpayable", "virtual": true, @@ -932,7 +932,7 @@ "body": null, "documentation": null, "functionSelector": "1d7bd46e", - "id": 6709, + "id": 6716, "implemented": false, "kind": "function", "modifiers": [], @@ -940,17 +940,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6707, + "id": 6714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6706, + "id": 6713, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6709, + "scope": 6716, "src": "1329:11:23", "stateVariable": false, "storageLocation": "default", @@ -959,7 +959,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6705, + "id": 6712, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1329:7:23", @@ -975,12 +975,12 @@ "src": "1328:13:23" }, "returnParameters": { - "id": 6708, + "id": 6715, "nodeType": "ParameterList", "parameters": [], "src": "1356:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1311:46:23", "stateMutability": "nonpayable", "virtual": true, @@ -990,7 +990,7 @@ "body": null, "documentation": null, "functionSelector": "d6b9b5d9", - "id": 6714, + "id": 6721, "implemented": false, "kind": "function", "modifiers": [], @@ -998,17 +998,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6712, + "id": 6719, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6711, + "id": 6718, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6714, + "scope": 6721, "src": "1381:11:23", "stateVariable": false, "storageLocation": "default", @@ -1017,7 +1017,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6710, + "id": 6717, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1381:7:23", @@ -1033,36 +1033,36 @@ "src": "1380:13:23" }, "returnParameters": { - "id": 6713, + "id": 6720, "nodeType": "ParameterList", "parameters": [], "src": "1408:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1363:46:23", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6716, + "scope": 6723, "src": "508:903:23" } ], "src": "0:1412:23" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/MoneyMarketInstanceI.sol", "exportedSymbols": { "MoneyMarketInstanceI": [ - 6715 + 6722 ] }, - "id": 6716, + "id": 6723, "nodeType": "SourceUnit", "nodes": [ { - "id": 6647, + "id": 6654, "literals": [ "solidity", "^", @@ -1078,15 +1078,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6648, + "id": 6655, "nodeType": "StructuredDocumentation", "src": "273:233:23", "text": "The MoneyMarketinstanceI contract an abstract contract MoneyMarketControl uses to interface\nwith a MoneyMarketInstance.\nThis is necissary to reduce the size of the contracts during deployment to avoid Gas Block limits*" }, "fullyImplemented": false, - "id": 6715, + "id": 6722, "linearizedBaseContracts": [ - 6715 + 6722 ], "name": "MoneyMarketInstanceI", "nodeType": "ContractDefinition", @@ -1094,12 +1094,12 @@ { "constant": false, "functionSelector": "c27d4df3", - "id": 6650, + "id": 6657, "mutability": "mutable", "name": "ALR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6715, + "scope": 6722, "src": "553:18:23", "stateVariable": true, "storageLocation": "default", @@ -1108,7 +1108,7 @@ "typeString": "address" }, "typeName": { - "id": 6649, + "id": 6656, "name": "address", "nodeType": "ElementaryTypeName", "src": "553:7:23", @@ -1125,7 +1125,7 @@ "body": null, "documentation": null, "functionSelector": "dcc716bd", - "id": 6659, + "id": 6666, "implemented": false, "kind": "function", "modifiers": [], @@ -1133,17 +1133,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6657, + "id": 6664, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6652, + "id": 6659, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "606:26:23", "stateVariable": false, "storageLocation": "default", @@ -1152,7 +1152,7 @@ "typeString": "address" }, "typeName": { - "id": 6651, + "id": 6658, "name": "address", "nodeType": "ElementaryTypeName", "src": "606:7:23", @@ -1167,12 +1167,12 @@ }, { "constant": false, - "id": 6654, + "id": 6661, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "642:12:23", "stateVariable": false, "storageLocation": "default", @@ -1181,7 +1181,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6653, + "id": 6660, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "642:7:23", @@ -1195,12 +1195,12 @@ }, { "constant": false, - "id": 6656, + "id": 6663, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6659, + "scope": 6666, "src": "664:28:23", "stateVariable": false, "storageLocation": "default", @@ -1209,7 +1209,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6655, + "id": 6662, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "664:7:23", @@ -1225,12 +1225,12 @@ "src": "596:102:23" }, "returnParameters": { - "id": 6658, + "id": 6665, "nodeType": "ParameterList", "parameters": [], "src": "713:0:23" }, - "scope": 6715, + "scope": 6722, "src": "578:136:23", "stateMutability": "nonpayable", "virtual": true, @@ -1240,7 +1240,7 @@ "body": null, "documentation": null, "functionSelector": "1f432cf5", - "id": 6668, + "id": 6675, "implemented": false, "kind": "function", "modifiers": [], @@ -1248,17 +1248,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6666, + "id": 6673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6661, + "id": 6668, "mutability": "mutable", "name": "_InterestRateModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "748:26:23", "stateVariable": false, "storageLocation": "default", @@ -1267,7 +1267,7 @@ "typeString": "address" }, "typeName": { - "id": 6660, + "id": 6667, "name": "address", "nodeType": "ElementaryTypeName", "src": "748:7:23", @@ -1282,12 +1282,12 @@ }, { "constant": false, - "id": 6663, + "id": 6670, "mutability": "mutable", "name": "_fee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "784:12:23", "stateVariable": false, "storageLocation": "default", @@ -1296,7 +1296,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6662, + "id": 6669, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "784:7:23", @@ -1310,12 +1310,12 @@ }, { "constant": false, - "id": 6665, + "id": 6672, "mutability": "mutable", "name": "_initialExchangeRate", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6668, + "scope": 6675, "src": "806:28:23", "stateVariable": false, "storageLocation": "default", @@ -1324,7 +1324,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6664, + "id": 6671, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "806:7:23", @@ -1340,12 +1340,12 @@ "src": "738:102:23" }, "returnParameters": { - "id": 6667, + "id": 6674, "nodeType": "ParameterList", "parameters": [], "src": "855:0:23" }, - "scope": 6715, + "scope": 6722, "src": "720:136:23", "stateMutability": "nonpayable", "virtual": true, @@ -1355,7 +1355,7 @@ "body": null, "documentation": null, "functionSelector": "4c20ac74", - "id": 6673, + "id": 6680, "implemented": false, "kind": "function", "modifiers": [], @@ -1363,23 +1363,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6669, + "id": 6676, "nodeType": "ParameterList", "parameters": [], "src": "882:2:23" }, "returnParameters": { - "id": 6672, + "id": 6679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6671, + "id": 6678, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6673, + "scope": 6680, "src": "914:7:23", "stateVariable": false, "storageLocation": "default", @@ -1388,7 +1388,7 @@ "typeString": "address" }, "typeName": { - "id": 6670, + "id": 6677, "name": "address", "nodeType": "ElementaryTypeName", "src": "914:7:23", @@ -1404,7 +1404,7 @@ ], "src": "913:9:23" }, - "scope": 6715, + "scope": 6722, "src": "862:61:23", "stateMutability": "view", "virtual": true, @@ -1414,7 +1414,7 @@ "body": null, "documentation": null, "functionSelector": "67612843", - "id": 6680, + "id": 6687, "implemented": false, "kind": "function", "modifiers": [], @@ -1422,17 +1422,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6676, + "id": 6683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6675, + "id": 6682, "mutability": "mutable", "name": "_inQuestion", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6680, + "scope": 6687, "src": "949:19:23", "stateVariable": false, "storageLocation": "default", @@ -1441,7 +1441,7 @@ "typeString": "address" }, "typeName": { - "id": 6674, + "id": 6681, "name": "address", "nodeType": "ElementaryTypeName", "src": "949:7:23", @@ -1458,17 +1458,17 @@ "src": "948:21:23" }, "returnParameters": { - "id": 6679, + "id": 6686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6678, + "id": 6685, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6680, + "scope": 6687, "src": "999:4:23", "stateVariable": false, "storageLocation": "default", @@ -1477,7 +1477,7 @@ "typeString": "bool" }, "typeName": { - "id": 6677, + "id": 6684, "name": "bool", "nodeType": "ElementaryTypeName", "src": "999:4:23", @@ -1492,7 +1492,7 @@ ], "src": "998:6:23" }, - "scope": 6715, + "scope": 6722, "src": "929:76:23", "stateMutability": "view", "virtual": true, @@ -1502,7 +1502,7 @@ "body": null, "documentation": null, "functionSelector": "c6ac1eb9", - "id": 6687, + "id": 6694, "implemented": false, "kind": "function", "modifiers": [], @@ -1510,17 +1510,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6685, + "id": 6692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6682, + "id": 6689, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6687, + "scope": 6694, "src": "1039:16:23", "stateVariable": false, "storageLocation": "default", @@ -1529,7 +1529,7 @@ "typeString": "address" }, "typeName": { - "id": 6681, + "id": 6688, "name": "address", "nodeType": "ElementaryTypeName", "src": "1039:7:23", @@ -1544,12 +1544,12 @@ }, { "constant": false, - "id": 6684, + "id": 6691, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6687, + "scope": 6694, "src": "1057:15:23", "stateVariable": false, "storageLocation": "default", @@ -1558,7 +1558,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6683, + "id": 6690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1057:7:23", @@ -1574,12 +1574,12 @@ "src": "1038:35:23" }, "returnParameters": { - "id": 6686, + "id": 6693, "nodeType": "ParameterList", "parameters": [], "src": "1104:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1011:94:23", "stateMutability": "nonpayable", "virtual": true, @@ -1589,7 +1589,7 @@ "body": null, "documentation": null, "functionSelector": "49ff811e", - "id": 6694, + "id": 6701, "implemented": false, "kind": "function", "modifiers": [], @@ -1597,17 +1597,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6692, + "id": 6699, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6689, + "id": 6696, "mutability": "mutable", "name": "_account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6694, + "scope": 6701, "src": "1137:16:23", "stateVariable": false, "storageLocation": "default", @@ -1616,7 +1616,7 @@ "typeString": "address" }, "typeName": { - "id": 6688, + "id": 6695, "name": "address", "nodeType": "ElementaryTypeName", "src": "1137:7:23", @@ -1631,12 +1631,12 @@ }, { "constant": false, - "id": 6691, + "id": 6698, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6694, + "scope": 6701, "src": "1155:15:23", "stateVariable": false, "storageLocation": "default", @@ -1645,7 +1645,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6690, + "id": 6697, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1155:7:23", @@ -1661,12 +1661,12 @@ "src": "1136:35:23" }, "returnParameters": { - "id": 6693, + "id": 6700, "nodeType": "ParameterList", "parameters": [], "src": "1186:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1111:76:23", "stateMutability": "nonpayable", "virtual": true, @@ -1676,7 +1676,7 @@ "body": null, "documentation": null, "functionSelector": "0a3ed432", - "id": 6699, + "id": 6706, "implemented": false, "kind": "function", "modifiers": [], @@ -1684,17 +1684,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6697, + "id": 6704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6696, + "id": 6703, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6699, + "scope": 6706, "src": "1212:17:23", "stateVariable": false, "storageLocation": "default", @@ -1703,7 +1703,7 @@ "typeString": "address" }, "typeName": { - "id": 6695, + "id": 6702, "name": "address", "nodeType": "ElementaryTypeName", "src": "1212:7:23", @@ -1720,12 +1720,12 @@ "src": "1211:19:23" }, "returnParameters": { - "id": 6698, + "id": 6705, "nodeType": "ParameterList", "parameters": [], "src": "1245:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1193:53:23", "stateMutability": "nonpayable", "virtual": true, @@ -1735,7 +1735,7 @@ "body": null, "documentation": null, "functionSelector": "b451bb2e", - "id": 6704, + "id": 6711, "implemented": false, "kind": "function", "modifiers": [], @@ -1743,17 +1743,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6702, + "id": 6709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6701, + "id": 6708, "mutability": "mutable", "name": "_newModel", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6704, + "scope": 6711, "src": "1271:17:23", "stateVariable": false, "storageLocation": "default", @@ -1762,7 +1762,7 @@ "typeString": "address" }, "typeName": { - "id": 6700, + "id": 6707, "name": "address", "nodeType": "ElementaryTypeName", "src": "1271:7:23", @@ -1779,12 +1779,12 @@ "src": "1270:19:23" }, "returnParameters": { - "id": 6703, + "id": 6710, "nodeType": "ParameterList", "parameters": [], "src": "1304:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1252:53:23", "stateMutability": "nonpayable", "virtual": true, @@ -1794,7 +1794,7 @@ "body": null, "documentation": null, "functionSelector": "1d7bd46e", - "id": 6709, + "id": 6716, "implemented": false, "kind": "function", "modifiers": [], @@ -1802,17 +1802,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6707, + "id": 6714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6706, + "id": 6713, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6709, + "scope": 6716, "src": "1329:11:23", "stateVariable": false, "storageLocation": "default", @@ -1821,7 +1821,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6705, + "id": 6712, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1329:7:23", @@ -1837,12 +1837,12 @@ "src": "1328:13:23" }, "returnParameters": { - "id": 6708, + "id": 6715, "nodeType": "ParameterList", "parameters": [], "src": "1356:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1311:46:23", "stateMutability": "nonpayable", "virtual": true, @@ -1852,7 +1852,7 @@ "body": null, "documentation": null, "functionSelector": "d6b9b5d9", - "id": 6714, + "id": 6721, "implemented": false, "kind": "function", "modifiers": [], @@ -1860,17 +1860,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6712, + "id": 6719, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6711, + "id": 6718, "mutability": "mutable", "name": "_RR", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6714, + "scope": 6721, "src": "1381:11:23", "stateVariable": false, "storageLocation": "default", @@ -1879,7 +1879,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6710, + "id": 6717, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1381:7:23", @@ -1895,19 +1895,19 @@ "src": "1380:13:23" }, "returnParameters": { - "id": 6713, + "id": 6720, "nodeType": "ParameterList", "parameters": [], "src": "1408:0:23" }, - "scope": 6715, + "scope": 6722, "src": "1363:46:23", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 6716, + "scope": 6723, "src": "508:903:23" } ], @@ -1919,7 +1919,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T00:49:13.453Z", + "updatedAt": "2020-12-12T01:13:52.576Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/Ownable.json b/AskoLend-contracts/build/contracts/Ownable.json index 9fdb8462..51bc7cae 100644 --- a/AskoLend-contracts/build/contracts/Ownable.json +++ b/AskoLend-contracts/build/contracts/Ownable.json @@ -59,96 +59,99 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\nimport \"../GSN/Context.sol\";\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\ncontract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor () internal {\n address msgSender = _msgSender();\n _owner = msgSender;\n emit OwnershipTransferred(address(0), msgSender);\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(_owner == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n emit OwnershipTransferred(_owner, address(0));\n _owner = address(0);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n}\n", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../GSN/Context.sol\";\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor () internal {\n address msgSender = _msgSender();\n _owner = msgSender;\n emit OwnershipTransferred(address(0), msgSender);\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(_owner == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n emit OwnershipTransferred(_owner, address(0));\n _owner = address(0);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "exportedSymbols": { "Ownable": [ - 10598 + 10761 ] }, - "id": 10599, + "id": 10762, "nodeType": "SourceUnit", "nodes": [ { - "id": 10491, + "id": 10654, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:38" + "src": "33:31:38" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../GSN/Context.sol", - "id": 10492, + "id": 10655, "nodeType": "ImportDirective", - "scope": 10599, - "sourceUnit": 10490, - "src": "58:28:38", + "scope": 10762, + "sourceUnit": 10653, + "src": "66:28:38", "symbolAliases": [], "unitAlias": "" }, { - "abstract": false, + "abstract": true, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 10494, + "id": 10657, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10489, - "src": "602:7:38", + "referencedDeclaration": 10652, + "src": "619:7:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10495, + "id": 10658, "nodeType": "InheritanceSpecifier", - "src": "602:7:38" + "src": "619:7:38" } ], "contractDependencies": [ - 10489 + 10652 ], "contractKind": "contract", "documentation": { - "id": 10493, + "id": 10656, "nodeType": "StructuredDocumentation", - "src": "87:494:38", + "src": "95:494:38", "text": "@dev Contract module which provides a basic access control mechanism, where\nthere is an account (an owner) that can be granted exclusive access to\nspecific functions.\n * By default, the owner account will be the one that deploys the contract. This\ncan later be changed with {transferOwnership}.\n * This module is used through inheritance. It will make available the modifier\n`onlyOwner`, which can be applied to your functions to restrict their use to\nthe owner." }, "fullyImplemented": true, - "id": 10598, + "id": 10761, "linearizedBaseContracts": [ - 10598, - 10489 + 10761, + 10652 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 10497, + "id": 10660, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10598, - "src": "616:22:38", + "scope": 10761, + "src": "633:22:38", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -156,10 +159,10 @@ "typeString": "address" }, "typeName": { - "id": 10496, + "id": 10659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "616:7:38", + "src": "633:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -172,23 +175,23 @@ { "anonymous": false, "documentation": null, - "id": 10503, + "id": 10666, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 10502, + "id": 10665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10499, + "id": 10662, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10503, - "src": "672:29:38", + "scope": 10666, + "src": "689:29:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196,10 +199,10 @@ "typeString": "address" }, "typeName": { - "id": 10498, + "id": 10661, "name": "address", "nodeType": "ElementaryTypeName", - "src": "672:7:38", + "src": "689:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -211,14 +214,14 @@ }, { "constant": false, - "id": 10501, + "id": 10664, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10503, - "src": "703:24:38", + "scope": 10666, + "src": "720:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226,10 +229,10 @@ "typeString": "address" }, "typeName": { - "id": 10500, + "id": 10663, "name": "address", "nodeType": "ElementaryTypeName", - "src": "703:7:38", + "src": "720:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -240,30 +243,30 @@ "visibility": "internal" } ], - "src": "671:57:38" + "src": "688:57:38" }, - "src": "645:84:38" + "src": "662:84:38" }, { "body": { - "id": 10524, + "id": 10687, "nodeType": "Block", - "src": "855:135:38", + "src": "872:135:38", "statements": [ { "assignments": [ - 10508 + 10671 ], "declarations": [ { "constant": false, - "id": 10508, + "id": 10671, "mutability": "mutable", "name": "msgSender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10524, - "src": "865:17:38", + "scope": 10687, + "src": "882:17:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -271,10 +274,10 @@ "typeString": "address" }, "typeName": { - "id": 10507, + "id": 10670, "name": "address", "nodeType": "ElementaryTypeName", - "src": "865:7:38", + "src": "882:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -285,24 +288,24 @@ "visibility": "internal" } ], - "id": 10511, + "id": 10674, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 10509, + "id": 10672, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "885:10:38", + "referencedDeclaration": 10640, + "src": "902:10:38", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10510, + "id": 10673, "isConstant": false, "isLValue": false, "isPure": false, @@ -310,7 +313,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "885:12:38", + "src": "902:12:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -318,24 +321,24 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "865:32:38" + "src": "882:32:38" }, { "expression": { "argumentTypes": null, - "id": 10514, + "id": 10677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10512, + "id": 10675, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "907:6:38", + "referencedDeclaration": 10660, + "src": "924:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -345,26 +348,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10513, + "id": 10676, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10508, - "src": "916:9:38", + "referencedDeclaration": 10671, + "src": "933:9:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "907:18:38", + "src": "924:18:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10515, + "id": 10678, "nodeType": "ExpressionStatement", - "src": "907:18:38" + "src": "924:18:38" }, { "eventCall": { @@ -376,14 +379,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10519, + "id": 10682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "969:1:38", + "src": "986:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -399,29 +402,29 @@ "typeString": "int_const 0" } ], - "id": 10518, + "id": 10681, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "961:7:38", + "src": "978:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10517, + "id": 10680, "name": "address", "nodeType": "ElementaryTypeName", - "src": "961:7:38", + "src": "978:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10520, + "id": 10683, "isConstant": false, "isLValue": false, "isPure": true, @@ -429,7 +432,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "961:10:38", + "src": "978:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -438,12 +441,12 @@ }, { "argumentTypes": null, - "id": 10521, + "id": 10684, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10508, - "src": "973:9:38", + "referencedDeclaration": 10671, + "src": "990:9:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -461,18 +464,18 @@ "typeString": "address" } ], - "id": 10516, + "id": 10679, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "940:20:38", + "referencedDeclaration": 10666, + "src": "957:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10522, + "id": 10685, "isConstant": false, "isLValue": false, "isPure": false, @@ -480,26 +483,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "940:43:38", + "src": "957:43:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10523, + "id": 10686, "nodeType": "EmitStatement", - "src": "935:48:38" + "src": "952:48:38" } ] }, "documentation": { - "id": 10504, + "id": 10667, "nodeType": "StructuredDocumentation", - "src": "735:91:38", + "src": "752:91:38", "text": "@dev Initializes the contract setting the deployer as the initial owner." }, - "id": 10525, + "id": 10688, "implemented": true, "kind": "constructor", "modifiers": [], @@ -507,58 +510,58 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10505, + "id": 10668, "nodeType": "ParameterList", "parameters": [], - "src": "843:2:38" + "src": "860:2:38" }, "returnParameters": { - "id": 10506, + "id": 10669, "nodeType": "ParameterList", "parameters": [], - "src": "855:0:38" + "src": "872:0:38" }, - "scope": 10598, - "src": "831:159:38", + "scope": 10761, + "src": "848:159:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10533, + "id": 10696, "nodeType": "Block", - "src": "1113:30:38", + "src": "1130:30:38", "statements": [ { "expression": { "argumentTypes": null, - "id": 10531, + "id": 10694, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1130:6:38", + "referencedDeclaration": 10660, + "src": "1147:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 10530, - "id": 10532, + "functionReturnParameters": 10693, + "id": 10695, "nodeType": "Return", - "src": "1123:13:38" + "src": "1140:13:38" } ] }, "documentation": { - "id": 10526, + "id": 10689, "nodeType": "StructuredDocumentation", - "src": "996:65:38", + "src": "1013:65:38", "text": "@dev Returns the address of the current owner." }, "functionSelector": "8da5cb5b", - "id": 10534, + "id": 10697, "implemented": true, "kind": "function", "modifiers": [], @@ -566,24 +569,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10527, + "id": 10690, "nodeType": "ParameterList", "parameters": [], - "src": "1080:2:38" + "src": "1097:2:38" }, "returnParameters": { - "id": 10530, + "id": 10693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10529, + "id": 10692, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10534, - "src": "1104:7:38", + "scope": 10697, + "src": "1121:7:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -591,10 +594,10 @@ "typeString": "address" }, "typeName": { - "id": 10528, + "id": 10691, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1104:7:38", + "src": "1121:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -605,19 +608,19 @@ "visibility": "internal" } ], - "src": "1103:9:38" + "src": "1120:9:38" }, - "scope": 10598, - "src": "1066:77:38", + "scope": 10761, + "src": "1083:77:38", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10546, + "id": 10709, "nodeType": "Block", - "src": "1252:95:38", + "src": "1269:95:38", "statements": [ { "expression": { @@ -629,19 +632,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10541, + "id": 10704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10538, + "id": 10701, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1270:6:38", + "referencedDeclaration": 10660, + "src": "1287:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -654,18 +657,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10539, + "id": 10702, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "1280:10:38", + "referencedDeclaration": 10640, + "src": "1297:10:38", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10540, + "id": 10703, "isConstant": false, "isLValue": false, "isPure": false, @@ -673,14 +676,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1280:12:38", + "src": "1297:12:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1270:22:38", + "src": "1287:22:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -689,14 +692,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 10542, + "id": 10705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1294:34:38", + "src": "1311:34:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", @@ -716,7 +719,7 @@ "typeString": "literal_string \"Ownable: caller is not the owner\"" } ], - "id": 10537, + "id": 10700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -724,13 +727,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1262:7:38", + "src": "1279:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10543, + "id": 10706, "isConstant": false, "isLValue": false, "isPure": false, @@ -738,49 +741,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1262:67:38", + "src": "1279:67:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10544, + "id": 10707, "nodeType": "ExpressionStatement", - "src": "1262:67:38" + "src": "1279:67:38" }, { - "id": 10545, + "id": 10708, "nodeType": "PlaceholderStatement", - "src": "1339:1:38" + "src": "1356:1:38" } ] }, "documentation": { - "id": 10535, + "id": 10698, "nodeType": "StructuredDocumentation", - "src": "1149:77:38", + "src": "1166:77:38", "text": "@dev Throws if called by any account other than the owner." }, - "id": 10547, + "id": 10710, "name": "onlyOwner", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 10536, + "id": 10699, "nodeType": "ParameterList", "parameters": [], - "src": "1249:2:38" + "src": "1266:2:38" }, - "src": "1231:116:38", + "src": "1248:116:38", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10568, + "id": 10731, "nodeType": "Block", - "src": "1743:91:38", + "src": "1760:91:38", "statements": [ { "eventCall": { @@ -788,12 +791,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10554, + "id": 10717, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1779:6:38", + "referencedDeclaration": 10660, + "src": "1796:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -805,14 +808,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10557, + "id": 10720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1795:1:38", + "src": "1812:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -828,29 +831,29 @@ "typeString": "int_const 0" } ], - "id": 10556, + "id": 10719, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1787:7:38", + "src": "1804:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10555, + "id": 10718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1787:7:38", + "src": "1804:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10558, + "id": 10721, "isConstant": false, "isLValue": false, "isPure": true, @@ -858,7 +861,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1787:10:38", + "src": "1804:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -877,18 +880,18 @@ "typeString": "address payable" } ], - "id": 10553, + "id": 10716, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "1758:20:38", + "referencedDeclaration": 10666, + "src": "1775:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10559, + "id": 10722, "isConstant": false, "isLValue": false, "isPure": false, @@ -896,33 +899,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1758:40:38", + "src": "1775:40:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10560, + "id": 10723, "nodeType": "EmitStatement", - "src": "1753:45:38" + "src": "1770:45:38" }, { "expression": { "argumentTypes": null, - "id": 10566, + "id": 10729, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10561, + "id": 10724, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1808:6:38", + "referencedDeclaration": 10660, + "src": "1825:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -936,14 +939,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10564, + "id": 10727, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1825:1:38", + "src": "1842:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -959,29 +962,29 @@ "typeString": "int_const 0" } ], - "id": 10563, + "id": 10726, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1817:7:38", + "src": "1834:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10562, + "id": 10725, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1817:7:38", + "src": "1834:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10565, + "id": 10728, "isConstant": false, "isLValue": false, "isPure": true, @@ -989,82 +992,82 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1817:10:38", + "src": "1834:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1808:19:38", + "src": "1825:19:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10567, + "id": 10730, "nodeType": "ExpressionStatement", - "src": "1808:19:38" + "src": "1825:19:38" } ] }, "documentation": { - "id": 10548, + "id": 10711, "nodeType": "StructuredDocumentation", - "src": "1353:331:38", + "src": "1370:331:38", "text": "@dev Leaves the contract without owner. It will not be possible to call\n`onlyOwner` functions anymore. Can only be called by the current owner.\n * NOTE: Renouncing ownership will leave the contract without an owner,\nthereby removing any functionality that is only available to the owner." }, "functionSelector": "715018a6", - "id": 10569, + "id": 10732, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 10551, + "id": 10714, "modifierName": { "argumentTypes": null, - "id": 10550, + "id": 10713, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, - "src": "1733:9:38", + "referencedDeclaration": 10710, + "src": "1750:9:38", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1733:9:38" + "src": "1750:9:38" } ], "name": "renounceOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10549, + "id": 10712, "nodeType": "ParameterList", "parameters": [], - "src": "1715:2:38" + "src": "1732:2:38" }, "returnParameters": { - "id": 10552, + "id": 10715, "nodeType": "ParameterList", "parameters": [], - "src": "1743:0:38" + "src": "1760:0:38" }, - "scope": 10598, - "src": "1689:145:38", + "scope": 10761, + "src": "1706:145:38", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 10596, + "id": 10759, "nodeType": "Block", - "src": "2053:170:38", + "src": "2070:170:38", "statements": [ { "expression": { @@ -1076,19 +1079,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10583, + "id": 10746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10578, + "id": 10741, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2071:8:38", + "referencedDeclaration": 10735, + "src": "2088:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1102,14 +1105,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10581, + "id": 10744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2091:1:38", + "src": "2108:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1125,29 +1128,29 @@ "typeString": "int_const 0" } ], - "id": 10580, + "id": 10743, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2083:7:38", + "src": "2100:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10579, + "id": 10742, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2083:7:38", + "src": "2100:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10582, + "id": 10745, "isConstant": false, "isLValue": false, "isPure": true, @@ -1155,14 +1158,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2083:10:38", + "src": "2100:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2071:22:38", + "src": "2088:22:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1171,14 +1174,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 10584, + "id": 10747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2095:40:38", + "src": "2112:40:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", @@ -1198,7 +1201,7 @@ "typeString": "literal_string \"Ownable: new owner is the zero address\"" } ], - "id": 10577, + "id": 10740, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1206,13 +1209,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2063:7:38", + "src": "2080:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10585, + "id": 10748, "isConstant": false, "isLValue": false, "isPure": false, @@ -1220,16 +1223,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2063:73:38", + "src": "2080:73:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10586, + "id": 10749, "nodeType": "ExpressionStatement", - "src": "2063:73:38" + "src": "2080:73:38" }, { "eventCall": { @@ -1237,12 +1240,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10588, + "id": 10751, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "2172:6:38", + "referencedDeclaration": 10660, + "src": "2189:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1250,12 +1253,12 @@ }, { "argumentTypes": null, - "id": 10589, + "id": 10752, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2180:8:38", + "referencedDeclaration": 10735, + "src": "2197:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1273,18 +1276,18 @@ "typeString": "address" } ], - "id": 10587, + "id": 10750, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "2151:20:38", + "referencedDeclaration": 10666, + "src": "2168:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10590, + "id": 10753, "isConstant": false, "isLValue": false, "isPure": false, @@ -1292,33 +1295,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2151:38:38", + "src": "2168:38:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10591, + "id": 10754, "nodeType": "EmitStatement", - "src": "2146:43:38" + "src": "2163:43:38" }, { "expression": { "argumentTypes": null, - "id": 10594, + "id": 10757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10592, + "id": 10755, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "2199:6:38", + "referencedDeclaration": 10660, + "src": "2216:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1328,76 +1331,76 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10593, + "id": 10756, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2208:8:38", + "referencedDeclaration": 10735, + "src": "2225:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2199:17:38", + "src": "2216:17:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10595, + "id": 10758, "nodeType": "ExpressionStatement", - "src": "2199:17:38" + "src": "2216:17:38" } ] }, "documentation": { - "id": 10570, + "id": 10733, "nodeType": "StructuredDocumentation", - "src": "1840:138:38", + "src": "1857:138:38", "text": "@dev Transfers ownership of the contract to a new account (`newOwner`).\nCan only be called by the current owner." }, "functionSelector": "f2fde38b", - "id": 10597, + "id": 10760, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 10575, + "id": 10738, "modifierName": { "argumentTypes": null, - "id": 10574, + "id": 10737, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, - "src": "2043:9:38", + "referencedDeclaration": 10710, + "src": "2060:9:38", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2043:9:38" + "src": "2060:9:38" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10573, + "id": 10736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10572, + "id": 10735, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10597, - "src": "2010:16:38", + "scope": 10760, + "src": "2027:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1405,10 +1408,10 @@ "typeString": "address" }, "typeName": { - "id": 10571, + "id": 10734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2010:7:38", + "src": "2027:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1419,109 +1422,112 @@ "visibility": "internal" } ], - "src": "2009:18:38" + "src": "2026:18:38" }, "returnParameters": { - "id": 10576, + "id": 10739, "nodeType": "ParameterList", "parameters": [], - "src": "2053:0:38" + "src": "2070:0:38" }, - "scope": 10598, - "src": "1983:240:38", + "scope": 10761, + "src": "2000:240:38", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 10599, - "src": "582:1643:38" + "scope": 10762, + "src": "590:1652:38" } ], - "src": "33:2193:38" + "src": "33:2210:38" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "exportedSymbols": { "Ownable": [ - 10598 + 10761 ] }, - "id": 10599, + "id": 10762, "nodeType": "SourceUnit", "nodes": [ { - "id": 10491, + "id": 10654, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:38" + "src": "33:31:38" }, { "absolutePath": "openzeppelin-solidity/contracts/GSN/Context.sol", "file": "../GSN/Context.sol", - "id": 10492, + "id": 10655, "nodeType": "ImportDirective", - "scope": 10599, - "sourceUnit": 10490, - "src": "58:28:38", + "scope": 10762, + "sourceUnit": 10653, + "src": "66:28:38", "symbolAliases": [], "unitAlias": "" }, { - "abstract": false, + "abstract": true, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, - "id": 10494, + "id": 10657, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10489, - "src": "602:7:38", + "referencedDeclaration": 10652, + "src": "619:7:38", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$10489", + "typeIdentifier": "t_contract$_Context_$10652", "typeString": "contract Context" } }, - "id": 10495, + "id": 10658, "nodeType": "InheritanceSpecifier", - "src": "602:7:38" + "src": "619:7:38" } ], "contractDependencies": [ - 10489 + 10652 ], "contractKind": "contract", "documentation": { - "id": 10493, + "id": 10656, "nodeType": "StructuredDocumentation", - "src": "87:494:38", + "src": "95:494:38", "text": "@dev Contract module which provides a basic access control mechanism, where\nthere is an account (an owner) that can be granted exclusive access to\nspecific functions.\n * By default, the owner account will be the one that deploys the contract. This\ncan later be changed with {transferOwnership}.\n * This module is used through inheritance. It will make available the modifier\n`onlyOwner`, which can be applied to your functions to restrict their use to\nthe owner." }, "fullyImplemented": true, - "id": 10598, + "id": 10761, "linearizedBaseContracts": [ - 10598, - 10489 + 10761, + 10652 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 10497, + "id": 10660, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10598, - "src": "616:22:38", + "scope": 10761, + "src": "633:22:38", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1529,10 +1535,10 @@ "typeString": "address" }, "typeName": { - "id": 10496, + "id": 10659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "616:7:38", + "src": "633:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1545,23 +1551,23 @@ { "anonymous": false, "documentation": null, - "id": 10503, + "id": 10666, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 10502, + "id": 10665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10499, + "id": 10662, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10503, - "src": "672:29:38", + "scope": 10666, + "src": "689:29:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1569,10 +1575,10 @@ "typeString": "address" }, "typeName": { - "id": 10498, + "id": 10661, "name": "address", "nodeType": "ElementaryTypeName", - "src": "672:7:38", + "src": "689:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1584,14 +1590,14 @@ }, { "constant": false, - "id": 10501, + "id": 10664, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10503, - "src": "703:24:38", + "scope": 10666, + "src": "720:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1599,10 +1605,10 @@ "typeString": "address" }, "typeName": { - "id": 10500, + "id": 10663, "name": "address", "nodeType": "ElementaryTypeName", - "src": "703:7:38", + "src": "720:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1613,30 +1619,30 @@ "visibility": "internal" } ], - "src": "671:57:38" + "src": "688:57:38" }, - "src": "645:84:38" + "src": "662:84:38" }, { "body": { - "id": 10524, + "id": 10687, "nodeType": "Block", - "src": "855:135:38", + "src": "872:135:38", "statements": [ { "assignments": [ - 10508 + 10671 ], "declarations": [ { "constant": false, - "id": 10508, + "id": 10671, "mutability": "mutable", "name": "msgSender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10524, - "src": "865:17:38", + "scope": 10687, + "src": "882:17:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1644,10 +1650,10 @@ "typeString": "address" }, "typeName": { - "id": 10507, + "id": 10670, "name": "address", "nodeType": "ElementaryTypeName", - "src": "865:7:38", + "src": "882:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1658,24 +1664,24 @@ "visibility": "internal" } ], - "id": 10511, + "id": 10674, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 10509, + "id": 10672, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "885:10:38", + "referencedDeclaration": 10640, + "src": "902:10:38", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10510, + "id": 10673, "isConstant": false, "isLValue": false, "isPure": false, @@ -1683,7 +1689,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "885:12:38", + "src": "902:12:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1691,24 +1697,24 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "865:32:38" + "src": "882:32:38" }, { "expression": { "argumentTypes": null, - "id": 10514, + "id": 10677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10512, + "id": 10675, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "907:6:38", + "referencedDeclaration": 10660, + "src": "924:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1718,26 +1724,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10513, + "id": 10676, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10508, - "src": "916:9:38", + "referencedDeclaration": 10671, + "src": "933:9:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "907:18:38", + "src": "924:18:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10515, + "id": 10678, "nodeType": "ExpressionStatement", - "src": "907:18:38" + "src": "924:18:38" }, { "eventCall": { @@ -1749,14 +1755,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10519, + "id": 10682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "969:1:38", + "src": "986:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1772,29 +1778,29 @@ "typeString": "int_const 0" } ], - "id": 10518, + "id": 10681, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "961:7:38", + "src": "978:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10517, + "id": 10680, "name": "address", "nodeType": "ElementaryTypeName", - "src": "961:7:38", + "src": "978:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10520, + "id": 10683, "isConstant": false, "isLValue": false, "isPure": true, @@ -1802,7 +1808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "961:10:38", + "src": "978:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1811,12 +1817,12 @@ }, { "argumentTypes": null, - "id": 10521, + "id": 10684, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10508, - "src": "973:9:38", + "referencedDeclaration": 10671, + "src": "990:9:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1834,18 +1840,18 @@ "typeString": "address" } ], - "id": 10516, + "id": 10679, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "940:20:38", + "referencedDeclaration": 10666, + "src": "957:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10522, + "id": 10685, "isConstant": false, "isLValue": false, "isPure": false, @@ -1853,26 +1859,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "940:43:38", + "src": "957:43:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10523, + "id": 10686, "nodeType": "EmitStatement", - "src": "935:48:38" + "src": "952:48:38" } ] }, "documentation": { - "id": 10504, + "id": 10667, "nodeType": "StructuredDocumentation", - "src": "735:91:38", + "src": "752:91:38", "text": "@dev Initializes the contract setting the deployer as the initial owner." }, - "id": 10525, + "id": 10688, "implemented": true, "kind": "constructor", "modifiers": [], @@ -1880,58 +1886,58 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10505, + "id": 10668, "nodeType": "ParameterList", "parameters": [], - "src": "843:2:38" + "src": "860:2:38" }, "returnParameters": { - "id": 10506, + "id": 10669, "nodeType": "ParameterList", "parameters": [], - "src": "855:0:38" + "src": "872:0:38" }, - "scope": 10598, - "src": "831:159:38", + "scope": 10761, + "src": "848:159:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10533, + "id": 10696, "nodeType": "Block", - "src": "1113:30:38", + "src": "1130:30:38", "statements": [ { "expression": { "argumentTypes": null, - "id": 10531, + "id": 10694, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1130:6:38", + "referencedDeclaration": 10660, + "src": "1147:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 10530, - "id": 10532, + "functionReturnParameters": 10693, + "id": 10695, "nodeType": "Return", - "src": "1123:13:38" + "src": "1140:13:38" } ] }, "documentation": { - "id": 10526, + "id": 10689, "nodeType": "StructuredDocumentation", - "src": "996:65:38", + "src": "1013:65:38", "text": "@dev Returns the address of the current owner." }, "functionSelector": "8da5cb5b", - "id": 10534, + "id": 10697, "implemented": true, "kind": "function", "modifiers": [], @@ -1939,24 +1945,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10527, + "id": 10690, "nodeType": "ParameterList", "parameters": [], - "src": "1080:2:38" + "src": "1097:2:38" }, "returnParameters": { - "id": 10530, + "id": 10693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10529, + "id": 10692, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10534, - "src": "1104:7:38", + "scope": 10697, + "src": "1121:7:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1964,10 +1970,10 @@ "typeString": "address" }, "typeName": { - "id": 10528, + "id": 10691, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1104:7:38", + "src": "1121:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1978,19 +1984,19 @@ "visibility": "internal" } ], - "src": "1103:9:38" + "src": "1120:9:38" }, - "scope": 10598, - "src": "1066:77:38", + "scope": 10761, + "src": "1083:77:38", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 10546, + "id": 10709, "nodeType": "Block", - "src": "1252:95:38", + "src": "1269:95:38", "statements": [ { "expression": { @@ -2002,19 +2008,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10541, + "id": 10704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10538, + "id": 10701, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1270:6:38", + "referencedDeclaration": 10660, + "src": "1287:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2027,18 +2033,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10539, + "id": 10702, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "1280:10:38", + "referencedDeclaration": 10640, + "src": "1297:10:38", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 10540, + "id": 10703, "isConstant": false, "isLValue": false, "isPure": false, @@ -2046,14 +2052,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1280:12:38", + "src": "1297:12:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1270:22:38", + "src": "1287:22:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2062,14 +2068,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 10542, + "id": 10705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1294:34:38", + "src": "1311:34:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", @@ -2089,7 +2095,7 @@ "typeString": "literal_string \"Ownable: caller is not the owner\"" } ], - "id": 10537, + "id": 10700, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2097,13 +2103,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1262:7:38", + "src": "1279:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10543, + "id": 10706, "isConstant": false, "isLValue": false, "isPure": false, @@ -2111,49 +2117,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1262:67:38", + "src": "1279:67:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10544, + "id": 10707, "nodeType": "ExpressionStatement", - "src": "1262:67:38" + "src": "1279:67:38" }, { - "id": 10545, + "id": 10708, "nodeType": "PlaceholderStatement", - "src": "1339:1:38" + "src": "1356:1:38" } ] }, "documentation": { - "id": 10535, + "id": 10698, "nodeType": "StructuredDocumentation", - "src": "1149:77:38", + "src": "1166:77:38", "text": "@dev Throws if called by any account other than the owner." }, - "id": 10547, + "id": 10710, "name": "onlyOwner", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 10536, + "id": 10699, "nodeType": "ParameterList", "parameters": [], - "src": "1249:2:38" + "src": "1266:2:38" }, - "src": "1231:116:38", + "src": "1248:116:38", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10568, + "id": 10731, "nodeType": "Block", - "src": "1743:91:38", + "src": "1760:91:38", "statements": [ { "eventCall": { @@ -2161,12 +2167,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10554, + "id": 10717, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1779:6:38", + "referencedDeclaration": 10660, + "src": "1796:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2178,14 +2184,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10557, + "id": 10720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1795:1:38", + "src": "1812:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2201,29 +2207,29 @@ "typeString": "int_const 0" } ], - "id": 10556, + "id": 10719, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1787:7:38", + "src": "1804:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10555, + "id": 10718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1787:7:38", + "src": "1804:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10558, + "id": 10721, "isConstant": false, "isLValue": false, "isPure": true, @@ -2231,7 +2237,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1787:10:38", + "src": "1804:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2250,18 +2256,18 @@ "typeString": "address payable" } ], - "id": 10553, + "id": 10716, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "1758:20:38", + "referencedDeclaration": 10666, + "src": "1775:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10559, + "id": 10722, "isConstant": false, "isLValue": false, "isPure": false, @@ -2269,33 +2275,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1758:40:38", + "src": "1775:40:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10560, + "id": 10723, "nodeType": "EmitStatement", - "src": "1753:45:38" + "src": "1770:45:38" }, { "expression": { "argumentTypes": null, - "id": 10566, + "id": 10729, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10561, + "id": 10724, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "1808:6:38", + "referencedDeclaration": 10660, + "src": "1825:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2309,14 +2315,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10564, + "id": 10727, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1825:1:38", + "src": "1842:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2332,29 +2338,29 @@ "typeString": "int_const 0" } ], - "id": 10563, + "id": 10726, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1817:7:38", + "src": "1834:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10562, + "id": 10725, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1817:7:38", + "src": "1834:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10565, + "id": 10728, "isConstant": false, "isLValue": false, "isPure": true, @@ -2362,82 +2368,82 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1817:10:38", + "src": "1834:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "1808:19:38", + "src": "1825:19:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10567, + "id": 10730, "nodeType": "ExpressionStatement", - "src": "1808:19:38" + "src": "1825:19:38" } ] }, "documentation": { - "id": 10548, + "id": 10711, "nodeType": "StructuredDocumentation", - "src": "1353:331:38", + "src": "1370:331:38", "text": "@dev Leaves the contract without owner. It will not be possible to call\n`onlyOwner` functions anymore. Can only be called by the current owner.\n * NOTE: Renouncing ownership will leave the contract without an owner,\nthereby removing any functionality that is only available to the owner." }, "functionSelector": "715018a6", - "id": 10569, + "id": 10732, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 10551, + "id": 10714, "modifierName": { "argumentTypes": null, - "id": 10550, + "id": 10713, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, - "src": "1733:9:38", + "referencedDeclaration": 10710, + "src": "1750:9:38", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1733:9:38" + "src": "1750:9:38" } ], "name": "renounceOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10549, + "id": 10712, "nodeType": "ParameterList", "parameters": [], - "src": "1715:2:38" + "src": "1732:2:38" }, "returnParameters": { - "id": 10552, + "id": 10715, "nodeType": "ParameterList", "parameters": [], - "src": "1743:0:38" + "src": "1760:0:38" }, - "scope": 10598, - "src": "1689:145:38", + "scope": 10761, + "src": "1706:145:38", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 10596, + "id": 10759, "nodeType": "Block", - "src": "2053:170:38", + "src": "2070:170:38", "statements": [ { "expression": { @@ -2449,19 +2455,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10583, + "id": 10746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10578, + "id": 10741, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2071:8:38", + "referencedDeclaration": 10735, + "src": "2088:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2475,14 +2481,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 10581, + "id": 10744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2091:1:38", + "src": "2108:1:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2498,29 +2504,29 @@ "typeString": "int_const 0" } ], - "id": 10580, + "id": 10743, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2083:7:38", + "src": "2100:7:38", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 10579, + "id": 10742, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2083:7:38", + "src": "2100:7:38", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 10582, + "id": 10745, "isConstant": false, "isLValue": false, "isPure": true, @@ -2528,14 +2534,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2083:10:38", + "src": "2100:10:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2071:22:38", + "src": "2088:22:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2544,14 +2550,14 @@ { "argumentTypes": null, "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 10584, + "id": 10747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2095:40:38", + "src": "2112:40:38", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", @@ -2571,7 +2577,7 @@ "typeString": "literal_string \"Ownable: new owner is the zero address\"" } ], - "id": 10577, + "id": 10740, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2579,13 +2585,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2063:7:38", + "src": "2080:7:38", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10585, + "id": 10748, "isConstant": false, "isLValue": false, "isPure": false, @@ -2593,16 +2599,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2063:73:38", + "src": "2080:73:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10586, + "id": 10749, "nodeType": "ExpressionStatement", - "src": "2063:73:38" + "src": "2080:73:38" }, { "eventCall": { @@ -2610,12 +2616,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10588, + "id": 10751, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "2172:6:38", + "referencedDeclaration": 10660, + "src": "2189:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2623,12 +2629,12 @@ }, { "argumentTypes": null, - "id": 10589, + "id": 10752, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2180:8:38", + "referencedDeclaration": 10735, + "src": "2197:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2646,18 +2652,18 @@ "typeString": "address" } ], - "id": 10587, + "id": 10750, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10503, - "src": "2151:20:38", + "referencedDeclaration": 10666, + "src": "2168:20:38", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 10590, + "id": 10753, "isConstant": false, "isLValue": false, "isPure": false, @@ -2665,33 +2671,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2151:38:38", + "src": "2168:38:38", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10591, + "id": 10754, "nodeType": "EmitStatement", - "src": "2146:43:38" + "src": "2163:43:38" }, { "expression": { "argumentTypes": null, - "id": 10594, + "id": 10757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10592, + "id": 10755, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10497, - "src": "2199:6:38", + "referencedDeclaration": 10660, + "src": "2216:6:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2701,76 +2707,76 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10593, + "id": 10756, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10572, - "src": "2208:8:38", + "referencedDeclaration": 10735, + "src": "2225:8:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2199:17:38", + "src": "2216:17:38", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10595, + "id": 10758, "nodeType": "ExpressionStatement", - "src": "2199:17:38" + "src": "2216:17:38" } ] }, "documentation": { - "id": 10570, + "id": 10733, "nodeType": "StructuredDocumentation", - "src": "1840:138:38", + "src": "1857:138:38", "text": "@dev Transfers ownership of the contract to a new account (`newOwner`).\nCan only be called by the current owner." }, "functionSelector": "f2fde38b", - "id": 10597, + "id": 10760, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 10575, + "id": 10738, "modifierName": { "argumentTypes": null, - "id": 10574, + "id": 10737, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, - "src": "2043:9:38", + "referencedDeclaration": 10710, + "src": "2060:9:38", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2043:9:38" + "src": "2060:9:38" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10573, + "id": 10736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10572, + "id": 10735, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10597, - "src": "2010:16:38", + "scope": 10760, + "src": "2027:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2778,10 +2784,10 @@ "typeString": "address" }, "typeName": { - "id": 10571, + "id": 10734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2010:7:38", + "src": "2027:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2792,26 +2798,26 @@ "visibility": "internal" } ], - "src": "2009:18:38" + "src": "2026:18:38" }, "returnParameters": { - "id": 10576, + "id": 10739, "nodeType": "ParameterList", "parameters": [], - "src": "2053:0:38" + "src": "2070:0:38" }, - "scope": 10598, - "src": "1983:240:38", + "scope": 10761, + "src": "2000:240:38", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 10599, - "src": "582:1643:38" + "scope": 10762, + "src": "590:1652:38" } ], - "src": "33:2193:38" + "src": "33:2210:38" }, "compiler": { "name": "solc", @@ -2819,7 +2825,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.136Z", + "updatedAt": "2020-12-12T01:13:52.731Z", "devdoc": { "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", "methods": { diff --git a/AskoLend-contracts/build/contracts/SafeMath.json b/AskoLend-contracts/build/contracts/SafeMath.json index 62e997e5..923eb801 100644 --- a/AskoLend-contracts/build/contracts/SafeMath.json +++ b/AskoLend-contracts/build/contracts/SafeMath.json @@ -1,34 +1,37 @@ { "contractName": "SafeMath", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f64c6a386ca2e3fa687d4d839e76a1f03802d6639ea835c453239795d3df10364736f6c63430006060033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f64c6a386ca2e3fa687d4d839e76a1f03802d6639ea835c453239795d3df10364736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x3b21f2c8d626de3b9925ae33e972d8bf5c8b1bffb3f4ee94daeed7d0679036e6\",\"urls\":[\"bzz-raw://7f8d45329fecbf0836ad7543330c3ecd0f8d0ffa42d4016278c3eb2215fdcdfe\",\"dweb:/ipfs/QmXWLT7GcnHtA5NiD6MFi2CV3EWJY4wv5mLNnypqYDrxL3\"]}},\"version\":1}", + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011d7c10f497870425f640dcca38d97a109d091a7c8eecf1a5e3dfb399975410f64736f6c63430006060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011d7c10f497870425f640dcca38d97a109d091a7c8eecf1a5e3dfb399975410f64736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "622:4578:39:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "622:4578:39:-:0;;;;;;12:1:-1;9;2:12", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction overflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n", + "sourceMap": "630:4578:39:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "630:4578:39:-:0;;;;;;12:1:-1;9;2:12", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction overflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 10794 + 10957 ] }, - "id": 10795, + "id": 10958, "nodeType": "SourceUnit", "nodes": [ { - "id": 10600, + "id": 10763, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:39" + "src": "33:31:39" }, { "abstract": false, @@ -36,39 +39,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 10601, + "id": 10764, "nodeType": "StructuredDocumentation", - "src": "58:563:39", + "src": "66:563:39", "text": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always." }, "fullyImplemented": true, - "id": 10794, + "id": 10957, "linearizedBaseContracts": [ - 10794 + 10957 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 10626, + "id": 10789, "nodeType": "Block", - "src": "941:109:39", + "src": "949:109:39", "statements": [ { "assignments": [ - 10612 + 10775 ], "declarations": [ { "constant": false, - "id": 10612, + "id": 10775, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10626, - "src": "951:9:39", + "scope": 10789, + "src": "959:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -76,10 +79,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10611, + "id": 10774, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "951:7:39", + "src": "959:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -89,26 +92,26 @@ "visibility": "internal" } ], - "id": 10616, + "id": 10779, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10615, + "id": 10778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10613, + "id": 10776, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10604, - "src": "963:1:39", + "referencedDeclaration": 10767, + "src": "971:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -118,25 +121,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 10614, + "id": 10777, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10606, - "src": "967:1:39", + "referencedDeclaration": 10769, + "src": "975:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "963:5:39", + "src": "971:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "951:17:39" + "src": "959:17:39" }, { "expression": { @@ -148,19 +151,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10620, + "id": 10783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10618, + "id": 10781, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10612, - "src": "986:1:39", + "referencedDeclaration": 10775, + "src": "994:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -170,18 +173,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 10619, + "id": 10782, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10604, - "src": "991:1:39", + "referencedDeclaration": 10767, + "src": "999:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "986:6:39", + "src": "994:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -190,14 +193,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 10621, + "id": 10784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "994:29:39", + "src": "1002:29:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -217,7 +220,7 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 10617, + "id": 10780, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -225,13 +228,13 @@ -18 ], "referencedDeclaration": -18, - "src": "978:7:39", + "src": "986:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10622, + "id": 10785, "isConstant": false, "isLValue": false, "isPure": false, @@ -239,45 +242,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "978:46:39", + "src": "986:46:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10623, + "id": 10786, "nodeType": "ExpressionStatement", - "src": "978:46:39" + "src": "986:46:39" }, { "expression": { "argumentTypes": null, - "id": 10624, + "id": 10787, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10612, - "src": "1042:1:39", + "referencedDeclaration": 10775, + "src": "1050:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10610, - "id": 10625, + "functionReturnParameters": 10773, + "id": 10788, "nodeType": "Return", - "src": "1035:8:39" + "src": "1043:8:39" } ] }, "documentation": { - "id": 10602, + "id": 10765, "nodeType": "StructuredDocumentation", - "src": "645:224:39", + "src": "653:224:39", "text": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n * - Addition cannot overflow." }, - "id": 10627, + "id": 10790, "implemented": true, "kind": "function", "modifiers": [], @@ -285,18 +288,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10607, + "id": 10770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10604, + "id": 10767, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "887:9:39", + "scope": 10790, + "src": "895:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -304,10 +307,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10603, + "id": 10766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "887:7:39", + "src": "895:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -318,13 +321,13 @@ }, { "constant": false, - "id": 10606, + "id": 10769, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "898:9:39", + "scope": 10790, + "src": "906:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -332,10 +335,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10605, + "id": 10768, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "898:7:39", + "src": "906:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -345,21 +348,21 @@ "visibility": "internal" } ], - "src": "886:22:39" + "src": "894:22:39" }, "returnParameters": { - "id": 10610, + "id": 10773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10609, + "id": 10772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "932:7:39", + "scope": 10790, + "src": "940:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -367,10 +370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10608, + "id": 10771, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:39", + "src": "940:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -380,19 +383,19 @@ "visibility": "internal" } ], - "src": "931:9:39" + "src": "939:9:39" }, - "scope": 10794, - "src": "874:176:39", + "scope": 10957, + "src": "882:176:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10643, + "id": 10806, "nodeType": "Block", - "src": "1388:67:39", + "src": "1396:67:39", "statements": [ { "expression": { @@ -400,12 +403,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10638, + "id": 10801, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10630, - "src": "1409:1:39", + "referencedDeclaration": 10793, + "src": "1417:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -413,12 +416,12 @@ }, { "argumentTypes": null, - "id": 10639, + "id": 10802, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10632, - "src": "1412:1:39", + "referencedDeclaration": 10795, + "src": "1420:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -427,14 +430,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 10640, + "id": 10803, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1415:32:39", + "src": "1423:32:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -458,21 +461,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 10637, + "id": 10800, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 10644, - 10672 + 10807, + 10835 ], - "referencedDeclaration": 10672, - "src": "1405:3:39", + "referencedDeclaration": 10835, + "src": "1413:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10641, + "id": 10804, "isConstant": false, "isLValue": false, "isPure": false, @@ -480,27 +483,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:43:39", + "src": "1413:43:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10636, - "id": 10642, + "functionReturnParameters": 10799, + "id": 10805, "nodeType": "Return", - "src": "1398:50:39" + "src": "1406:50:39" } ] }, "documentation": { - "id": 10628, + "id": 10791, "nodeType": "StructuredDocumentation", - "src": "1056:260:39", + "src": "1064:260:39", "text": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." }, - "id": 10644, + "id": 10807, "implemented": true, "kind": "function", "modifiers": [], @@ -508,18 +511,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10633, + "id": 10796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10630, + "id": 10793, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1334:9:39", + "scope": 10807, + "src": "1342:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -527,10 +530,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10629, + "id": 10792, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1334:7:39", + "src": "1342:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -541,13 +544,13 @@ }, { "constant": false, - "id": 10632, + "id": 10795, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1345:9:39", + "scope": 10807, + "src": "1353:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -555,10 +558,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10631, + "id": 10794, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:39", + "src": "1353:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -568,21 +571,21 @@ "visibility": "internal" } ], - "src": "1333:22:39" + "src": "1341:22:39" }, "returnParameters": { - "id": 10636, + "id": 10799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10635, + "id": 10798, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1379:7:39", + "scope": 10807, + "src": "1387:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -590,10 +593,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10634, + "id": 10797, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1379:7:39", + "src": "1387:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -603,19 +606,19 @@ "visibility": "internal" } ], - "src": "1378:9:39" + "src": "1386:9:39" }, - "scope": 10794, - "src": "1321:134:39", + "scope": 10957, + "src": "1329:134:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10671, + "id": 10834, "nodeType": "Block", - "src": "1841:92:39", + "src": "1849:92:39", "statements": [ { "expression": { @@ -627,19 +630,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10659, + "id": 10822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10657, + "id": 10820, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10649, - "src": "1859:1:39", + "referencedDeclaration": 10812, + "src": "1867:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -649,18 +652,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 10658, + "id": 10821, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10647, - "src": "1864:1:39", + "referencedDeclaration": 10810, + "src": "1872:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1859:6:39", + "src": "1867:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -668,12 +671,12 @@ }, { "argumentTypes": null, - "id": 10660, + "id": 10823, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10651, - "src": "1867:12:39", + "referencedDeclaration": 10814, + "src": "1875:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -691,7 +694,7 @@ "typeString": "string memory" } ], - "id": 10656, + "id": 10819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -699,13 +702,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1851:7:39", + "src": "1859:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10661, + "id": 10824, "isConstant": false, "isLValue": false, "isPure": false, @@ -713,31 +716,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:29:39", + "src": "1859:29:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10662, + "id": 10825, "nodeType": "ExpressionStatement", - "src": "1851:29:39" + "src": "1859:29:39" }, { "assignments": [ - 10664 + 10827 ], "declarations": [ { "constant": false, - "id": 10664, + "id": 10827, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10671, - "src": "1890:9:39", + "scope": 10834, + "src": "1898:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -745,10 +748,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10663, + "id": 10826, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1890:7:39", + "src": "1898:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -758,26 +761,26 @@ "visibility": "internal" } ], - "id": 10668, + "id": 10831, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10667, + "id": 10830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10665, + "id": 10828, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10647, - "src": "1902:1:39", + "referencedDeclaration": 10810, + "src": "1910:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -787,54 +790,54 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 10666, + "id": 10829, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10649, - "src": "1906:1:39", + "referencedDeclaration": 10812, + "src": "1914:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1902:5:39", + "src": "1910:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1890:17:39" + "src": "1898:17:39" }, { "expression": { "argumentTypes": null, - "id": 10669, + "id": 10832, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10664, - "src": "1925:1:39", + "referencedDeclaration": 10827, + "src": "1933:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10655, - "id": 10670, + "functionReturnParameters": 10818, + "id": 10833, "nodeType": "Return", - "src": "1918:8:39" + "src": "1926:8:39" } ] }, "documentation": { - "id": 10645, + "id": 10808, "nodeType": "StructuredDocumentation", - "src": "1461:280:39", + "src": "1469:280:39", "text": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." }, - "id": 10672, + "id": 10835, "implemented": true, "kind": "function", "modifiers": [], @@ -842,18 +845,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10652, + "id": 10815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10647, + "id": 10810, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1759:9:39", + "scope": 10835, + "src": "1767:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -861,10 +864,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10646, + "id": 10809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1759:7:39", + "src": "1767:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -875,13 +878,13 @@ }, { "constant": false, - "id": 10649, + "id": 10812, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1770:9:39", + "scope": 10835, + "src": "1778:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -889,10 +892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10648, + "id": 10811, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1770:7:39", + "src": "1778:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -903,13 +906,13 @@ }, { "constant": false, - "id": 10651, + "id": 10814, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1781:26:39", + "scope": 10835, + "src": "1789:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -917,10 +920,10 @@ "typeString": "string" }, "typeName": { - "id": 10650, + "id": 10813, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1781:6:39", + "src": "1789:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -930,21 +933,21 @@ "visibility": "internal" } ], - "src": "1758:50:39" + "src": "1766:50:39" }, "returnParameters": { - "id": 10655, + "id": 10818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10654, + "id": 10817, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1832:7:39", + "scope": 10835, + "src": "1840:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -952,10 +955,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10653, + "id": 10816, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1832:7:39", + "src": "1840:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -965,19 +968,19 @@ "visibility": "internal" } ], - "src": "1831:9:39" + "src": "1839:9:39" }, - "scope": 10794, - "src": "1746:187:39", + "scope": 10957, + "src": "1754:187:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10706, + "id": 10869, "nodeType": "Block", - "src": "2247:392:39", + "src": "2255:392:39", "statements": [ { "condition": { @@ -986,19 +989,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10684, + "id": 10847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10682, + "id": 10845, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2479:1:39", + "referencedDeclaration": 10838, + "src": "2487:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1009,14 +1012,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10683, + "id": 10846, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2484:1:39", + "src": "2492:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1024,33 +1027,33 @@ }, "value": "0" }, - "src": "2479:6:39", + "src": "2487:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 10688, + "id": 10851, "nodeType": "IfStatement", - "src": "2475:45:39", + "src": "2483:45:39", "trueBody": { - "id": 10687, + "id": 10850, "nodeType": "Block", - "src": "2487:33:39", + "src": "2495:33:39", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 10685, + "id": 10848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2508:1:39", + "src": "2516:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1058,28 +1061,28 @@ }, "value": "0" }, - "functionReturnParameters": 10681, - "id": 10686, + "functionReturnParameters": 10844, + "id": 10849, "nodeType": "Return", - "src": "2501:8:39" + "src": "2509:8:39" } ] } }, { "assignments": [ - 10690 + 10853 ], "declarations": [ { "constant": false, - "id": 10690, + "id": 10853, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10706, - "src": "2530:9:39", + "scope": 10869, + "src": "2538:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1087,10 +1090,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10689, + "id": 10852, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2530:7:39", + "src": "2538:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1100,26 +1103,26 @@ "visibility": "internal" } ], - "id": 10694, + "id": 10857, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10693, + "id": 10856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10691, + "id": 10854, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2542:1:39", + "referencedDeclaration": 10838, + "src": "2550:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1129,25 +1132,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10692, + "id": 10855, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10677, - "src": "2546:1:39", + "referencedDeclaration": 10840, + "src": "2554:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2542:5:39", + "src": "2550:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2530:17:39" + "src": "2538:17:39" }, { "expression": { @@ -1159,7 +1162,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10700, + "id": 10863, "isConstant": false, "isLValue": false, "isPure": false, @@ -1170,19 +1173,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10698, + "id": 10861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10696, + "id": 10859, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10690, - "src": "2565:1:39", + "referencedDeclaration": 10853, + "src": "2573:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1192,18 +1195,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10697, + "id": 10860, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2569:1:39", + "referencedDeclaration": 10838, + "src": "2577:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:5:39", + "src": "2573:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1213,18 +1216,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 10699, + "id": 10862, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10677, - "src": "2574:1:39", + "referencedDeclaration": 10840, + "src": "2582:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:10:39", + "src": "2573:10:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1233,14 +1236,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 10701, + "id": 10864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2577:35:39", + "src": "2585:35:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -1260,7 +1263,7 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 10695, + "id": 10858, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1268,13 +1271,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2557:7:39", + "src": "2565:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10702, + "id": 10865, "isConstant": false, "isLValue": false, "isPure": false, @@ -1282,45 +1285,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2557:56:39", + "src": "2565:56:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10703, + "id": 10866, "nodeType": "ExpressionStatement", - "src": "2557:56:39" + "src": "2565:56:39" }, { "expression": { "argumentTypes": null, - "id": 10704, + "id": 10867, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10690, - "src": "2631:1:39", + "referencedDeclaration": 10853, + "src": "2639:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10681, - "id": 10705, + "functionReturnParameters": 10844, + "id": 10868, "nodeType": "Return", - "src": "2624:8:39" + "src": "2632:8:39" } ] }, "documentation": { - "id": 10673, + "id": 10836, "nodeType": "StructuredDocumentation", - "src": "1939:236:39", + "src": "1947:236:39", "text": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n * - Multiplication cannot overflow." }, - "id": 10707, + "id": 10870, "implemented": true, "kind": "function", "modifiers": [], @@ -1328,18 +1331,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10678, + "id": 10841, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10675, + "id": 10838, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2193:9:39", + "scope": 10870, + "src": "2201:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1347,10 +1350,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10674, + "id": 10837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:39", + "src": "2201:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1361,13 +1364,13 @@ }, { "constant": false, - "id": 10677, + "id": 10840, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2204:9:39", + "scope": 10870, + "src": "2212:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1375,10 +1378,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10676, + "id": 10839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2204:7:39", + "src": "2212:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1388,21 +1391,21 @@ "visibility": "internal" } ], - "src": "2192:22:39" + "src": "2200:22:39" }, "returnParameters": { - "id": 10681, + "id": 10844, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10680, + "id": 10843, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2238:7:39", + "scope": 10870, + "src": "2246:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1410,10 +1413,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10679, + "id": 10842, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2238:7:39", + "src": "2246:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1423,19 +1426,19 @@ "visibility": "internal" } ], - "src": "2237:9:39" + "src": "2245:9:39" }, - "scope": 10794, - "src": "2180:459:39", + "scope": 10957, + "src": "2188:459:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10723, + "id": 10886, "nodeType": "Block", - "src": "3168:63:39", + "src": "3176:63:39", "statements": [ { "expression": { @@ -1443,12 +1446,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10718, + "id": 10881, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10710, - "src": "3189:1:39", + "referencedDeclaration": 10873, + "src": "3197:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1456,12 +1459,12 @@ }, { "argumentTypes": null, - "id": 10719, + "id": 10882, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10712, - "src": "3192:1:39", + "referencedDeclaration": 10875, + "src": "3200:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1470,14 +1473,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 10720, + "id": 10883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3195:28:39", + "src": "3203:28:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -1501,21 +1504,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 10717, + "id": 10880, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 10724, - 10752 + 10887, + 10915 ], - "referencedDeclaration": 10752, - "src": "3185:3:39", + "referencedDeclaration": 10915, + "src": "3193:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10721, + "id": 10884, "isConstant": false, "isLValue": false, "isPure": false, @@ -1523,27 +1526,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3185:39:39", + "src": "3193:39:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10716, - "id": 10722, + "functionReturnParameters": 10879, + "id": 10885, "nodeType": "Return", - "src": "3178:46:39" + "src": "3186:46:39" } ] }, "documentation": { - "id": 10708, + "id": 10871, "nodeType": "StructuredDocumentation", - "src": "2645:451:39", + "src": "2653:451:39", "text": "@dev Returns the integer division of two unsigned integers. Reverts on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10724, + "id": 10887, "implemented": true, "kind": "function", "modifiers": [], @@ -1551,18 +1554,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10713, + "id": 10876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10710, + "id": 10873, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3114:9:39", + "scope": 10887, + "src": "3122:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1570,10 +1573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10709, + "id": 10872, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3114:7:39", + "src": "3122:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1584,13 +1587,13 @@ }, { "constant": false, - "id": 10712, + "id": 10875, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3125:9:39", + "scope": 10887, + "src": "3133:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1598,10 +1601,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10711, + "id": 10874, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3125:7:39", + "src": "3133:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1611,21 +1614,21 @@ "visibility": "internal" } ], - "src": "3113:22:39" + "src": "3121:22:39" }, "returnParameters": { - "id": 10716, + "id": 10879, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10715, + "id": 10878, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3159:7:39", + "scope": 10887, + "src": "3167:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1633,10 +1636,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10714, + "id": 10877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3159:7:39", + "src": "3167:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1646,19 +1649,19 @@ "visibility": "internal" } ], - "src": "3158:9:39" + "src": "3166:9:39" }, - "scope": 10794, - "src": "3101:130:39", + "scope": 10957, + "src": "3109:130:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10751, + "id": 10914, "nodeType": "Block", - "src": "3808:177:39", + "src": "3816:177:39", "statements": [ { "expression": { @@ -1670,19 +1673,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10739, + "id": 10902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10737, + "id": 10900, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "3826:1:39", + "referencedDeclaration": 10892, + "src": "3834:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1693,14 +1696,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10738, + "id": 10901, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3830:1:39", + "src": "3838:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1708,7 +1711,7 @@ }, "value": "0" }, - "src": "3826:5:39", + "src": "3834:5:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1716,12 +1719,12 @@ }, { "argumentTypes": null, - "id": 10740, + "id": 10903, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10731, - "src": "3833:12:39", + "referencedDeclaration": 10894, + "src": "3841:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1739,7 +1742,7 @@ "typeString": "string memory" } ], - "id": 10736, + "id": 10899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1747,13 +1750,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3818:7:39", + "src": "3826:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10741, + "id": 10904, "isConstant": false, "isLValue": false, "isPure": false, @@ -1761,31 +1764,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:28:39", + "src": "3826:28:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10742, + "id": 10905, "nodeType": "ExpressionStatement", - "src": "3818:28:39" + "src": "3826:28:39" }, { "assignments": [ - 10744 + 10907 ], "declarations": [ { "constant": false, - "id": 10744, + "id": 10907, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10751, - "src": "3856:9:39", + "scope": 10914, + "src": "3864:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1793,10 +1796,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10743, + "id": 10906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3856:7:39", + "src": "3864:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1806,26 +1809,26 @@ "visibility": "internal" } ], - "id": 10748, + "id": 10911, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10747, + "id": 10910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10745, + "id": 10908, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "3868:1:39", + "referencedDeclaration": 10890, + "src": "3876:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1835,54 +1838,54 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10746, + "id": 10909, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "3872:1:39", + "referencedDeclaration": 10892, + "src": "3880:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3868:5:39", + "src": "3876:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3856:17:39" + "src": "3864:17:39" }, { "expression": { "argumentTypes": null, - "id": 10749, + "id": 10912, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10744, - "src": "3977:1:39", + "referencedDeclaration": 10907, + "src": "3985:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10735, - "id": 10750, + "functionReturnParameters": 10898, + "id": 10913, "nodeType": "Return", - "src": "3970:8:39" + "src": "3978:8:39" } ] }, "documentation": { - "id": 10725, + "id": 10888, "nodeType": "StructuredDocumentation", - "src": "3237:471:39", + "src": "3245:471:39", "text": "@dev Returns the integer division of two unsigned integers. Reverts with custom message on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10752, + "id": 10915, "implemented": true, "kind": "function", "modifiers": [], @@ -1890,18 +1893,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10732, + "id": 10895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10727, + "id": 10890, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3726:9:39", + "scope": 10915, + "src": "3734:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1909,10 +1912,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10726, + "id": 10889, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3726:7:39", + "src": "3734:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1923,13 +1926,13 @@ }, { "constant": false, - "id": 10729, + "id": 10892, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3737:9:39", + "scope": 10915, + "src": "3745:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1937,10 +1940,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10728, + "id": 10891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3737:7:39", + "src": "3745:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1951,13 +1954,13 @@ }, { "constant": false, - "id": 10731, + "id": 10894, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3748:26:39", + "scope": 10915, + "src": "3756:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1965,10 +1968,10 @@ "typeString": "string" }, "typeName": { - "id": 10730, + "id": 10893, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3748:6:39", + "src": "3756:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1978,21 +1981,21 @@ "visibility": "internal" } ], - "src": "3725:50:39" + "src": "3733:50:39" }, "returnParameters": { - "id": 10735, + "id": 10898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10734, + "id": 10897, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3799:7:39", + "scope": 10915, + "src": "3807:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2000,10 +2003,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10733, + "id": 10896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3799:7:39", + "src": "3807:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2013,19 +2016,19 @@ "visibility": "internal" } ], - "src": "3798:9:39" + "src": "3806:9:39" }, - "scope": 10794, - "src": "3713:272:39", + "scope": 10957, + "src": "3721:272:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10768, + "id": 10931, "nodeType": "Block", - "src": "4503:61:39", + "src": "4511:61:39", "statements": [ { "expression": { @@ -2033,12 +2036,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10763, + "id": 10926, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "4524:1:39", + "referencedDeclaration": 10918, + "src": "4532:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2046,12 +2049,12 @@ }, { "argumentTypes": null, - "id": 10764, + "id": 10927, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "4527:1:39", + "referencedDeclaration": 10920, + "src": "4535:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2060,14 +2063,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 10765, + "id": 10928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4530:26:39", + "src": "4538:26:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -2091,21 +2094,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 10762, + "id": 10925, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 10769, - 10793 + 10932, + 10956 ], - "referencedDeclaration": 10793, - "src": "4520:3:39", + "referencedDeclaration": 10956, + "src": "4528:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10766, + "id": 10929, "isConstant": false, "isLValue": false, "isPure": false, @@ -2113,27 +2116,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4520:37:39", + "src": "4528:37:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10761, - "id": 10767, + "functionReturnParameters": 10924, + "id": 10930, "nodeType": "Return", - "src": "4513:44:39" + "src": "4521:44:39" } ] }, "documentation": { - "id": 10753, + "id": 10916, "nodeType": "StructuredDocumentation", - "src": "3991:440:39", + "src": "3999:440:39", "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10769, + "id": 10932, "implemented": true, "kind": "function", "modifiers": [], @@ -2141,18 +2144,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10758, + "id": 10921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10755, + "id": 10918, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4449:9:39", + "scope": 10932, + "src": "4457:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2160,10 +2163,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10754, + "id": 10917, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4449:7:39", + "src": "4457:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2174,13 +2177,13 @@ }, { "constant": false, - "id": 10757, + "id": 10920, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4460:9:39", + "scope": 10932, + "src": "4468:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2188,10 +2191,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10756, + "id": 10919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4460:7:39", + "src": "4468:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2201,21 +2204,21 @@ "visibility": "internal" } ], - "src": "4448:22:39" + "src": "4456:22:39" }, "returnParameters": { - "id": 10761, + "id": 10924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10760, + "id": 10923, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4494:7:39", + "scope": 10932, + "src": "4502:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2223,10 +2226,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10759, + "id": 10922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4494:7:39", + "src": "4502:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2236,19 +2239,19 @@ "visibility": "internal" } ], - "src": "4493:9:39" + "src": "4501:9:39" }, - "scope": 10794, - "src": "4436:128:39", + "scope": 10957, + "src": "4444:128:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10792, + "id": 10955, "nodeType": "Block", - "src": "5130:68:39", + "src": "5138:68:39", "statements": [ { "expression": { @@ -2260,19 +2263,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10784, + "id": 10947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10782, + "id": 10945, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10774, - "src": "5148:1:39", + "referencedDeclaration": 10937, + "src": "5156:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2283,14 +2286,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10783, + "id": 10946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5153:1:39", + "src": "5161:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2298,7 +2301,7 @@ }, "value": "0" }, - "src": "5148:6:39", + "src": "5156:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2306,12 +2309,12 @@ }, { "argumentTypes": null, - "id": 10785, + "id": 10948, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "5156:12:39", + "referencedDeclaration": 10939, + "src": "5164:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2329,7 +2332,7 @@ "typeString": "string memory" } ], - "id": 10781, + "id": 10944, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2337,13 +2340,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5140:7:39", + "src": "5148:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10786, + "id": 10949, "isConstant": false, "isLValue": false, "isPure": false, @@ -2351,16 +2354,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5140:29:39", + "src": "5148:29:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10787, + "id": 10950, "nodeType": "ExpressionStatement", - "src": "5140:29:39" + "src": "5148:29:39" }, { "expression": { @@ -2369,19 +2372,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10790, + "id": 10953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10788, + "id": 10951, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10772, - "src": "5186:1:39", + "referencedDeclaration": 10935, + "src": "5194:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2391,37 +2394,37 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 10789, + "id": 10952, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10774, - "src": "5190:1:39", + "referencedDeclaration": 10937, + "src": "5198:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5186:5:39", + "src": "5194:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10780, - "id": 10791, + "functionReturnParameters": 10943, + "id": 10954, "nodeType": "Return", - "src": "5179:12:39" + "src": "5187:12:39" } ] }, "documentation": { - "id": 10770, + "id": 10933, "nodeType": "StructuredDocumentation", - "src": "4570:460:39", + "src": "4578:460:39", "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts with custom message when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10793, + "id": 10956, "implemented": true, "kind": "function", "modifiers": [], @@ -2429,18 +2432,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10777, + "id": 10940, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10772, + "id": 10935, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5048:9:39", + "scope": 10956, + "src": "5056:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2448,10 +2451,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10771, + "id": 10934, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5048:7:39", + "src": "5056:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2462,13 +2465,13 @@ }, { "constant": false, - "id": 10774, + "id": 10937, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5059:9:39", + "scope": 10956, + "src": "5067:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2476,10 +2479,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10773, + "id": 10936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5059:7:39", + "src": "5067:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2490,13 +2493,13 @@ }, { "constant": false, - "id": 10776, + "id": 10939, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5070:26:39", + "scope": 10956, + "src": "5078:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2504,10 +2507,10 @@ "typeString": "string" }, "typeName": { - "id": 10775, + "id": 10938, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5070:6:39", + "src": "5078:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2517,21 +2520,21 @@ "visibility": "internal" } ], - "src": "5047:50:39" + "src": "5055:50:39" }, "returnParameters": { - "id": 10780, + "id": 10943, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10779, + "id": 10942, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5121:7:39", + "scope": 10956, + "src": "5129:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2539,10 +2542,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10778, + "id": 10941, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5121:7:39", + "src": "5129:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2552,41 +2555,44 @@ "visibility": "internal" } ], - "src": "5120:9:39" + "src": "5128:9:39" }, - "scope": 10794, - "src": "5035:163:39", + "scope": 10957, + "src": "5043:163:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 10795, - "src": "622:4578:39" + "scope": 10958, + "src": "630:4578:39" } ], - "src": "33:5168:39" + "src": "33:5176:39" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 10794 + 10957 ] }, - "id": 10795, + "id": 10958, "nodeType": "SourceUnit", "nodes": [ { - "id": 10600, + "id": 10763, "literals": [ "solidity", - "^", + ">=", "0.6", + ".0", + "<", + "0.8", ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:39" + "src": "33:31:39" }, { "abstract": false, @@ -2594,39 +2600,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 10601, + "id": 10764, "nodeType": "StructuredDocumentation", - "src": "58:563:39", + "src": "66:563:39", "text": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always." }, "fullyImplemented": true, - "id": 10794, + "id": 10957, "linearizedBaseContracts": [ - 10794 + 10957 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 10626, + "id": 10789, "nodeType": "Block", - "src": "941:109:39", + "src": "949:109:39", "statements": [ { "assignments": [ - 10612 + 10775 ], "declarations": [ { "constant": false, - "id": 10612, + "id": 10775, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10626, - "src": "951:9:39", + "scope": 10789, + "src": "959:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2634,10 +2640,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10611, + "id": 10774, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "951:7:39", + "src": "959:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2647,26 +2653,26 @@ "visibility": "internal" } ], - "id": 10616, + "id": 10779, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10615, + "id": 10778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10613, + "id": 10776, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10604, - "src": "963:1:39", + "referencedDeclaration": 10767, + "src": "971:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2676,25 +2682,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 10614, + "id": 10777, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10606, - "src": "967:1:39", + "referencedDeclaration": 10769, + "src": "975:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "963:5:39", + "src": "971:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "951:17:39" + "src": "959:17:39" }, { "expression": { @@ -2706,19 +2712,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10620, + "id": 10783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10618, + "id": 10781, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10612, - "src": "986:1:39", + "referencedDeclaration": 10775, + "src": "994:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2728,18 +2734,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 10619, + "id": 10782, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10604, - "src": "991:1:39", + "referencedDeclaration": 10767, + "src": "999:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "986:6:39", + "src": "994:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2748,14 +2754,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 10621, + "id": 10784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "994:29:39", + "src": "1002:29:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -2775,7 +2781,7 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 10617, + "id": 10780, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2783,13 +2789,13 @@ -18 ], "referencedDeclaration": -18, - "src": "978:7:39", + "src": "986:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10622, + "id": 10785, "isConstant": false, "isLValue": false, "isPure": false, @@ -2797,45 +2803,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "978:46:39", + "src": "986:46:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10623, + "id": 10786, "nodeType": "ExpressionStatement", - "src": "978:46:39" + "src": "986:46:39" }, { "expression": { "argumentTypes": null, - "id": 10624, + "id": 10787, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10612, - "src": "1042:1:39", + "referencedDeclaration": 10775, + "src": "1050:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10610, - "id": 10625, + "functionReturnParameters": 10773, + "id": 10788, "nodeType": "Return", - "src": "1035:8:39" + "src": "1043:8:39" } ] }, "documentation": { - "id": 10602, + "id": 10765, "nodeType": "StructuredDocumentation", - "src": "645:224:39", + "src": "653:224:39", "text": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n * - Addition cannot overflow." }, - "id": 10627, + "id": 10790, "implemented": true, "kind": "function", "modifiers": [], @@ -2843,18 +2849,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10607, + "id": 10770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10604, + "id": 10767, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "887:9:39", + "scope": 10790, + "src": "895:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2862,10 +2868,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10603, + "id": 10766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "887:7:39", + "src": "895:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2876,13 +2882,13 @@ }, { "constant": false, - "id": 10606, + "id": 10769, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "898:9:39", + "scope": 10790, + "src": "906:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2890,10 +2896,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10605, + "id": 10768, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "898:7:39", + "src": "906:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2903,21 +2909,21 @@ "visibility": "internal" } ], - "src": "886:22:39" + "src": "894:22:39" }, "returnParameters": { - "id": 10610, + "id": 10773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10609, + "id": 10772, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10627, - "src": "932:7:39", + "scope": 10790, + "src": "940:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2925,10 +2931,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10608, + "id": 10771, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:39", + "src": "940:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2938,19 +2944,19 @@ "visibility": "internal" } ], - "src": "931:9:39" + "src": "939:9:39" }, - "scope": 10794, - "src": "874:176:39", + "scope": 10957, + "src": "882:176:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10643, + "id": 10806, "nodeType": "Block", - "src": "1388:67:39", + "src": "1396:67:39", "statements": [ { "expression": { @@ -2958,12 +2964,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10638, + "id": 10801, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10630, - "src": "1409:1:39", + "referencedDeclaration": 10793, + "src": "1417:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2971,12 +2977,12 @@ }, { "argumentTypes": null, - "id": 10639, + "id": 10802, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10632, - "src": "1412:1:39", + "referencedDeclaration": 10795, + "src": "1420:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2985,14 +2991,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 10640, + "id": 10803, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1415:32:39", + "src": "1423:32:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -3016,21 +3022,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 10637, + "id": 10800, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 10644, - 10672 + 10807, + 10835 ], - "referencedDeclaration": 10672, - "src": "1405:3:39", + "referencedDeclaration": 10835, + "src": "1413:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10641, + "id": 10804, "isConstant": false, "isLValue": false, "isPure": false, @@ -3038,27 +3044,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:43:39", + "src": "1413:43:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10636, - "id": 10642, + "functionReturnParameters": 10799, + "id": 10805, "nodeType": "Return", - "src": "1398:50:39" + "src": "1406:50:39" } ] }, "documentation": { - "id": 10628, + "id": 10791, "nodeType": "StructuredDocumentation", - "src": "1056:260:39", + "src": "1064:260:39", "text": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." }, - "id": 10644, + "id": 10807, "implemented": true, "kind": "function", "modifiers": [], @@ -3066,18 +3072,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10633, + "id": 10796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10630, + "id": 10793, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1334:9:39", + "scope": 10807, + "src": "1342:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3085,10 +3091,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10629, + "id": 10792, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1334:7:39", + "src": "1342:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3099,13 +3105,13 @@ }, { "constant": false, - "id": 10632, + "id": 10795, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1345:9:39", + "scope": 10807, + "src": "1353:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3113,10 +3119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10631, + "id": 10794, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:39", + "src": "1353:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3126,21 +3132,21 @@ "visibility": "internal" } ], - "src": "1333:22:39" + "src": "1341:22:39" }, "returnParameters": { - "id": 10636, + "id": 10799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10635, + "id": 10798, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10644, - "src": "1379:7:39", + "scope": 10807, + "src": "1387:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3148,10 +3154,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10634, + "id": 10797, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1379:7:39", + "src": "1387:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3161,19 +3167,19 @@ "visibility": "internal" } ], - "src": "1378:9:39" + "src": "1386:9:39" }, - "scope": 10794, - "src": "1321:134:39", + "scope": 10957, + "src": "1329:134:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10671, + "id": 10834, "nodeType": "Block", - "src": "1841:92:39", + "src": "1849:92:39", "statements": [ { "expression": { @@ -3185,19 +3191,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10659, + "id": 10822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10657, + "id": 10820, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10649, - "src": "1859:1:39", + "referencedDeclaration": 10812, + "src": "1867:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3207,18 +3213,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 10658, + "id": 10821, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10647, - "src": "1864:1:39", + "referencedDeclaration": 10810, + "src": "1872:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1859:6:39", + "src": "1867:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3226,12 +3232,12 @@ }, { "argumentTypes": null, - "id": 10660, + "id": 10823, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10651, - "src": "1867:12:39", + "referencedDeclaration": 10814, + "src": "1875:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3249,7 +3255,7 @@ "typeString": "string memory" } ], - "id": 10656, + "id": 10819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3257,13 +3263,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1851:7:39", + "src": "1859:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10661, + "id": 10824, "isConstant": false, "isLValue": false, "isPure": false, @@ -3271,31 +3277,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:29:39", + "src": "1859:29:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10662, + "id": 10825, "nodeType": "ExpressionStatement", - "src": "1851:29:39" + "src": "1859:29:39" }, { "assignments": [ - 10664 + 10827 ], "declarations": [ { "constant": false, - "id": 10664, + "id": 10827, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10671, - "src": "1890:9:39", + "scope": 10834, + "src": "1898:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3303,10 +3309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10663, + "id": 10826, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1890:7:39", + "src": "1898:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3316,26 +3322,26 @@ "visibility": "internal" } ], - "id": 10668, + "id": 10831, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10667, + "id": 10830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10665, + "id": 10828, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10647, - "src": "1902:1:39", + "referencedDeclaration": 10810, + "src": "1910:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3345,54 +3351,54 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 10666, + "id": 10829, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10649, - "src": "1906:1:39", + "referencedDeclaration": 10812, + "src": "1914:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1902:5:39", + "src": "1910:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1890:17:39" + "src": "1898:17:39" }, { "expression": { "argumentTypes": null, - "id": 10669, + "id": 10832, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10664, - "src": "1925:1:39", + "referencedDeclaration": 10827, + "src": "1933:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10655, - "id": 10670, + "functionReturnParameters": 10818, + "id": 10833, "nodeType": "Return", - "src": "1918:8:39" + "src": "1926:8:39" } ] }, "documentation": { - "id": 10645, + "id": 10808, "nodeType": "StructuredDocumentation", - "src": "1461:280:39", + "src": "1469:280:39", "text": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." }, - "id": 10672, + "id": 10835, "implemented": true, "kind": "function", "modifiers": [], @@ -3400,18 +3406,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10652, + "id": 10815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10647, + "id": 10810, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1759:9:39", + "scope": 10835, + "src": "1767:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3419,10 +3425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10646, + "id": 10809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1759:7:39", + "src": "1767:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3433,13 +3439,13 @@ }, { "constant": false, - "id": 10649, + "id": 10812, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1770:9:39", + "scope": 10835, + "src": "1778:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3447,10 +3453,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10648, + "id": 10811, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1770:7:39", + "src": "1778:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3461,13 +3467,13 @@ }, { "constant": false, - "id": 10651, + "id": 10814, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1781:26:39", + "scope": 10835, + "src": "1789:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3475,10 +3481,10 @@ "typeString": "string" }, "typeName": { - "id": 10650, + "id": 10813, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1781:6:39", + "src": "1789:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3488,21 +3494,21 @@ "visibility": "internal" } ], - "src": "1758:50:39" + "src": "1766:50:39" }, "returnParameters": { - "id": 10655, + "id": 10818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10654, + "id": 10817, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10672, - "src": "1832:7:39", + "scope": 10835, + "src": "1840:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3510,10 +3516,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10653, + "id": 10816, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1832:7:39", + "src": "1840:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3523,19 +3529,19 @@ "visibility": "internal" } ], - "src": "1831:9:39" + "src": "1839:9:39" }, - "scope": 10794, - "src": "1746:187:39", + "scope": 10957, + "src": "1754:187:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10706, + "id": 10869, "nodeType": "Block", - "src": "2247:392:39", + "src": "2255:392:39", "statements": [ { "condition": { @@ -3544,19 +3550,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10684, + "id": 10847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10682, + "id": 10845, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2479:1:39", + "referencedDeclaration": 10838, + "src": "2487:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3567,14 +3573,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10683, + "id": 10846, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2484:1:39", + "src": "2492:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3582,33 +3588,33 @@ }, "value": "0" }, - "src": "2479:6:39", + "src": "2487:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 10688, + "id": 10851, "nodeType": "IfStatement", - "src": "2475:45:39", + "src": "2483:45:39", "trueBody": { - "id": 10687, + "id": 10850, "nodeType": "Block", - "src": "2487:33:39", + "src": "2495:33:39", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 10685, + "id": 10848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2508:1:39", + "src": "2516:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3616,28 +3622,28 @@ }, "value": "0" }, - "functionReturnParameters": 10681, - "id": 10686, + "functionReturnParameters": 10844, + "id": 10849, "nodeType": "Return", - "src": "2501:8:39" + "src": "2509:8:39" } ] } }, { "assignments": [ - 10690 + 10853 ], "declarations": [ { "constant": false, - "id": 10690, + "id": 10853, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10706, - "src": "2530:9:39", + "scope": 10869, + "src": "2538:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3645,10 +3651,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10689, + "id": 10852, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2530:7:39", + "src": "2538:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3658,26 +3664,26 @@ "visibility": "internal" } ], - "id": 10694, + "id": 10857, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10693, + "id": 10856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10691, + "id": 10854, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2542:1:39", + "referencedDeclaration": 10838, + "src": "2550:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3687,25 +3693,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10692, + "id": 10855, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10677, - "src": "2546:1:39", + "referencedDeclaration": 10840, + "src": "2554:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2542:5:39", + "src": "2550:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2530:17:39" + "src": "2538:17:39" }, { "expression": { @@ -3717,7 +3723,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10700, + "id": 10863, "isConstant": false, "isLValue": false, "isPure": false, @@ -3728,19 +3734,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10698, + "id": 10861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10696, + "id": 10859, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10690, - "src": "2565:1:39", + "referencedDeclaration": 10853, + "src": "2573:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3750,18 +3756,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10697, + "id": 10860, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10675, - "src": "2569:1:39", + "referencedDeclaration": 10838, + "src": "2577:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:5:39", + "src": "2573:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3771,18 +3777,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 10699, + "id": 10862, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10677, - "src": "2574:1:39", + "referencedDeclaration": 10840, + "src": "2582:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:10:39", + "src": "2573:10:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3791,14 +3797,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 10701, + "id": 10864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2577:35:39", + "src": "2585:35:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -3818,7 +3824,7 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 10695, + "id": 10858, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3826,13 +3832,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2557:7:39", + "src": "2565:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10702, + "id": 10865, "isConstant": false, "isLValue": false, "isPure": false, @@ -3840,45 +3846,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2557:56:39", + "src": "2565:56:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10703, + "id": 10866, "nodeType": "ExpressionStatement", - "src": "2557:56:39" + "src": "2565:56:39" }, { "expression": { "argumentTypes": null, - "id": 10704, + "id": 10867, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10690, - "src": "2631:1:39", + "referencedDeclaration": 10853, + "src": "2639:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10681, - "id": 10705, + "functionReturnParameters": 10844, + "id": 10868, "nodeType": "Return", - "src": "2624:8:39" + "src": "2632:8:39" } ] }, "documentation": { - "id": 10673, + "id": 10836, "nodeType": "StructuredDocumentation", - "src": "1939:236:39", + "src": "1947:236:39", "text": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n * - Multiplication cannot overflow." }, - "id": 10707, + "id": 10870, "implemented": true, "kind": "function", "modifiers": [], @@ -3886,18 +3892,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10678, + "id": 10841, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10675, + "id": 10838, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2193:9:39", + "scope": 10870, + "src": "2201:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3905,10 +3911,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10674, + "id": 10837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:39", + "src": "2201:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3919,13 +3925,13 @@ }, { "constant": false, - "id": 10677, + "id": 10840, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2204:9:39", + "scope": 10870, + "src": "2212:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3933,10 +3939,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10676, + "id": 10839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2204:7:39", + "src": "2212:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3946,21 +3952,21 @@ "visibility": "internal" } ], - "src": "2192:22:39" + "src": "2200:22:39" }, "returnParameters": { - "id": 10681, + "id": 10844, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10680, + "id": 10843, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10707, - "src": "2238:7:39", + "scope": 10870, + "src": "2246:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3968,10 +3974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10679, + "id": 10842, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2238:7:39", + "src": "2246:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3981,19 +3987,19 @@ "visibility": "internal" } ], - "src": "2237:9:39" + "src": "2245:9:39" }, - "scope": 10794, - "src": "2180:459:39", + "scope": 10957, + "src": "2188:459:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10723, + "id": 10886, "nodeType": "Block", - "src": "3168:63:39", + "src": "3176:63:39", "statements": [ { "expression": { @@ -4001,12 +4007,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10718, + "id": 10881, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10710, - "src": "3189:1:39", + "referencedDeclaration": 10873, + "src": "3197:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4014,12 +4020,12 @@ }, { "argumentTypes": null, - "id": 10719, + "id": 10882, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10712, - "src": "3192:1:39", + "referencedDeclaration": 10875, + "src": "3200:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4028,14 +4034,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 10720, + "id": 10883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3195:28:39", + "src": "3203:28:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -4059,21 +4065,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 10717, + "id": 10880, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 10724, - 10752 + 10887, + 10915 ], - "referencedDeclaration": 10752, - "src": "3185:3:39", + "referencedDeclaration": 10915, + "src": "3193:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10721, + "id": 10884, "isConstant": false, "isLValue": false, "isPure": false, @@ -4081,27 +4087,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3185:39:39", + "src": "3193:39:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10716, - "id": 10722, + "functionReturnParameters": 10879, + "id": 10885, "nodeType": "Return", - "src": "3178:46:39" + "src": "3186:46:39" } ] }, "documentation": { - "id": 10708, + "id": 10871, "nodeType": "StructuredDocumentation", - "src": "2645:451:39", + "src": "2653:451:39", "text": "@dev Returns the integer division of two unsigned integers. Reverts on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10724, + "id": 10887, "implemented": true, "kind": "function", "modifiers": [], @@ -4109,18 +4115,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10713, + "id": 10876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10710, + "id": 10873, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3114:9:39", + "scope": 10887, + "src": "3122:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4128,10 +4134,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10709, + "id": 10872, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3114:7:39", + "src": "3122:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4142,13 +4148,13 @@ }, { "constant": false, - "id": 10712, + "id": 10875, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3125:9:39", + "scope": 10887, + "src": "3133:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4156,10 +4162,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10711, + "id": 10874, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3125:7:39", + "src": "3133:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4169,21 +4175,21 @@ "visibility": "internal" } ], - "src": "3113:22:39" + "src": "3121:22:39" }, "returnParameters": { - "id": 10716, + "id": 10879, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10715, + "id": 10878, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10724, - "src": "3159:7:39", + "scope": 10887, + "src": "3167:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4191,10 +4197,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10714, + "id": 10877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3159:7:39", + "src": "3167:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4204,19 +4210,19 @@ "visibility": "internal" } ], - "src": "3158:9:39" + "src": "3166:9:39" }, - "scope": 10794, - "src": "3101:130:39", + "scope": 10957, + "src": "3109:130:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10751, + "id": 10914, "nodeType": "Block", - "src": "3808:177:39", + "src": "3816:177:39", "statements": [ { "expression": { @@ -4228,19 +4234,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10739, + "id": 10902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10737, + "id": 10900, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "3826:1:39", + "referencedDeclaration": 10892, + "src": "3834:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4251,14 +4257,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10738, + "id": 10901, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3830:1:39", + "src": "3838:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4266,7 +4272,7 @@ }, "value": "0" }, - "src": "3826:5:39", + "src": "3834:5:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4274,12 +4280,12 @@ }, { "argumentTypes": null, - "id": 10740, + "id": 10903, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10731, - "src": "3833:12:39", + "referencedDeclaration": 10894, + "src": "3841:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4297,7 +4303,7 @@ "typeString": "string memory" } ], - "id": 10736, + "id": 10899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4305,13 +4311,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3818:7:39", + "src": "3826:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10741, + "id": 10904, "isConstant": false, "isLValue": false, "isPure": false, @@ -4319,31 +4325,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:28:39", + "src": "3826:28:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10742, + "id": 10905, "nodeType": "ExpressionStatement", - "src": "3818:28:39" + "src": "3826:28:39" }, { "assignments": [ - 10744 + 10907 ], "declarations": [ { "constant": false, - "id": 10744, + "id": 10907, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10751, - "src": "3856:9:39", + "scope": 10914, + "src": "3864:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4351,10 +4357,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10743, + "id": 10906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3856:7:39", + "src": "3864:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4364,26 +4370,26 @@ "visibility": "internal" } ], - "id": 10748, + "id": 10911, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10747, + "id": 10910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10745, + "id": 10908, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "3868:1:39", + "referencedDeclaration": 10890, + "src": "3876:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4393,54 +4399,54 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10746, + "id": 10909, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "3872:1:39", + "referencedDeclaration": 10892, + "src": "3880:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3868:5:39", + "src": "3876:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3856:17:39" + "src": "3864:17:39" }, { "expression": { "argumentTypes": null, - "id": 10749, + "id": 10912, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10744, - "src": "3977:1:39", + "referencedDeclaration": 10907, + "src": "3985:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10735, - "id": 10750, + "functionReturnParameters": 10898, + "id": 10913, "nodeType": "Return", - "src": "3970:8:39" + "src": "3978:8:39" } ] }, "documentation": { - "id": 10725, + "id": 10888, "nodeType": "StructuredDocumentation", - "src": "3237:471:39", + "src": "3245:471:39", "text": "@dev Returns the integer division of two unsigned integers. Reverts with custom message on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10752, + "id": 10915, "implemented": true, "kind": "function", "modifiers": [], @@ -4448,18 +4454,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10732, + "id": 10895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10727, + "id": 10890, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3726:9:39", + "scope": 10915, + "src": "3734:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4467,10 +4473,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10726, + "id": 10889, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3726:7:39", + "src": "3734:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4481,13 +4487,13 @@ }, { "constant": false, - "id": 10729, + "id": 10892, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3737:9:39", + "scope": 10915, + "src": "3745:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4495,10 +4501,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10728, + "id": 10891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3737:7:39", + "src": "3745:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4509,13 +4515,13 @@ }, { "constant": false, - "id": 10731, + "id": 10894, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3748:26:39", + "scope": 10915, + "src": "3756:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4523,10 +4529,10 @@ "typeString": "string" }, "typeName": { - "id": 10730, + "id": 10893, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3748:6:39", + "src": "3756:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4536,21 +4542,21 @@ "visibility": "internal" } ], - "src": "3725:50:39" + "src": "3733:50:39" }, "returnParameters": { - "id": 10735, + "id": 10898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10734, + "id": 10897, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10752, - "src": "3799:7:39", + "scope": 10915, + "src": "3807:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4558,10 +4564,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10733, + "id": 10896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3799:7:39", + "src": "3807:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4571,19 +4577,19 @@ "visibility": "internal" } ], - "src": "3798:9:39" + "src": "3806:9:39" }, - "scope": 10794, - "src": "3713:272:39", + "scope": 10957, + "src": "3721:272:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10768, + "id": 10931, "nodeType": "Block", - "src": "4503:61:39", + "src": "4511:61:39", "statements": [ { "expression": { @@ -4591,12 +4597,12 @@ "arguments": [ { "argumentTypes": null, - "id": 10763, + "id": 10926, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10755, - "src": "4524:1:39", + "referencedDeclaration": 10918, + "src": "4532:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4604,12 +4610,12 @@ }, { "argumentTypes": null, - "id": 10764, + "id": 10927, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "4527:1:39", + "referencedDeclaration": 10920, + "src": "4535:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4618,14 +4624,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 10765, + "id": 10928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4530:26:39", + "src": "4538:26:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -4649,21 +4655,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 10762, + "id": 10925, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 10769, - 10793 + 10932, + 10956 ], - "referencedDeclaration": 10793, - "src": "4520:3:39", + "referencedDeclaration": 10956, + "src": "4528:3:39", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 10766, + "id": 10929, "isConstant": false, "isLValue": false, "isPure": false, @@ -4671,27 +4677,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4520:37:39", + "src": "4528:37:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10761, - "id": 10767, + "functionReturnParameters": 10924, + "id": 10930, "nodeType": "Return", - "src": "4513:44:39" + "src": "4521:44:39" } ] }, "documentation": { - "id": 10753, + "id": 10916, "nodeType": "StructuredDocumentation", - "src": "3991:440:39", + "src": "3999:440:39", "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10769, + "id": 10932, "implemented": true, "kind": "function", "modifiers": [], @@ -4699,18 +4705,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10758, + "id": 10921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10755, + "id": 10918, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4449:9:39", + "scope": 10932, + "src": "4457:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4718,10 +4724,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10754, + "id": 10917, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4449:7:39", + "src": "4457:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4732,13 +4738,13 @@ }, { "constant": false, - "id": 10757, + "id": 10920, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4460:9:39", + "scope": 10932, + "src": "4468:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4746,10 +4752,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10756, + "id": 10919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4460:7:39", + "src": "4468:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4759,21 +4765,21 @@ "visibility": "internal" } ], - "src": "4448:22:39" + "src": "4456:22:39" }, "returnParameters": { - "id": 10761, + "id": 10924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10760, + "id": 10923, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10769, - "src": "4494:7:39", + "scope": 10932, + "src": "4502:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4781,10 +4787,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10759, + "id": 10922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4494:7:39", + "src": "4502:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4794,19 +4800,19 @@ "visibility": "internal" } ], - "src": "4493:9:39" + "src": "4501:9:39" }, - "scope": 10794, - "src": "4436:128:39", + "scope": 10957, + "src": "4444:128:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 10792, + "id": 10955, "nodeType": "Block", - "src": "5130:68:39", + "src": "5138:68:39", "statements": [ { "expression": { @@ -4818,19 +4824,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10784, + "id": 10947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10782, + "id": 10945, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10774, - "src": "5148:1:39", + "referencedDeclaration": 10937, + "src": "5156:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4841,14 +4847,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10783, + "id": 10946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5153:1:39", + "src": "5161:1:39", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4856,7 +4862,7 @@ }, "value": "0" }, - "src": "5148:6:39", + "src": "5156:6:39", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4864,12 +4870,12 @@ }, { "argumentTypes": null, - "id": 10785, + "id": 10948, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "5156:12:39", + "referencedDeclaration": 10939, + "src": "5164:12:39", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4887,7 +4893,7 @@ "typeString": "string memory" } ], - "id": 10781, + "id": 10944, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4895,13 +4901,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5140:7:39", + "src": "5148:7:39", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10786, + "id": 10949, "isConstant": false, "isLValue": false, "isPure": false, @@ -4909,16 +4915,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5140:29:39", + "src": "5148:29:39", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10787, + "id": 10950, "nodeType": "ExpressionStatement", - "src": "5140:29:39" + "src": "5148:29:39" }, { "expression": { @@ -4927,19 +4933,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10790, + "id": 10953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10788, + "id": 10951, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10772, - "src": "5186:1:39", + "referencedDeclaration": 10935, + "src": "5194:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4949,37 +4955,37 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 10789, + "id": 10952, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10774, - "src": "5190:1:39", + "referencedDeclaration": 10937, + "src": "5198:1:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5186:5:39", + "src": "5194:5:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10780, - "id": 10791, + "functionReturnParameters": 10943, + "id": 10954, "nodeType": "Return", - "src": "5179:12:39" + "src": "5187:12:39" } ] }, "documentation": { - "id": 10770, + "id": 10933, "nodeType": "StructuredDocumentation", - "src": "4570:460:39", + "src": "4578:460:39", "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts with custom message when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." }, - "id": 10793, + "id": 10956, "implemented": true, "kind": "function", "modifiers": [], @@ -4987,18 +4993,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10777, + "id": 10940, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10772, + "id": 10935, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5048:9:39", + "scope": 10956, + "src": "5056:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5006,10 +5012,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10771, + "id": 10934, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5048:7:39", + "src": "5056:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5020,13 +5026,13 @@ }, { "constant": false, - "id": 10774, + "id": 10937, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5059:9:39", + "scope": 10956, + "src": "5067:9:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5034,10 +5040,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10773, + "id": 10936, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5059:7:39", + "src": "5067:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5048,13 +5054,13 @@ }, { "constant": false, - "id": 10776, + "id": 10939, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5070:26:39", + "scope": 10956, + "src": "5078:26:39", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5062,10 +5068,10 @@ "typeString": "string" }, "typeName": { - "id": 10775, + "id": 10938, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5070:6:39", + "src": "5078:6:39", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5075,21 +5081,21 @@ "visibility": "internal" } ], - "src": "5047:50:39" + "src": "5055:50:39" }, "returnParameters": { - "id": 10780, + "id": 10943, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10779, + "id": 10942, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10793, - "src": "5121:7:39", + "scope": 10956, + "src": "5129:7:39", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5097,10 +5103,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10778, + "id": 10941, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5121:7:39", + "src": "5129:7:39", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5110,20 +5116,20 @@ "visibility": "internal" } ], - "src": "5120:9:39" + "src": "5128:9:39" }, - "scope": 10794, - "src": "5035:163:39", + "scope": 10957, + "src": "5043:163:39", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 10795, - "src": "622:4578:39" + "scope": 10958, + "src": "630:4578:39" } ], - "src": "33:5168:39" + "src": "33:5176:39" }, "compiler": { "name": "solc", @@ -5131,7 +5137,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.117Z", + "updatedAt": "2020-12-12T01:13:52.701Z", "devdoc": { "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", "methods": {} diff --git a/AskoLend-contracts/build/contracts/TransferHelper.json b/AskoLend-contracts/build/contracts/TransferHelper.json index 1b324e68..beeee381 100644 --- a/AskoLend-contracts/build/contracts/TransferHelper.json +++ b/AskoLend-contracts/build/contracts/TransferHelper.json @@ -13,14 +13,14 @@ "absolutePath": "@uniswap/lib/contracts/libraries/TransferHelper.sol", "exportedSymbols": { "TransferHelper": [ - 6969 + 7132 ] }, - "id": 6970, + "id": 7133, "nodeType": "SourceUnit", "nodes": [ { - "id": 6811, + "id": 6974, "literals": [ "solidity", ">=", @@ -37,33 +37,33 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 6969, + "id": 7132, "linearizedBaseContracts": [ - 6969 + 7132 ], "name": "TransferHelper", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 6853, + "id": 7016, "nodeType": "Block", "src": "235:285:26", "statements": [ { "assignments": [ - 6821, - 6823 + 6984, + 6986 ], "declarations": [ { "constant": false, - "id": 6821, + "id": 6984, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6853, + "scope": 7016, "src": "311:12:26", "stateVariable": false, "storageLocation": "default", @@ -72,7 +72,7 @@ "typeString": "bool" }, "typeName": { - "id": 6820, + "id": 6983, "name": "bool", "nodeType": "ElementaryTypeName", "src": "311:4:26", @@ -86,12 +86,12 @@ }, { "constant": false, - "id": 6823, + "id": 6986, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6853, + "scope": 7016, "src": "325:17:26", "stateVariable": false, "storageLocation": "memory", @@ -100,7 +100,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6822, + "id": 6985, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "325:5:26", @@ -113,7 +113,7 @@ "visibility": "internal" } ], - "id": 6833, + "id": 6996, "initialValue": { "argumentTypes": null, "arguments": [ @@ -123,7 +123,7 @@ { "argumentTypes": null, "hexValue": "30783039356561376233", - "id": 6828, + "id": 6991, "isConstant": false, "isLValue": false, "isPure": true, @@ -140,11 +140,11 @@ }, { "argumentTypes": null, - "id": 6829, + "id": 6992, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6815, + "referencedDeclaration": 6978, "src": "392:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -153,11 +153,11 @@ }, { "argumentTypes": null, - "id": 6830, + "id": 6993, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6817, + "referencedDeclaration": 6980, "src": "396:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -182,7 +182,7 @@ ], "expression": { "argumentTypes": null, - "id": 6826, + "id": 6989, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -193,7 +193,7 @@ "typeString": "abi" } }, - "id": 6827, + "id": 6990, "isConstant": false, "isLValue": false, "isPure": true, @@ -207,7 +207,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6831, + "id": 6994, "isConstant": false, "isLValue": false, "isPure": false, @@ -232,18 +232,18 @@ ], "expression": { "argumentTypes": null, - "id": 6824, + "id": 6987, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6813, + "referencedDeclaration": 6976, "src": "346:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6825, + "id": 6988, "isConstant": false, "isLValue": false, "isPure": false, @@ -257,7 +257,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6832, + "id": 6995, "isConstant": false, "isLValue": false, "isPure": false, @@ -285,18 +285,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6849, + "id": 7012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6835, + "id": 6998, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6821, + "referencedDeclaration": 6984, "src": "421:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -314,7 +314,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6847, + "id": 7010, "isConstant": false, "isLValue": false, "isPure": false, @@ -325,7 +325,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6839, + "id": 7002, "isConstant": false, "isLValue": false, "isPure": false, @@ -334,18 +334,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6836, + "id": 6999, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6823, + "referencedDeclaration": 6986, "src": "433:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6837, + "id": 7000, "isConstant": false, "isLValue": false, "isPure": false, @@ -364,7 +364,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6838, + "id": 7001, "isConstant": false, "isLValue": false, "isPure": true, @@ -392,11 +392,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6842, + "id": 7005, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6823, + "referencedDeclaration": 6986, "src": "464:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -408,7 +408,7 @@ "components": [ { "argumentTypes": null, - "id": 6844, + "id": 7007, "isConstant": false, "isLValue": false, "isPure": true, @@ -420,7 +420,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6843, + "id": 7006, "name": "bool", "nodeType": "ElementaryTypeName", "src": "471:4:26", @@ -431,7 +431,7 @@ } } ], - "id": 6845, + "id": 7008, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -458,7 +458,7 @@ ], "expression": { "argumentTypes": null, - "id": 6840, + "id": 7003, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -469,7 +469,7 @@ "typeString": "abi" } }, - "id": 6841, + "id": 7004, "isConstant": false, "isLValue": false, "isPure": true, @@ -483,7 +483,7 @@ "typeString": "function () pure" } }, - "id": 6846, + "id": 7009, "isConstant": false, "isLValue": false, "isPure": false, @@ -505,7 +505,7 @@ } } ], - "id": 6848, + "id": 7011, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -527,7 +527,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a20415050524f56455f4641494c4544", - "id": 6850, + "id": 7013, "isConstant": false, "isLValue": false, "isPure": true, @@ -554,7 +554,7 @@ "typeString": "literal_string \"TransferHelper: APPROVE_FAILED\"" } ], - "id": 6834, + "id": 6997, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -568,7 +568,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6851, + "id": 7014, "isConstant": false, "isLValue": false, "isPure": false, @@ -583,14 +583,14 @@ "typeString": "tuple()" } }, - "id": 6852, + "id": 7015, "nodeType": "ExpressionStatement", "src": "413:100:26" } ] }, "documentation": null, - "id": 6854, + "id": 7017, "implemented": true, "kind": "function", "modifiers": [], @@ -598,17 +598,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6818, + "id": 6981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6813, + "id": 6976, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "187:13:26", "stateVariable": false, "storageLocation": "default", @@ -617,7 +617,7 @@ "typeString": "address" }, "typeName": { - "id": 6812, + "id": 6975, "name": "address", "nodeType": "ElementaryTypeName", "src": "187:7:26", @@ -632,12 +632,12 @@ }, { "constant": false, - "id": 6815, + "id": 6978, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "202:10:26", "stateVariable": false, "storageLocation": "default", @@ -646,7 +646,7 @@ "typeString": "address" }, "typeName": { - "id": 6814, + "id": 6977, "name": "address", "nodeType": "ElementaryTypeName", "src": "202:7:26", @@ -661,12 +661,12 @@ }, { "constant": false, - "id": 6817, + "id": 6980, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "214:10:26", "stateVariable": false, "storageLocation": "default", @@ -675,7 +675,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6816, + "id": 6979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "214:4:26", @@ -691,12 +691,12 @@ "src": "186:39:26" }, "returnParameters": { - "id": 6819, + "id": 6982, "nodeType": "ParameterList", "parameters": [], "src": "235:0:26" }, - "scope": 6969, + "scope": 7132, "src": "166:354:26", "stateMutability": "nonpayable", "virtual": false, @@ -704,24 +704,24 @@ }, { "body": { - "id": 6896, + "id": 7059, "nodeType": "Block", "src": "596:287:26", "statements": [ { "assignments": [ - 6864, - 6866 + 7027, + 7029 ], "declarations": [ { "constant": false, - "id": 6864, + "id": 7027, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6896, + "scope": 7059, "src": "673:12:26", "stateVariable": false, "storageLocation": "default", @@ -730,7 +730,7 @@ "typeString": "bool" }, "typeName": { - "id": 6863, + "id": 7026, "name": "bool", "nodeType": "ElementaryTypeName", "src": "673:4:26", @@ -744,12 +744,12 @@ }, { "constant": false, - "id": 6866, + "id": 7029, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6896, + "scope": 7059, "src": "687:17:26", "stateVariable": false, "storageLocation": "memory", @@ -758,7 +758,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6865, + "id": 7028, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "687:5:26", @@ -771,7 +771,7 @@ "visibility": "internal" } ], - "id": 6876, + "id": 7039, "initialValue": { "argumentTypes": null, "arguments": [ @@ -781,7 +781,7 @@ { "argumentTypes": null, "hexValue": "30786139303539636262", - "id": 6871, + "id": 7034, "isConstant": false, "isLValue": false, "isPure": true, @@ -798,11 +798,11 @@ }, { "argumentTypes": null, - "id": 6872, + "id": 7035, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6858, + "referencedDeclaration": 7021, "src": "754:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -811,11 +811,11 @@ }, { "argumentTypes": null, - "id": 6873, + "id": 7036, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6860, + "referencedDeclaration": 7023, "src": "758:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -840,7 +840,7 @@ ], "expression": { "argumentTypes": null, - "id": 6869, + "id": 7032, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -851,7 +851,7 @@ "typeString": "abi" } }, - "id": 6870, + "id": 7033, "isConstant": false, "isLValue": false, "isPure": true, @@ -865,7 +865,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6874, + "id": 7037, "isConstant": false, "isLValue": false, "isPure": false, @@ -890,18 +890,18 @@ ], "expression": { "argumentTypes": null, - "id": 6867, + "id": 7030, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6856, + "referencedDeclaration": 7019, "src": "708:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6868, + "id": 7031, "isConstant": false, "isLValue": false, "isPure": false, @@ -915,7 +915,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6875, + "id": 7038, "isConstant": false, "isLValue": false, "isPure": false, @@ -943,18 +943,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6892, + "id": 7055, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6878, + "id": 7041, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6864, + "referencedDeclaration": 7027, "src": "783:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -972,7 +972,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6890, + "id": 7053, "isConstant": false, "isLValue": false, "isPure": false, @@ -983,7 +983,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6882, + "id": 7045, "isConstant": false, "isLValue": false, "isPure": false, @@ -992,18 +992,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6879, + "id": 7042, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6866, + "referencedDeclaration": 7029, "src": "795:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6880, + "id": 7043, "isConstant": false, "isLValue": false, "isPure": false, @@ -1022,7 +1022,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6881, + "id": 7044, "isConstant": false, "isLValue": false, "isPure": true, @@ -1050,11 +1050,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6885, + "id": 7048, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6866, + "referencedDeclaration": 7029, "src": "826:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1066,7 +1066,7 @@ "components": [ { "argumentTypes": null, - "id": 6887, + "id": 7050, "isConstant": false, "isLValue": false, "isPure": true, @@ -1078,7 +1078,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6886, + "id": 7049, "name": "bool", "nodeType": "ElementaryTypeName", "src": "833:4:26", @@ -1089,7 +1089,7 @@ } } ], - "id": 6888, + "id": 7051, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1116,7 +1116,7 @@ ], "expression": { "argumentTypes": null, - "id": 6883, + "id": 7046, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1127,7 +1127,7 @@ "typeString": "abi" } }, - "id": 6884, + "id": 7047, "isConstant": false, "isLValue": false, "isPure": true, @@ -1141,7 +1141,7 @@ "typeString": "function () pure" } }, - "id": 6889, + "id": 7052, "isConstant": false, "isLValue": false, "isPure": false, @@ -1163,7 +1163,7 @@ } } ], - "id": 6891, + "id": 7054, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1185,7 +1185,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a205452414e534645525f4641494c4544", - "id": 6893, + "id": 7056, "isConstant": false, "isLValue": false, "isPure": true, @@ -1212,7 +1212,7 @@ "typeString": "literal_string \"TransferHelper: TRANSFER_FAILED\"" } ], - "id": 6877, + "id": 7040, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1226,7 +1226,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6894, + "id": 7057, "isConstant": false, "isLValue": false, "isPure": false, @@ -1241,14 +1241,14 @@ "typeString": "tuple()" } }, - "id": 6895, + "id": 7058, "nodeType": "ExpressionStatement", "src": "775:101:26" } ] }, "documentation": null, - "id": 6897, + "id": 7060, "implemented": true, "kind": "function", "modifiers": [], @@ -1256,17 +1256,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6861, + "id": 7024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6856, + "id": 7019, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "548:13:26", "stateVariable": false, "storageLocation": "default", @@ -1275,7 +1275,7 @@ "typeString": "address" }, "typeName": { - "id": 6855, + "id": 7018, "name": "address", "nodeType": "ElementaryTypeName", "src": "548:7:26", @@ -1290,12 +1290,12 @@ }, { "constant": false, - "id": 6858, + "id": 7021, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "563:10:26", "stateVariable": false, "storageLocation": "default", @@ -1304,7 +1304,7 @@ "typeString": "address" }, "typeName": { - "id": 6857, + "id": 7020, "name": "address", "nodeType": "ElementaryTypeName", "src": "563:7:26", @@ -1319,12 +1319,12 @@ }, { "constant": false, - "id": 6860, + "id": 7023, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "575:10:26", "stateVariable": false, "storageLocation": "default", @@ -1333,7 +1333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6859, + "id": 7022, "name": "uint", "nodeType": "ElementaryTypeName", "src": "575:4:26", @@ -1349,12 +1349,12 @@ "src": "547:39:26" }, "returnParameters": { - "id": 6862, + "id": 7025, "nodeType": "ParameterList", "parameters": [], "src": "596:0:26" }, - "scope": 6969, + "scope": 7132, "src": "526:357:26", "stateMutability": "nonpayable", "virtual": false, @@ -1362,24 +1362,24 @@ }, { "body": { - "id": 6942, + "id": 7105, "nodeType": "Block", "src": "977:310:26", "statements": [ { "assignments": [ - 6909, - 6911 + 7072, + 7074 ], "declarations": [ { "constant": false, - "id": 6909, + "id": 7072, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6942, + "scope": 7105, "src": "1066:12:26", "stateVariable": false, "storageLocation": "default", @@ -1388,7 +1388,7 @@ "typeString": "bool" }, "typeName": { - "id": 6908, + "id": 7071, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1066:4:26", @@ -1402,12 +1402,12 @@ }, { "constant": false, - "id": 6911, + "id": 7074, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6942, + "scope": 7105, "src": "1080:17:26", "stateVariable": false, "storageLocation": "memory", @@ -1416,7 +1416,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6910, + "id": 7073, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1080:5:26", @@ -1429,7 +1429,7 @@ "visibility": "internal" } ], - "id": 6922, + "id": 7085, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1439,7 +1439,7 @@ { "argumentTypes": null, "hexValue": "30783233623837326464", - "id": 6916, + "id": 7079, "isConstant": false, "isLValue": false, "isPure": true, @@ -1456,11 +1456,11 @@ }, { "argumentTypes": null, - "id": 6917, + "id": 7080, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6901, + "referencedDeclaration": 7064, "src": "1147:4:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1469,11 +1469,11 @@ }, { "argumentTypes": null, - "id": 6918, + "id": 7081, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6903, + "referencedDeclaration": 7066, "src": "1153:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1482,11 +1482,11 @@ }, { "argumentTypes": null, - "id": 6919, + "id": 7082, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, + "referencedDeclaration": 7068, "src": "1157:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1515,7 +1515,7 @@ ], "expression": { "argumentTypes": null, - "id": 6914, + "id": 7077, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1526,7 +1526,7 @@ "typeString": "abi" } }, - "id": 6915, + "id": 7078, "isConstant": false, "isLValue": false, "isPure": true, @@ -1540,7 +1540,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6920, + "id": 7083, "isConstant": false, "isLValue": false, "isPure": false, @@ -1565,18 +1565,18 @@ ], "expression": { "argumentTypes": null, - "id": 6912, + "id": 7075, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6899, + "referencedDeclaration": 7062, "src": "1101:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6913, + "id": 7076, "isConstant": false, "isLValue": false, "isPure": false, @@ -1590,7 +1590,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6921, + "id": 7084, "isConstant": false, "isLValue": false, "isPure": false, @@ -1618,18 +1618,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6938, + "id": 7101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6924, + "id": 7087, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6909, + "referencedDeclaration": 7072, "src": "1182:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1647,7 +1647,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6936, + "id": 7099, "isConstant": false, "isLValue": false, "isPure": false, @@ -1658,7 +1658,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6928, + "id": 7091, "isConstant": false, "isLValue": false, "isPure": false, @@ -1667,18 +1667,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6925, + "id": 7088, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6911, + "referencedDeclaration": 7074, "src": "1194:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6926, + "id": 7089, "isConstant": false, "isLValue": false, "isPure": false, @@ -1697,7 +1697,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6927, + "id": 7090, "isConstant": false, "isLValue": false, "isPure": true, @@ -1725,11 +1725,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6931, + "id": 7094, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6911, + "referencedDeclaration": 7074, "src": "1225:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -1741,7 +1741,7 @@ "components": [ { "argumentTypes": null, - "id": 6933, + "id": 7096, "isConstant": false, "isLValue": false, "isPure": true, @@ -1753,7 +1753,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6932, + "id": 7095, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1232:4:26", @@ -1764,7 +1764,7 @@ } } ], - "id": 6934, + "id": 7097, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1791,7 +1791,7 @@ ], "expression": { "argumentTypes": null, - "id": 6929, + "id": 7092, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1802,7 +1802,7 @@ "typeString": "abi" } }, - "id": 6930, + "id": 7093, "isConstant": false, "isLValue": false, "isPure": true, @@ -1816,7 +1816,7 @@ "typeString": "function () pure" } }, - "id": 6935, + "id": 7098, "isConstant": false, "isLValue": false, "isPure": false, @@ -1838,7 +1838,7 @@ } } ], - "id": 6937, + "id": 7100, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1860,7 +1860,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544", - "id": 6939, + "id": 7102, "isConstant": false, "isLValue": false, "isPure": true, @@ -1887,7 +1887,7 @@ "typeString": "literal_string \"TransferHelper: TRANSFER_FROM_FAILED\"" } ], - "id": 6923, + "id": 7086, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1901,7 +1901,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6940, + "id": 7103, "isConstant": false, "isLValue": false, "isPure": false, @@ -1916,14 +1916,14 @@ "typeString": "tuple()" } }, - "id": 6941, + "id": 7104, "nodeType": "ExpressionStatement", "src": "1174:106:26" } ] }, "documentation": null, - "id": 6943, + "id": 7106, "implemented": true, "kind": "function", "modifiers": [], @@ -1931,17 +1931,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6906, + "id": 7069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6899, + "id": 7062, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "915:13:26", "stateVariable": false, "storageLocation": "default", @@ -1950,7 +1950,7 @@ "typeString": "address" }, "typeName": { - "id": 6898, + "id": 7061, "name": "address", "nodeType": "ElementaryTypeName", "src": "915:7:26", @@ -1965,12 +1965,12 @@ }, { "constant": false, - "id": 6901, + "id": 7064, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "930:12:26", "stateVariable": false, "storageLocation": "default", @@ -1979,7 +1979,7 @@ "typeString": "address" }, "typeName": { - "id": 6900, + "id": 7063, "name": "address", "nodeType": "ElementaryTypeName", "src": "930:7:26", @@ -1994,12 +1994,12 @@ }, { "constant": false, - "id": 6903, + "id": 7066, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "944:10:26", "stateVariable": false, "storageLocation": "default", @@ -2008,7 +2008,7 @@ "typeString": "address" }, "typeName": { - "id": 6902, + "id": 7065, "name": "address", "nodeType": "ElementaryTypeName", "src": "944:7:26", @@ -2023,12 +2023,12 @@ }, { "constant": false, - "id": 6905, + "id": 7068, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "956:10:26", "stateVariable": false, "storageLocation": "default", @@ -2037,7 +2037,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6904, + "id": 7067, "name": "uint", "nodeType": "ElementaryTypeName", "src": "956:4:26", @@ -2053,12 +2053,12 @@ "src": "914:53:26" }, "returnParameters": { - "id": 6907, + "id": 7070, "nodeType": "ParameterList", "parameters": [], "src": "977:0:26" }, - "scope": 6969, + "scope": 7132, "src": "889:398:26", "stateMutability": "nonpayable", "virtual": false, @@ -2066,24 +2066,24 @@ }, { "body": { - "id": 6967, + "id": 7130, "nodeType": "Block", "src": "1351:134:26", "statements": [ { "assignments": [ - 6951, + 7114, null ], "declarations": [ { "constant": false, - "id": 6951, + "id": 7114, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6967, + "scope": 7130, "src": "1362:12:26", "stateVariable": false, "storageLocation": "default", @@ -2092,7 +2092,7 @@ "typeString": "bool" }, "typeName": { - "id": 6950, + "id": 7113, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1362:4:26", @@ -2106,7 +2106,7 @@ }, null ], - "id": 6961, + "id": 7124, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2116,7 +2116,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6958, + "id": 7121, "isConstant": false, "isLValue": false, "isPure": true, @@ -2139,7 +2139,7 @@ "typeString": "int_const 0" } ], - "id": 6957, + "id": 7120, "isConstant": false, "isLValue": false, "isPure": true, @@ -2151,7 +2151,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 6956, + "id": 7119, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1404:5:26", @@ -2161,7 +2161,7 @@ } } }, - "id": 6959, + "id": 7122, "isConstant": false, "isLValue": false, "isPure": true, @@ -2188,18 +2188,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6952, + "id": 7115, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6945, + "referencedDeclaration": 7108, "src": "1379:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6953, + "id": 7116, "isConstant": false, "isLValue": false, "isPure": false, @@ -2213,7 +2213,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6955, + "id": 7118, "isConstant": false, "isLValue": false, "isPure": false, @@ -2225,11 +2225,11 @@ "options": [ { "argumentTypes": null, - "id": 6954, + "id": 7117, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6947, + "referencedDeclaration": 7110, "src": "1393:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2243,7 +2243,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6960, + "id": 7123, "isConstant": false, "isLValue": false, "isPure": false, @@ -2267,11 +2267,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6963, + "id": 7126, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, + "referencedDeclaration": 7114, "src": "1431:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2281,7 +2281,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544", - "id": 6964, + "id": 7127, "isConstant": false, "isLValue": false, "isPure": true, @@ -2308,7 +2308,7 @@ "typeString": "literal_string \"TransferHelper: ETH_TRANSFER_FAILED\"" } ], - "id": 6962, + "id": 7125, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2322,7 +2322,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6965, + "id": 7128, "isConstant": false, "isLValue": false, "isPure": false, @@ -2337,14 +2337,14 @@ "typeString": "tuple()" } }, - "id": 6966, + "id": 7129, "nodeType": "ExpressionStatement", "src": "1423:55:26" } ] }, "documentation": null, - "id": 6968, + "id": 7131, "implemented": true, "kind": "function", "modifiers": [], @@ -2352,17 +2352,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6948, + "id": 7111, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6945, + "id": 7108, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6968, + "scope": 7131, "src": "1318:10:26", "stateVariable": false, "storageLocation": "default", @@ -2371,7 +2371,7 @@ "typeString": "address" }, "typeName": { - "id": 6944, + "id": 7107, "name": "address", "nodeType": "ElementaryTypeName", "src": "1318:7:26", @@ -2386,12 +2386,12 @@ }, { "constant": false, - "id": 6947, + "id": 7110, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6968, + "scope": 7131, "src": "1330:10:26", "stateVariable": false, "storageLocation": "default", @@ -2400,7 +2400,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6946, + "id": 7109, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1330:4:26", @@ -2416,19 +2416,19 @@ "src": "1317:24:26" }, "returnParameters": { - "id": 6949, + "id": 7112, "nodeType": "ParameterList", "parameters": [], "src": "1351:0:26" }, - "scope": 6969, + "scope": 7132, "src": "1293:192:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 6970, + "scope": 7133, "src": "137:1350:26" } ], @@ -2438,14 +2438,14 @@ "absolutePath": "@uniswap/lib/contracts/libraries/TransferHelper.sol", "exportedSymbols": { "TransferHelper": [ - 6969 + 7132 ] }, - "id": 6970, + "id": 7133, "nodeType": "SourceUnit", "nodes": [ { - "id": 6811, + "id": 6974, "literals": [ "solidity", ">=", @@ -2462,33 +2462,33 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 6969, + "id": 7132, "linearizedBaseContracts": [ - 6969 + 7132 ], "name": "TransferHelper", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 6853, + "id": 7016, "nodeType": "Block", "src": "235:285:26", "statements": [ { "assignments": [ - 6821, - 6823 + 6984, + 6986 ], "declarations": [ { "constant": false, - "id": 6821, + "id": 6984, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6853, + "scope": 7016, "src": "311:12:26", "stateVariable": false, "storageLocation": "default", @@ -2497,7 +2497,7 @@ "typeString": "bool" }, "typeName": { - "id": 6820, + "id": 6983, "name": "bool", "nodeType": "ElementaryTypeName", "src": "311:4:26", @@ -2511,12 +2511,12 @@ }, { "constant": false, - "id": 6823, + "id": 6986, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6853, + "scope": 7016, "src": "325:17:26", "stateVariable": false, "storageLocation": "memory", @@ -2525,7 +2525,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6822, + "id": 6985, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "325:5:26", @@ -2538,7 +2538,7 @@ "visibility": "internal" } ], - "id": 6833, + "id": 6996, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2548,7 +2548,7 @@ { "argumentTypes": null, "hexValue": "30783039356561376233", - "id": 6828, + "id": 6991, "isConstant": false, "isLValue": false, "isPure": true, @@ -2565,11 +2565,11 @@ }, { "argumentTypes": null, - "id": 6829, + "id": 6992, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6815, + "referencedDeclaration": 6978, "src": "392:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2578,11 +2578,11 @@ }, { "argumentTypes": null, - "id": 6830, + "id": 6993, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6817, + "referencedDeclaration": 6980, "src": "396:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2607,7 +2607,7 @@ ], "expression": { "argumentTypes": null, - "id": 6826, + "id": 6989, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2618,7 +2618,7 @@ "typeString": "abi" } }, - "id": 6827, + "id": 6990, "isConstant": false, "isLValue": false, "isPure": true, @@ -2632,7 +2632,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6831, + "id": 6994, "isConstant": false, "isLValue": false, "isPure": false, @@ -2657,18 +2657,18 @@ ], "expression": { "argumentTypes": null, - "id": 6824, + "id": 6987, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6813, + "referencedDeclaration": 6976, "src": "346:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6825, + "id": 6988, "isConstant": false, "isLValue": false, "isPure": false, @@ -2682,7 +2682,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6832, + "id": 6995, "isConstant": false, "isLValue": false, "isPure": false, @@ -2710,18 +2710,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6849, + "id": 7012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6835, + "id": 6998, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6821, + "referencedDeclaration": 6984, "src": "421:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2739,7 +2739,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6847, + "id": 7010, "isConstant": false, "isLValue": false, "isPure": false, @@ -2750,7 +2750,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6839, + "id": 7002, "isConstant": false, "isLValue": false, "isPure": false, @@ -2759,18 +2759,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6836, + "id": 6999, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6823, + "referencedDeclaration": 6986, "src": "433:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6837, + "id": 7000, "isConstant": false, "isLValue": false, "isPure": false, @@ -2789,7 +2789,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6838, + "id": 7001, "isConstant": false, "isLValue": false, "isPure": true, @@ -2817,11 +2817,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6842, + "id": 7005, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6823, + "referencedDeclaration": 6986, "src": "464:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2833,7 +2833,7 @@ "components": [ { "argumentTypes": null, - "id": 6844, + "id": 7007, "isConstant": false, "isLValue": false, "isPure": true, @@ -2845,7 +2845,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6843, + "id": 7006, "name": "bool", "nodeType": "ElementaryTypeName", "src": "471:4:26", @@ -2856,7 +2856,7 @@ } } ], - "id": 6845, + "id": 7008, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2883,7 +2883,7 @@ ], "expression": { "argumentTypes": null, - "id": 6840, + "id": 7003, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2894,7 +2894,7 @@ "typeString": "abi" } }, - "id": 6841, + "id": 7004, "isConstant": false, "isLValue": false, "isPure": true, @@ -2908,7 +2908,7 @@ "typeString": "function () pure" } }, - "id": 6846, + "id": 7009, "isConstant": false, "isLValue": false, "isPure": false, @@ -2930,7 +2930,7 @@ } } ], - "id": 6848, + "id": 7011, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2952,7 +2952,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a20415050524f56455f4641494c4544", - "id": 6850, + "id": 7013, "isConstant": false, "isLValue": false, "isPure": true, @@ -2979,7 +2979,7 @@ "typeString": "literal_string \"TransferHelper: APPROVE_FAILED\"" } ], - "id": 6834, + "id": 6997, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2993,7 +2993,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6851, + "id": 7014, "isConstant": false, "isLValue": false, "isPure": false, @@ -3008,14 +3008,14 @@ "typeString": "tuple()" } }, - "id": 6852, + "id": 7015, "nodeType": "ExpressionStatement", "src": "413:100:26" } ] }, "documentation": null, - "id": 6854, + "id": 7017, "implemented": true, "kind": "function", "modifiers": [], @@ -3023,17 +3023,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6818, + "id": 6981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6813, + "id": 6976, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "187:13:26", "stateVariable": false, "storageLocation": "default", @@ -3042,7 +3042,7 @@ "typeString": "address" }, "typeName": { - "id": 6812, + "id": 6975, "name": "address", "nodeType": "ElementaryTypeName", "src": "187:7:26", @@ -3057,12 +3057,12 @@ }, { "constant": false, - "id": 6815, + "id": 6978, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "202:10:26", "stateVariable": false, "storageLocation": "default", @@ -3071,7 +3071,7 @@ "typeString": "address" }, "typeName": { - "id": 6814, + "id": 6977, "name": "address", "nodeType": "ElementaryTypeName", "src": "202:7:26", @@ -3086,12 +3086,12 @@ }, { "constant": false, - "id": 6817, + "id": 6980, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6854, + "scope": 7017, "src": "214:10:26", "stateVariable": false, "storageLocation": "default", @@ -3100,7 +3100,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6816, + "id": 6979, "name": "uint", "nodeType": "ElementaryTypeName", "src": "214:4:26", @@ -3116,12 +3116,12 @@ "src": "186:39:26" }, "returnParameters": { - "id": 6819, + "id": 6982, "nodeType": "ParameterList", "parameters": [], "src": "235:0:26" }, - "scope": 6969, + "scope": 7132, "src": "166:354:26", "stateMutability": "nonpayable", "virtual": false, @@ -3129,24 +3129,24 @@ }, { "body": { - "id": 6896, + "id": 7059, "nodeType": "Block", "src": "596:287:26", "statements": [ { "assignments": [ - 6864, - 6866 + 7027, + 7029 ], "declarations": [ { "constant": false, - "id": 6864, + "id": 7027, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6896, + "scope": 7059, "src": "673:12:26", "stateVariable": false, "storageLocation": "default", @@ -3155,7 +3155,7 @@ "typeString": "bool" }, "typeName": { - "id": 6863, + "id": 7026, "name": "bool", "nodeType": "ElementaryTypeName", "src": "673:4:26", @@ -3169,12 +3169,12 @@ }, { "constant": false, - "id": 6866, + "id": 7029, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6896, + "scope": 7059, "src": "687:17:26", "stateVariable": false, "storageLocation": "memory", @@ -3183,7 +3183,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6865, + "id": 7028, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "687:5:26", @@ -3196,7 +3196,7 @@ "visibility": "internal" } ], - "id": 6876, + "id": 7039, "initialValue": { "argumentTypes": null, "arguments": [ @@ -3206,7 +3206,7 @@ { "argumentTypes": null, "hexValue": "30786139303539636262", - "id": 6871, + "id": 7034, "isConstant": false, "isLValue": false, "isPure": true, @@ -3223,11 +3223,11 @@ }, { "argumentTypes": null, - "id": 6872, + "id": 7035, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6858, + "referencedDeclaration": 7021, "src": "754:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3236,11 +3236,11 @@ }, { "argumentTypes": null, - "id": 6873, + "id": 7036, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6860, + "referencedDeclaration": 7023, "src": "758:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3265,7 +3265,7 @@ ], "expression": { "argumentTypes": null, - "id": 6869, + "id": 7032, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3276,7 +3276,7 @@ "typeString": "abi" } }, - "id": 6870, + "id": 7033, "isConstant": false, "isLValue": false, "isPure": true, @@ -3290,7 +3290,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6874, + "id": 7037, "isConstant": false, "isLValue": false, "isPure": false, @@ -3315,18 +3315,18 @@ ], "expression": { "argumentTypes": null, - "id": 6867, + "id": 7030, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6856, + "referencedDeclaration": 7019, "src": "708:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6868, + "id": 7031, "isConstant": false, "isLValue": false, "isPure": false, @@ -3340,7 +3340,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6875, + "id": 7038, "isConstant": false, "isLValue": false, "isPure": false, @@ -3368,18 +3368,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6892, + "id": 7055, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6878, + "id": 7041, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6864, + "referencedDeclaration": 7027, "src": "783:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3397,7 +3397,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6890, + "id": 7053, "isConstant": false, "isLValue": false, "isPure": false, @@ -3408,7 +3408,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6882, + "id": 7045, "isConstant": false, "isLValue": false, "isPure": false, @@ -3417,18 +3417,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6879, + "id": 7042, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6866, + "referencedDeclaration": 7029, "src": "795:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6880, + "id": 7043, "isConstant": false, "isLValue": false, "isPure": false, @@ -3447,7 +3447,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6881, + "id": 7044, "isConstant": false, "isLValue": false, "isPure": true, @@ -3475,11 +3475,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6885, + "id": 7048, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6866, + "referencedDeclaration": 7029, "src": "826:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3491,7 +3491,7 @@ "components": [ { "argumentTypes": null, - "id": 6887, + "id": 7050, "isConstant": false, "isLValue": false, "isPure": true, @@ -3503,7 +3503,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6886, + "id": 7049, "name": "bool", "nodeType": "ElementaryTypeName", "src": "833:4:26", @@ -3514,7 +3514,7 @@ } } ], - "id": 6888, + "id": 7051, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3541,7 +3541,7 @@ ], "expression": { "argumentTypes": null, - "id": 6883, + "id": 7046, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3552,7 +3552,7 @@ "typeString": "abi" } }, - "id": 6884, + "id": 7047, "isConstant": false, "isLValue": false, "isPure": true, @@ -3566,7 +3566,7 @@ "typeString": "function () pure" } }, - "id": 6889, + "id": 7052, "isConstant": false, "isLValue": false, "isPure": false, @@ -3588,7 +3588,7 @@ } } ], - "id": 6891, + "id": 7054, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3610,7 +3610,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a205452414e534645525f4641494c4544", - "id": 6893, + "id": 7056, "isConstant": false, "isLValue": false, "isPure": true, @@ -3637,7 +3637,7 @@ "typeString": "literal_string \"TransferHelper: TRANSFER_FAILED\"" } ], - "id": 6877, + "id": 7040, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3651,7 +3651,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6894, + "id": 7057, "isConstant": false, "isLValue": false, "isPure": false, @@ -3666,14 +3666,14 @@ "typeString": "tuple()" } }, - "id": 6895, + "id": 7058, "nodeType": "ExpressionStatement", "src": "775:101:26" } ] }, "documentation": null, - "id": 6897, + "id": 7060, "implemented": true, "kind": "function", "modifiers": [], @@ -3681,17 +3681,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6861, + "id": 7024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6856, + "id": 7019, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "548:13:26", "stateVariable": false, "storageLocation": "default", @@ -3700,7 +3700,7 @@ "typeString": "address" }, "typeName": { - "id": 6855, + "id": 7018, "name": "address", "nodeType": "ElementaryTypeName", "src": "548:7:26", @@ -3715,12 +3715,12 @@ }, { "constant": false, - "id": 6858, + "id": 7021, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "563:10:26", "stateVariable": false, "storageLocation": "default", @@ -3729,7 +3729,7 @@ "typeString": "address" }, "typeName": { - "id": 6857, + "id": 7020, "name": "address", "nodeType": "ElementaryTypeName", "src": "563:7:26", @@ -3744,12 +3744,12 @@ }, { "constant": false, - "id": 6860, + "id": 7023, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6897, + "scope": 7060, "src": "575:10:26", "stateVariable": false, "storageLocation": "default", @@ -3758,7 +3758,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6859, + "id": 7022, "name": "uint", "nodeType": "ElementaryTypeName", "src": "575:4:26", @@ -3774,12 +3774,12 @@ "src": "547:39:26" }, "returnParameters": { - "id": 6862, + "id": 7025, "nodeType": "ParameterList", "parameters": [], "src": "596:0:26" }, - "scope": 6969, + "scope": 7132, "src": "526:357:26", "stateMutability": "nonpayable", "virtual": false, @@ -3787,24 +3787,24 @@ }, { "body": { - "id": 6942, + "id": 7105, "nodeType": "Block", "src": "977:310:26", "statements": [ { "assignments": [ - 6909, - 6911 + 7072, + 7074 ], "declarations": [ { "constant": false, - "id": 6909, + "id": 7072, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6942, + "scope": 7105, "src": "1066:12:26", "stateVariable": false, "storageLocation": "default", @@ -3813,7 +3813,7 @@ "typeString": "bool" }, "typeName": { - "id": 6908, + "id": 7071, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1066:4:26", @@ -3827,12 +3827,12 @@ }, { "constant": false, - "id": 6911, + "id": 7074, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6942, + "scope": 7105, "src": "1080:17:26", "stateVariable": false, "storageLocation": "memory", @@ -3841,7 +3841,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6910, + "id": 7073, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1080:5:26", @@ -3854,7 +3854,7 @@ "visibility": "internal" } ], - "id": 6922, + "id": 7085, "initialValue": { "argumentTypes": null, "arguments": [ @@ -3864,7 +3864,7 @@ { "argumentTypes": null, "hexValue": "30783233623837326464", - "id": 6916, + "id": 7079, "isConstant": false, "isLValue": false, "isPure": true, @@ -3881,11 +3881,11 @@ }, { "argumentTypes": null, - "id": 6917, + "id": 7080, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6901, + "referencedDeclaration": 7064, "src": "1147:4:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3894,11 +3894,11 @@ }, { "argumentTypes": null, - "id": 6918, + "id": 7081, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6903, + "referencedDeclaration": 7066, "src": "1153:2:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3907,11 +3907,11 @@ }, { "argumentTypes": null, - "id": 6919, + "id": 7082, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6905, + "referencedDeclaration": 7068, "src": "1157:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3940,7 +3940,7 @@ ], "expression": { "argumentTypes": null, - "id": 6914, + "id": 7077, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3951,7 +3951,7 @@ "typeString": "abi" } }, - "id": 6915, + "id": 7078, "isConstant": false, "isLValue": false, "isPure": true, @@ -3965,7 +3965,7 @@ "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 6920, + "id": 7083, "isConstant": false, "isLValue": false, "isPure": false, @@ -3990,18 +3990,18 @@ ], "expression": { "argumentTypes": null, - "id": 6912, + "id": 7075, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6899, + "referencedDeclaration": 7062, "src": "1101:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6913, + "id": 7076, "isConstant": false, "isLValue": false, "isPure": false, @@ -4015,7 +4015,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6921, + "id": 7084, "isConstant": false, "isLValue": false, "isPure": false, @@ -4043,18 +4043,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6938, + "id": 7101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6924, + "id": 7087, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6909, + "referencedDeclaration": 7072, "src": "1182:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4072,7 +4072,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6936, + "id": 7099, "isConstant": false, "isLValue": false, "isPure": false, @@ -4083,7 +4083,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6928, + "id": 7091, "isConstant": false, "isLValue": false, "isPure": false, @@ -4092,18 +4092,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6925, + "id": 7088, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6911, + "referencedDeclaration": 7074, "src": "1194:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6926, + "id": 7089, "isConstant": false, "isLValue": false, "isPure": false, @@ -4122,7 +4122,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6927, + "id": 7090, "isConstant": false, "isLValue": false, "isPure": true, @@ -4150,11 +4150,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6931, + "id": 7094, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6911, + "referencedDeclaration": 7074, "src": "1225:4:26", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4166,7 +4166,7 @@ "components": [ { "argumentTypes": null, - "id": 6933, + "id": 7096, "isConstant": false, "isLValue": false, "isPure": true, @@ -4178,7 +4178,7 @@ "typeString": "type(bool)" }, "typeName": { - "id": 6932, + "id": 7095, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1232:4:26", @@ -4189,7 +4189,7 @@ } } ], - "id": 6934, + "id": 7097, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4216,7 +4216,7 @@ ], "expression": { "argumentTypes": null, - "id": 6929, + "id": 7092, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4227,7 +4227,7 @@ "typeString": "abi" } }, - "id": 6930, + "id": 7093, "isConstant": false, "isLValue": false, "isPure": true, @@ -4241,7 +4241,7 @@ "typeString": "function () pure" } }, - "id": 6935, + "id": 7098, "isConstant": false, "isLValue": false, "isPure": false, @@ -4263,7 +4263,7 @@ } } ], - "id": 6937, + "id": 7100, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4285,7 +4285,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544", - "id": 6939, + "id": 7102, "isConstant": false, "isLValue": false, "isPure": true, @@ -4312,7 +4312,7 @@ "typeString": "literal_string \"TransferHelper: TRANSFER_FROM_FAILED\"" } ], - "id": 6923, + "id": 7086, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4326,7 +4326,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6940, + "id": 7103, "isConstant": false, "isLValue": false, "isPure": false, @@ -4341,14 +4341,14 @@ "typeString": "tuple()" } }, - "id": 6941, + "id": 7104, "nodeType": "ExpressionStatement", "src": "1174:106:26" } ] }, "documentation": null, - "id": 6943, + "id": 7106, "implemented": true, "kind": "function", "modifiers": [], @@ -4356,17 +4356,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6906, + "id": 7069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6899, + "id": 7062, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "915:13:26", "stateVariable": false, "storageLocation": "default", @@ -4375,7 +4375,7 @@ "typeString": "address" }, "typeName": { - "id": 6898, + "id": 7061, "name": "address", "nodeType": "ElementaryTypeName", "src": "915:7:26", @@ -4390,12 +4390,12 @@ }, { "constant": false, - "id": 6901, + "id": 7064, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "930:12:26", "stateVariable": false, "storageLocation": "default", @@ -4404,7 +4404,7 @@ "typeString": "address" }, "typeName": { - "id": 6900, + "id": 7063, "name": "address", "nodeType": "ElementaryTypeName", "src": "930:7:26", @@ -4419,12 +4419,12 @@ }, { "constant": false, - "id": 6903, + "id": 7066, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "944:10:26", "stateVariable": false, "storageLocation": "default", @@ -4433,7 +4433,7 @@ "typeString": "address" }, "typeName": { - "id": 6902, + "id": 7065, "name": "address", "nodeType": "ElementaryTypeName", "src": "944:7:26", @@ -4448,12 +4448,12 @@ }, { "constant": false, - "id": 6905, + "id": 7068, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6943, + "scope": 7106, "src": "956:10:26", "stateVariable": false, "storageLocation": "default", @@ -4462,7 +4462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6904, + "id": 7067, "name": "uint", "nodeType": "ElementaryTypeName", "src": "956:4:26", @@ -4478,12 +4478,12 @@ "src": "914:53:26" }, "returnParameters": { - "id": 6907, + "id": 7070, "nodeType": "ParameterList", "parameters": [], "src": "977:0:26" }, - "scope": 6969, + "scope": 7132, "src": "889:398:26", "stateMutability": "nonpayable", "virtual": false, @@ -4491,24 +4491,24 @@ }, { "body": { - "id": 6967, + "id": 7130, "nodeType": "Block", "src": "1351:134:26", "statements": [ { "assignments": [ - 6951, + 7114, null ], "declarations": [ { "constant": false, - "id": 6951, + "id": 7114, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6967, + "scope": 7130, "src": "1362:12:26", "stateVariable": false, "storageLocation": "default", @@ -4517,7 +4517,7 @@ "typeString": "bool" }, "typeName": { - "id": 6950, + "id": 7113, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1362:4:26", @@ -4531,7 +4531,7 @@ }, null ], - "id": 6961, + "id": 7124, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4541,7 +4541,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6958, + "id": 7121, "isConstant": false, "isLValue": false, "isPure": true, @@ -4564,7 +4564,7 @@ "typeString": "int_const 0" } ], - "id": 6957, + "id": 7120, "isConstant": false, "isLValue": false, "isPure": true, @@ -4576,7 +4576,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 6956, + "id": 7119, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1404:5:26", @@ -4586,7 +4586,7 @@ } } }, - "id": 6959, + "id": 7122, "isConstant": false, "isLValue": false, "isPure": true, @@ -4613,18 +4613,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6952, + "id": 7115, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6945, + "referencedDeclaration": 7108, "src": "1379:2:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6953, + "id": 7116, "isConstant": false, "isLValue": false, "isPure": false, @@ -4638,7 +4638,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6955, + "id": 7118, "isConstant": false, "isLValue": false, "isPure": false, @@ -4650,11 +4650,11 @@ "options": [ { "argumentTypes": null, - "id": 6954, + "id": 7117, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6947, + "referencedDeclaration": 7110, "src": "1393:5:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4668,7 +4668,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 6960, + "id": 7123, "isConstant": false, "isLValue": false, "isPure": false, @@ -4692,11 +4692,11 @@ "arguments": [ { "argumentTypes": null, - "id": 6963, + "id": 7126, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, + "referencedDeclaration": 7114, "src": "1431:7:26", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4706,7 +4706,7 @@ { "argumentTypes": null, "hexValue": "5472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544", - "id": 6964, + "id": 7127, "isConstant": false, "isLValue": false, "isPure": true, @@ -4733,7 +4733,7 @@ "typeString": "literal_string \"TransferHelper: ETH_TRANSFER_FAILED\"" } ], - "id": 6962, + "id": 7125, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4747,7 +4747,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 6965, + "id": 7128, "isConstant": false, "isLValue": false, "isPure": false, @@ -4762,14 +4762,14 @@ "typeString": "tuple()" } }, - "id": 6966, + "id": 7129, "nodeType": "ExpressionStatement", "src": "1423:55:26" } ] }, "documentation": null, - "id": 6968, + "id": 7131, "implemented": true, "kind": "function", "modifiers": [], @@ -4777,17 +4777,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6948, + "id": 7111, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6945, + "id": 7108, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6968, + "scope": 7131, "src": "1318:10:26", "stateVariable": false, "storageLocation": "default", @@ -4796,7 +4796,7 @@ "typeString": "address" }, "typeName": { - "id": 6944, + "id": 7107, "name": "address", "nodeType": "ElementaryTypeName", "src": "1318:7:26", @@ -4811,12 +4811,12 @@ }, { "constant": false, - "id": 6947, + "id": 7110, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6968, + "scope": 7131, "src": "1330:10:26", "stateVariable": false, "storageLocation": "default", @@ -4825,7 +4825,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6946, + "id": 7109, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1330:4:26", @@ -4841,19 +4841,19 @@ "src": "1317:24:26" }, "returnParameters": { - "id": 6949, + "id": 7112, "nodeType": "ParameterList", "parameters": [], "src": "1351:0:26" }, - "scope": 6969, + "scope": 7132, "src": "1293:192:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 6970, + "scope": 7133, "src": "137:1350:26" } ], @@ -4865,7 +4865,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.056Z", + "updatedAt": "2020-12-12T01:13:52.591Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/UniswapOracleFactory.json b/AskoLend-contracts/build/contracts/UniswapOracleFactory.json index 0bdcb309..e9020c05 100644 --- a/AskoLend-contracts/build/contracts/UniswapOracleFactory.json +++ b/AskoLend-contracts/build/contracts/UniswapOracleFactory.json @@ -320,26 +320,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"usdcAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uniFactoryAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createNewOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"instanceTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"linkMMI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"}],\"name\":\"swapERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uniswapRouter\",\"outputs\":[{\"internalType\":\"contract IUniswapV2Router02\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uniswap_router_add\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"usdc_add\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"params\":{\"_uniFactoryAdd\":\"is the address of the uniswap factory contract*\",\"usdcAdd\":\"is the address of the ERC20 USDC address\"}},\"createNewOracle(address)\":{\"params\":{\"token\":\"is the address of the token that this oracle will provide a USDC price feed for*\"}},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"getUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"linkMMI(address,address)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance\",\"_asset\":\"is the address of the MoneyMarketInstancesunderlying asset*\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"details\":\"example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address_amountOutMin will need to be atleast enough to cover the cost of collateral liquidation (loan amount +i nterest) and its liquidation fee amount.*\",\"params\":{\"_amountIn\":\"is the amount of _tokenA being exchanged\",\"_amountOutMin\":\"is the minimum amount of _tokenB to be received\",\"_to\":\"is the address of the MoneyMarketInstance calling this function\",\"_tokenA\":\"is the address of the token being exchanged from\",\"_tokenB\":\"is the address of the token being exchanged to\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"viewUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}}}},\"userdoc\":{\"methods\":{\"constructor\":\"constructor function is fired once during contract creation. This constructor initializes uniswapRouter as a usable contract instance within the UniswapOracleFactory\",\"createNewOracle(address)\":{\"notice\":\"createNewOracle allows the owner of this contract to deploy a new oracle contract when a new asset is whitelisted\"},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"getUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"},\"linkMMI(address,address)\":{\"notice\":\"linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"notice\":\"swapERC20 is an external function that swaps one ERC20 token for another using WETH as a medium of exchange.\"},\"viewUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"viewUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset without the gas cost of calculating with update\"}},\"notice\":\"The UniswapOracleFactory contract is designed to produce individual UniswapOracleInstance contracts This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol\":\"UniswapOracleFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol\":{\"keccak256\":\"0x13ca762d2f9125be25d4e7c3c493fae4de30a1ccb6baf744eb5abb50fa472f2f\",\"urls\":[\"bzz-raw://0ba4304958dee9a325af58a3276e996ae2fe443282f6d527bd09d28e7c3ee675\",\"dweb:/ipfs/Qmepr6iAx4e4jPwKG7jdoWWZpYaFMNsb47Ki5Au6fGmW9W\"]},\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":{\"keccak256\":\"0x3eadcf0d0ed0851bda18f7958fa2aef5d37ee8f8664cc33624fee705b8d44656\",\"urls\":[\"bzz-raw://ac7ae313b6eed7a2661f582623f42b1f2c4dd658d4ded3802b179c756b2dc7cb\",\"dweb:/ipfs/Qmc7Rh6i5DSRgrjgLmgtdN6BeNufS5SUsZzw31CrHBZAZ4\"]},\"@uniswap/lib/contracts/libraries/FixedPoint.sol\":{\"keccak256\":\"0xc671208d030ea70032b9fe0ac9c05d7dcd3ef2593a1a36e7e7f03bf25c2997c4\",\"urls\":[\"bzz-raw://5d5fac757d514b276ae2954b28048cc854dfbeed20706b784a0c2d3efa6af752\",\"dweb:/ipfs/QmVmSgZ8yN9wqV8wHWj8KhHYbi2LoK6pdPK1i1pBqFKcUc\"]},\"@uniswap/lib/contracts/libraries/TransferHelper.sol\":{\"keccak256\":\"0x0920a26df9837a073c6b24c4e2542d9409c173748e0c6728a1ae39ce5c368899\",\"urls\":[\"bzz-raw://46c191c0fc6452e0c1c75725b4f577309cc20f081f85a1d10f706d0d9127297e\",\"dweb:/ipfs/QmVuExKwURcyQVax2YDKZqYZELwjNQ4KRyLnKwvHD8rz44\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"@uniswap/v2-periphery/contracts/UniswapV2Router02.sol\":{\"keccak256\":\"0xb954cedec2552e286cbdf61d72e91affec2447636007c3ebd7194741157f48c8\",\"urls\":[\"bzz-raw://b9d5ccc48737414de4a2298791b322f2b8be48ba4359ce0f594f35613c998979\",\"dweb:/ipfs/QmcdQjcuUZ5DsD8vagwSRKZYYUP9df1F9QoAnkENnpUJjc\"]},\"@uniswap/v2-periphery/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x61db17aebc5d812c7002d15c1da954065e56abe49d64b14c034abe5604d70eb3\",\"urls\":[\"bzz-raw://b006685e753f9120469f10b09c159f222d4cb8b507a6c1f0c14ed50c883ebe66\",\"dweb:/ipfs/QmSyY7iTugbczPwfGK67etiyPULenYGzzRYbt8aabwwkUb\"]},\"@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol\":{\"keccak256\":\"0x8a3c5c449d4b7cd76513ed6995f4b86e4a86f222c770f8442f5fc128ce29b4d2\",\"urls\":[\"bzz-raw://1df63ca373dafae3bd0ee7fe70f890a1dc7c45ed869c01de68413e0e97ff9deb\",\"dweb:/ipfs/QmefJgEYGUL8KX7kQKYTrDweF8GB7yjy3nw5Bmqzryg7PG\"]},\"@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol\":{\"keccak256\":\"0x744e30c133bd0f7ca9e7163433cf6d72f45c6bb1508c2c9c02f1a6db796ae59d\",\"urls\":[\"bzz-raw://9bf2f4454ad63d4cff03a0630e787d9e8a9deed80aec89682cd8ad6379d9ef8c\",\"dweb:/ipfs/Qme51hQNR2wpax7ooUadhtqLtXm8ffeVVYyubLkTT4wMCG\"]},\"@uniswap/v2-periphery/contracts/interfaces/IWETH.sol\":{\"keccak256\":\"0xfc10758fd8dba790c39468dccd358cb7cef06ae7c4781832cc7aa76f91f167e6\",\"urls\":[\"bzz-raw://dc22493dea6c60d47835eeba53726f8a6f76f4fcd798d40e54608a1380515d49\",\"dweb:/ipfs/QmS1QVcBRH4TELYNE7XCfjSVQEWFupyaNLKmMkKH7iPjrm\"]},\"@uniswap/v2-periphery/contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x27f0ea82f879b3b01387b583e6d9d0ec858dca3b22b0aad173f8fbda06e761e1\",\"urls\":[\"bzz-raw://0db9cf37793eb7035f0bfced36323d240f0212150009c39a3a108701d9b50b6c\",\"dweb:/ipfs/QmUAdiG9XNcieXkKfiMB49zQqD34FbXFE15csV2KQzwEqg\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x2e125bac8733dde3c937e4245f15dcd56633a1aecf5d7760ba2018e9e374f378\",\"urls\":[\"bzz-raw://f66af240fea54958cc87dc5dadc1fd36531d06666adf32330a0c78b8a1c6dea8\",\"dweb:/ipfs/QmU7Sg5LEkuCVqFNpMBt1Txpfv3ucG3H4QBaMVqtL5bYMp\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol\":{\"keccak256\":\"0x993538630a9568290c39140d54c034a66cf1b95cdeef4ba804a948c4ee2fc311\",\"urls\":[\"bzz-raw://adff017b539750d5ac84403360967c4d6b02a1ee9b8f2487f0bcddd7fa7c523e\",\"dweb:/ipfs/QmQqUiUvoezf33f2SZa64M8KgksHSXFPrGuwDvxijtXYMo\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506040516125343803806125348339818101604052606081101561003357600080fd5b508051602082015160409092015190919060006100576001600160e01b036100f216565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054600480546001600160a01b038084166001600160a01b03199283161790925560028054821697831697909717909655600380548716958216959095179094559390931691161790556100f6565b3390565b61242f806101056000396000f3fe60806040523480156200001157600080fd5b5060043610620000e85760003560e01c80638c8b685111620000935780638c8b685114620002125780638da5cb5b146200021c5780639adc328b1462000226578063a2672dee1462000230578063c45a0155146200025f578063f0defe931462000269578063f2fde38b14620002ae578063fff9ccde14620002d757620000e8565b806302f82cb114620000ed5780631be1d0b9146200012e5780632fb2da6114620001615780633373a44714620001a6578063715018a614620001cf578063735de9f714620001d957806381a61d7f14620001e3575b600080fd5b6200011c600480360360408110156200010557600080fd5b506001600160a01b03813516906020013562000306565b60408051918252519081900360200190f35b6200015f600480360360408110156200014657600080fd5b506001600160a01b038135811691602001351662000396565b005b6200018a600480360360208110156200017957600080fd5b50356001600160a01b0316620003d0565b604080516001600160a01b039092168252519081900360200190f35b6200018a60048036036020811015620001be57600080fd5b50356001600160a01b0316620004cd565b6200015f620004e8565b6200018a6200058e565b6200011c60048036036040811015620001fb57600080fd5b506001600160a01b0381351690602001356200059d565b6200018a620005f7565b6200018a62000606565b6200018a62000615565b6200011c600480360360408110156200024857600080fd5b506001600160a01b03813516906020013562000624565b6200018a62000694565b6200015f600480360360a08110156200028157600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135620006a3565b6200015f60048036036020811015620002c657600080fd5b50356001600160a01b031662000847565b6200011c60048036036040811015620002ef57600080fd5b506001600160a01b03813516906020013562000945565b6001600160a01b038083166000908152600560209081526040808320548151633a984db760e11b81526004810187905291519394169283926375309b6e9260248082019391829003018186803b1580156200036057600080fd5b505afa15801562000375573d6000803e3d6000fd5b505050506040513d60208110156200038c57600080fd5b5051949350505050565b6001600160a01b03908116600090815260056020526040808220549383168252902080546001600160a01b03191692909116919091179055565b6000620003dc620009a0565b6000546001600160a01b039081169116146200042e576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6003546002546040516000926001600160a01b03908116928692911690620004569062000ad4565b6001600160a01b03938416815291831660208301529091166040808301919091525190819003606001906000f08015801562000496573d6000803e3d6000fd5b506001600160a01b03938416600090815260056020526040902080546001600160a01b031916948216949094179093555090919050565b6005602052600090815260409020546001600160a01b031681565b620004f2620009a0565b6000546001600160a01b0390811691161462000544576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6001600160a01b03808316600090815260056020908152604080832054815163e865579f60e01b815260048101879052915193941692839263e865579f9260248082019391829003018186803b1580156200036057600080fd5b6001546001600160a01b031681565b6000546001600160a01b031690565b6002546001600160a01b031681565b6001600160a01b0380831660009081526005602090815260408083205481516361e25d8360e01b81526004810187905291519394169283926361e25d83926024808201939182900301818887803b1580156200067f57600080fd5b505af115801562000375573d6000803e3d6000fd5b6003546001600160a01b031681565b600454603c4201906001600160a01b03166338ed17398484620006c78a8a620009a4565b88866040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015620007445781810151838201526020016200072a565b505050509050019650505050505050600060405180830381600087803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620007ad57600080fd5b8101908080516040519392919084640100000000821115620007ce57600080fd5b908301906020820185811115620007e457600080fd5b82518660208202830111640100000000821117156200080257600080fd5b82525081516020918201928201910280838360005b838110156200083157818101518382015260200162000817565b5050505090500160405250505050505050505050565b62000851620009a0565b6000546001600160a01b03908116911614620008a3576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6001600160a01b038116620008ea5760405162461bcd60e51b8152600401808060200182810382526026815260200180620023b46026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038083166000908152600560209081526040808320548151630c644d2960e01b8152600481018790529151939416928392630c644d29926024808201939182900301818887803b1580156200067f57600080fd5b3390565b604080516003808252608082019092526060918291906020820183803683370190505090508381600081518110620009d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a4757600080fd5b505afa15801562000a5c573d6000803e3d6000fd5b505050506040513d602081101562000a7357600080fd5b505181518290600190811062000a8557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828160028151811062000ab457fe5b6001600160a01b0390921660209283029190910190910152905092915050565b6118d18062000ae38339019056fe60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a26469706673582212205174d40d794045b71197b5fbeeab1c429f30ae042953bb8701fccd622d59068964736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220e667e524f288ea814599d92ac5e29d6e04722ad72302db7b1056816ae9bc35cb64736f6c63430006060033", - "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000e85760003560e01c80638c8b685111620000935780638c8b685114620002125780638da5cb5b146200021c5780639adc328b1462000226578063a2672dee1462000230578063c45a0155146200025f578063f0defe931462000269578063f2fde38b14620002ae578063fff9ccde14620002d757620000e8565b806302f82cb114620000ed5780631be1d0b9146200012e5780632fb2da6114620001615780633373a44714620001a6578063715018a614620001cf578063735de9f714620001d957806381a61d7f14620001e3575b600080fd5b6200011c600480360360408110156200010557600080fd5b506001600160a01b03813516906020013562000306565b60408051918252519081900360200190f35b6200015f600480360360408110156200014657600080fd5b506001600160a01b038135811691602001351662000396565b005b6200018a600480360360208110156200017957600080fd5b50356001600160a01b0316620003d0565b604080516001600160a01b039092168252519081900360200190f35b6200018a60048036036020811015620001be57600080fd5b50356001600160a01b0316620004cd565b6200015f620004e8565b6200018a6200058e565b6200011c60048036036040811015620001fb57600080fd5b506001600160a01b0381351690602001356200059d565b6200018a620005f7565b6200018a62000606565b6200018a62000615565b6200011c600480360360408110156200024857600080fd5b506001600160a01b03813516906020013562000624565b6200018a62000694565b6200015f600480360360a08110156200028157600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135620006a3565b6200015f60048036036020811015620002c657600080fd5b50356001600160a01b031662000847565b6200011c60048036036040811015620002ef57600080fd5b506001600160a01b03813516906020013562000945565b6001600160a01b038083166000908152600560209081526040808320548151633a984db760e11b81526004810187905291519394169283926375309b6e9260248082019391829003018186803b1580156200036057600080fd5b505afa15801562000375573d6000803e3d6000fd5b505050506040513d60208110156200038c57600080fd5b5051949350505050565b6001600160a01b03908116600090815260056020526040808220549383168252902080546001600160a01b03191692909116919091179055565b6000620003dc620009a0565b6000546001600160a01b039081169116146200042e576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6003546002546040516000926001600160a01b03908116928692911690620004569062000ad4565b6001600160a01b03938416815291831660208301529091166040808301919091525190819003606001906000f08015801562000496573d6000803e3d6000fd5b506001600160a01b03938416600090815260056020526040902080546001600160a01b031916948216949094179093555090919050565b6005602052600090815260409020546001600160a01b031681565b620004f2620009a0565b6000546001600160a01b0390811691161462000544576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6001600160a01b03808316600090815260056020908152604080832054815163e865579f60e01b815260048101879052915193941692839263e865579f9260248082019391829003018186803b1580156200036057600080fd5b6001546001600160a01b031681565b6000546001600160a01b031690565b6002546001600160a01b031681565b6001600160a01b0380831660009081526005602090815260408083205481516361e25d8360e01b81526004810187905291519394169283926361e25d83926024808201939182900301818887803b1580156200067f57600080fd5b505af115801562000375573d6000803e3d6000fd5b6003546001600160a01b031681565b600454603c4201906001600160a01b03166338ed17398484620006c78a8a620009a4565b88866040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015620007445781810151838201526020016200072a565b505050509050019650505050505050600060405180830381600087803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620007ad57600080fd5b8101908080516040519392919084640100000000821115620007ce57600080fd5b908301906020820185811115620007e457600080fd5b82518660208202830111640100000000821117156200080257600080fd5b82525081516020918201928201910280838360005b838110156200083157818101518382015260200162000817565b5050505090500160405250505050505050505050565b62000851620009a0565b6000546001600160a01b03908116911614620008a3576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6001600160a01b038116620008ea5760405162461bcd60e51b8152600401808060200182810382526026815260200180620023b46026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038083166000908152600560209081526040808320548151630c644d2960e01b8152600481018790529151939416928392630c644d29926024808201939182900301818887803b1580156200067f57600080fd5b3390565b604080516003808252608082019092526060918291906020820183803683370190505090508381600081518110620009d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a4757600080fd5b505afa15801562000a5c573d6000803e3d6000fd5b505050506040513d602081101562000a7357600080fd5b505181518290600190811062000a8557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828160028151811062000ab457fe5b6001600160a01b0390921660209283029190910190910152905092915050565b6118d18062000ae38339019056fe60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a26469706673582212205174d40d794045b71197b5fbeeab1c429f30ae042953bb8701fccd622d59068964736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220e667e524f288ea814599d92ac5e29d6e04722ad72302db7b1056816ae9bc35cb64736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"usdcAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uniFactoryAdd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createNewOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"instanceTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"linkMMI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"}],\"name\":\"swapERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uniswapRouter\",\"outputs\":[{\"internalType\":\"contract IUniswapV2Router02\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uniswap_router_add\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"usdc_add\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"params\":{\"_uniFactoryAdd\":\"is the address of the uniswap factory contract*\",\"usdcAdd\":\"is the address of the ERC20 USDC address\"}},\"createNewOracle(address)\":{\"params\":{\"token\":\"is the address of the token that this oracle will provide a USDC price feed for*\"}},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"getUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"linkMMI(address,address)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance\",\"_asset\":\"is the address of the MoneyMarketInstancesunderlying asset*\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"details\":\"example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address_amountOutMin will need to be atleast enough to cover the cost of collateral liquidation (loan amount +i nterest) and its liquidation fee amount.*\",\"params\":{\"_amountIn\":\"is the amount of _tokenA being exchanged\",\"_amountOutMin\":\"is the minimum amount of _tokenB to be received\",\"_to\":\"is the address of the MoneyMarketInstance calling this function\",\"_tokenA\":\"is the address of the token being exchanged from\",\"_tokenB\":\"is the address of the token being exchanged to\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"viewUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}}}},\"userdoc\":{\"methods\":{\"constructor\":\"constructor function is fired once during contract creation. This constructor initializes uniswapRouter as a usable contract instance within the UniswapOracleFactory\",\"createNewOracle(address)\":{\"notice\":\"createNewOracle allows the owner of this contract to deploy a new oracle contract when a new asset is whitelisted\"},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"getUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"},\"linkMMI(address,address)\":{\"notice\":\"linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"notice\":\"swapERC20 is an external function that swaps one ERC20 token for another using WETH as a medium of exchange.\"},\"viewUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"viewUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset without the gas cost of calculating with update\"}},\"notice\":\"The UniswapOracleFactory contract is designed to produce individual UniswapOracleInstance contracts This contract uses the OpenZeppelin contract Library to inherit functions from Ownable.sol*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol\":\"UniswapOracleFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol\":{\"keccak256\":\"0x13ca762d2f9125be25d4e7c3c493fae4de30a1ccb6baf744eb5abb50fa472f2f\",\"urls\":[\"bzz-raw://0ba4304958dee9a325af58a3276e996ae2fe443282f6d527bd09d28e7c3ee675\",\"dweb:/ipfs/Qmepr6iAx4e4jPwKG7jdoWWZpYaFMNsb47Ki5Au6fGmW9W\"]},\"/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":{\"keccak256\":\"0x3eadcf0d0ed0851bda18f7958fa2aef5d37ee8f8664cc33624fee705b8d44656\",\"urls\":[\"bzz-raw://ac7ae313b6eed7a2661f582623f42b1f2c4dd658d4ded3802b179c756b2dc7cb\",\"dweb:/ipfs/Qmc7Rh6i5DSRgrjgLmgtdN6BeNufS5SUsZzw31CrHBZAZ4\"]},\"@uniswap/lib/contracts/libraries/FixedPoint.sol\":{\"keccak256\":\"0xc671208d030ea70032b9fe0ac9c05d7dcd3ef2593a1a36e7e7f03bf25c2997c4\",\"urls\":[\"bzz-raw://5d5fac757d514b276ae2954b28048cc854dfbeed20706b784a0c2d3efa6af752\",\"dweb:/ipfs/QmVmSgZ8yN9wqV8wHWj8KhHYbi2LoK6pdPK1i1pBqFKcUc\"]},\"@uniswap/lib/contracts/libraries/TransferHelper.sol\":{\"keccak256\":\"0x0920a26df9837a073c6b24c4e2542d9409c173748e0c6728a1ae39ce5c368899\",\"urls\":[\"bzz-raw://46c191c0fc6452e0c1c75725b4f577309cc20f081f85a1d10f706d0d9127297e\",\"dweb:/ipfs/QmVuExKwURcyQVax2YDKZqYZELwjNQ4KRyLnKwvHD8rz44\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"@uniswap/v2-periphery/contracts/UniswapV2Router02.sol\":{\"keccak256\":\"0xb954cedec2552e286cbdf61d72e91affec2447636007c3ebd7194741157f48c8\",\"urls\":[\"bzz-raw://b9d5ccc48737414de4a2298791b322f2b8be48ba4359ce0f594f35613c998979\",\"dweb:/ipfs/QmcdQjcuUZ5DsD8vagwSRKZYYUP9df1F9QoAnkENnpUJjc\"]},\"@uniswap/v2-periphery/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x61db17aebc5d812c7002d15c1da954065e56abe49d64b14c034abe5604d70eb3\",\"urls\":[\"bzz-raw://b006685e753f9120469f10b09c159f222d4cb8b507a6c1f0c14ed50c883ebe66\",\"dweb:/ipfs/QmSyY7iTugbczPwfGK67etiyPULenYGzzRYbt8aabwwkUb\"]},\"@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol\":{\"keccak256\":\"0x8a3c5c449d4b7cd76513ed6995f4b86e4a86f222c770f8442f5fc128ce29b4d2\",\"urls\":[\"bzz-raw://1df63ca373dafae3bd0ee7fe70f890a1dc7c45ed869c01de68413e0e97ff9deb\",\"dweb:/ipfs/QmefJgEYGUL8KX7kQKYTrDweF8GB7yjy3nw5Bmqzryg7PG\"]},\"@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol\":{\"keccak256\":\"0x744e30c133bd0f7ca9e7163433cf6d72f45c6bb1508c2c9c02f1a6db796ae59d\",\"urls\":[\"bzz-raw://9bf2f4454ad63d4cff03a0630e787d9e8a9deed80aec89682cd8ad6379d9ef8c\",\"dweb:/ipfs/Qme51hQNR2wpax7ooUadhtqLtXm8ffeVVYyubLkTT4wMCG\"]},\"@uniswap/v2-periphery/contracts/interfaces/IWETH.sol\":{\"keccak256\":\"0xfc10758fd8dba790c39468dccd358cb7cef06ae7c4781832cc7aa76f91f167e6\",\"urls\":[\"bzz-raw://dc22493dea6c60d47835eeba53726f8a6f76f4fcd798d40e54608a1380515d49\",\"dweb:/ipfs/QmS1QVcBRH4TELYNE7XCfjSVQEWFupyaNLKmMkKH7iPjrm\"]},\"@uniswap/v2-periphery/contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x27f0ea82f879b3b01387b583e6d9d0ec858dca3b22b0aad173f8fbda06e761e1\",\"urls\":[\"bzz-raw://0db9cf37793eb7035f0bfced36323d240f0212150009c39a3a108701d9b50b6c\",\"dweb:/ipfs/QmUAdiG9XNcieXkKfiMB49zQqD34FbXFE15csV2KQzwEqg\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x2e125bac8733dde3c937e4245f15dcd56633a1aecf5d7760ba2018e9e374f378\",\"urls\":[\"bzz-raw://f66af240fea54958cc87dc5dadc1fd36531d06666adf32330a0c78b8a1c6dea8\",\"dweb:/ipfs/QmU7Sg5LEkuCVqFNpMBt1Txpfv3ucG3H4QBaMVqtL5bYMp\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol\":{\"keccak256\":\"0x993538630a9568290c39140d54c034a66cf1b95cdeef4ba804a948c4ee2fc311\",\"urls\":[\"bzz-raw://adff017b539750d5ac84403360967c4d6b02a1ee9b8f2487f0bcddd7fa7c523e\",\"dweb:/ipfs/QmQqUiUvoezf33f2SZa64M8KgksHSXFPrGuwDvxijtXYMo\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506040516125343803806125348339818101604052606081101561003357600080fd5b508051602082015160409092015190919060006100576001600160e01b036100f216565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054600480546001600160a01b038084166001600160a01b03199283161790925560028054821697831697909717909655600380548716958216959095179094559390931691161790556100f6565b3390565b61242f806101056000396000f3fe60806040523480156200001157600080fd5b5060043610620000e85760003560e01c80638c8b685111620000935780638c8b685114620002125780638da5cb5b146200021c5780639adc328b1462000226578063a2672dee1462000230578063c45a0155146200025f578063f0defe931462000269578063f2fde38b14620002ae578063fff9ccde14620002d757620000e8565b806302f82cb114620000ed5780631be1d0b9146200012e5780632fb2da6114620001615780633373a44714620001a6578063715018a614620001cf578063735de9f714620001d957806381a61d7f14620001e3575b600080fd5b6200011c600480360360408110156200010557600080fd5b506001600160a01b03813516906020013562000306565b60408051918252519081900360200190f35b6200015f600480360360408110156200014657600080fd5b506001600160a01b038135811691602001351662000396565b005b6200018a600480360360208110156200017957600080fd5b50356001600160a01b0316620003d0565b604080516001600160a01b039092168252519081900360200190f35b6200018a60048036036020811015620001be57600080fd5b50356001600160a01b0316620004cd565b6200015f620004e8565b6200018a6200058e565b6200011c60048036036040811015620001fb57600080fd5b506001600160a01b0381351690602001356200059d565b6200018a620005f7565b6200018a62000606565b6200018a62000615565b6200011c600480360360408110156200024857600080fd5b506001600160a01b03813516906020013562000624565b6200018a62000694565b6200015f600480360360a08110156200028157600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135620006a3565b6200015f60048036036020811015620002c657600080fd5b50356001600160a01b031662000847565b6200011c60048036036040811015620002ef57600080fd5b506001600160a01b03813516906020013562000945565b6001600160a01b038083166000908152600560209081526040808320548151633a984db760e11b81526004810187905291519394169283926375309b6e9260248082019391829003018186803b1580156200036057600080fd5b505afa15801562000375573d6000803e3d6000fd5b505050506040513d60208110156200038c57600080fd5b5051949350505050565b6001600160a01b03908116600090815260056020526040808220549383168252902080546001600160a01b03191692909116919091179055565b6000620003dc620009a0565b6000546001600160a01b039081169116146200042e576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6003546002546040516000926001600160a01b03908116928692911690620004569062000ad4565b6001600160a01b03938416815291831660208301529091166040808301919091525190819003606001906000f08015801562000496573d6000803e3d6000fd5b506001600160a01b03938416600090815260056020526040902080546001600160a01b031916948216949094179093555090919050565b6005602052600090815260409020546001600160a01b031681565b620004f2620009a0565b6000546001600160a01b0390811691161462000544576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6001600160a01b03808316600090815260056020908152604080832054815163e865579f60e01b815260048101879052915193941692839263e865579f9260248082019391829003018186803b1580156200036057600080fd5b6001546001600160a01b031681565b6000546001600160a01b031690565b6002546001600160a01b031681565b6001600160a01b0380831660009081526005602090815260408083205481516361e25d8360e01b81526004810187905291519394169283926361e25d83926024808201939182900301818887803b1580156200067f57600080fd5b505af115801562000375573d6000803e3d6000fd5b6003546001600160a01b031681565b600454603c4201906001600160a01b03166338ed17398484620006c78a8a620009a4565b88866040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015620007445781810151838201526020016200072a565b505050509050019650505050505050600060405180830381600087803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620007ad57600080fd5b8101908080516040519392919084640100000000821115620007ce57600080fd5b908301906020820185811115620007e457600080fd5b82518660208202830111640100000000821117156200080257600080fd5b82525081516020918201928201910280838360005b838110156200083157818101518382015260200162000817565b5050505090500160405250505050505050505050565b62000851620009a0565b6000546001600160a01b03908116911614620008a3576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6001600160a01b038116620008ea5760405162461bcd60e51b8152600401808060200182810382526026815260200180620023b46026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038083166000908152600560209081526040808320548151630c644d2960e01b8152600481018790529151939416928392630c644d29926024808201939182900301818887803b1580156200067f57600080fd5b3390565b604080516003808252608082019092526060918291906020820183803683370190505090508381600081518110620009d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a4757600080fd5b505afa15801562000a5c573d6000803e3d6000fd5b505050506040513d602081101562000a7357600080fd5b505181518290600190811062000a8557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828160028151811062000ab457fe5b6001600160a01b0390921660209283029190910190910152905092915050565b6118d18062000ae38339019056fe60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a264697066735822122096a8de9783ff72df892c6e6d38f0609300080422b5d4e6482ede27c91f14dea164736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f8d2abc91ca2af685d03bbb8e149c063a20fdb31eddd3cf0a4353603c2de413164736f6c63430006060033", + "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000e85760003560e01c80638c8b685111620000935780638c8b685114620002125780638da5cb5b146200021c5780639adc328b1462000226578063a2672dee1462000230578063c45a0155146200025f578063f0defe931462000269578063f2fde38b14620002ae578063fff9ccde14620002d757620000e8565b806302f82cb114620000ed5780631be1d0b9146200012e5780632fb2da6114620001615780633373a44714620001a6578063715018a614620001cf578063735de9f714620001d957806381a61d7f14620001e3575b600080fd5b6200011c600480360360408110156200010557600080fd5b506001600160a01b03813516906020013562000306565b60408051918252519081900360200190f35b6200015f600480360360408110156200014657600080fd5b506001600160a01b038135811691602001351662000396565b005b6200018a600480360360208110156200017957600080fd5b50356001600160a01b0316620003d0565b604080516001600160a01b039092168252519081900360200190f35b6200018a60048036036020811015620001be57600080fd5b50356001600160a01b0316620004cd565b6200015f620004e8565b6200018a6200058e565b6200011c60048036036040811015620001fb57600080fd5b506001600160a01b0381351690602001356200059d565b6200018a620005f7565b6200018a62000606565b6200018a62000615565b6200011c600480360360408110156200024857600080fd5b506001600160a01b03813516906020013562000624565b6200018a62000694565b6200015f600480360360a08110156200028157600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135620006a3565b6200015f60048036036020811015620002c657600080fd5b50356001600160a01b031662000847565b6200011c60048036036040811015620002ef57600080fd5b506001600160a01b03813516906020013562000945565b6001600160a01b038083166000908152600560209081526040808320548151633a984db760e11b81526004810187905291519394169283926375309b6e9260248082019391829003018186803b1580156200036057600080fd5b505afa15801562000375573d6000803e3d6000fd5b505050506040513d60208110156200038c57600080fd5b5051949350505050565b6001600160a01b03908116600090815260056020526040808220549383168252902080546001600160a01b03191692909116919091179055565b6000620003dc620009a0565b6000546001600160a01b039081169116146200042e576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6003546002546040516000926001600160a01b03908116928692911690620004569062000ad4565b6001600160a01b03938416815291831660208301529091166040808301919091525190819003606001906000f08015801562000496573d6000803e3d6000fd5b506001600160a01b03938416600090815260056020526040902080546001600160a01b031916948216949094179093555090919050565b6005602052600090815260409020546001600160a01b031681565b620004f2620009a0565b6000546001600160a01b0390811691161462000544576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6001600160a01b03808316600090815260056020908152604080832054815163e865579f60e01b815260048101879052915193941692839263e865579f9260248082019391829003018186803b1580156200036057600080fd5b6001546001600160a01b031681565b6000546001600160a01b031690565b6002546001600160a01b031681565b6001600160a01b0380831660009081526005602090815260408083205481516361e25d8360e01b81526004810187905291519394169283926361e25d83926024808201939182900301818887803b1580156200067f57600080fd5b505af115801562000375573d6000803e3d6000fd5b6003546001600160a01b031681565b600454603c4201906001600160a01b03166338ed17398484620006c78a8a620009a4565b88866040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015620007445781810151838201526020016200072a565b505050509050019650505050505050600060405180830381600087803b1580156200076e57600080fd5b505af115801562000783573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620007ad57600080fd5b8101908080516040519392919084640100000000821115620007ce57600080fd5b908301906020820185811115620007e457600080fd5b82518660208202830111640100000000821117156200080257600080fd5b82525081516020918201928201910280838360005b838110156200083157818101518382015260200162000817565b5050505090500160405250505050505050505050565b62000851620009a0565b6000546001600160a01b03908116911614620008a3576040805162461bcd60e51b81526020600482018190526024820152600080516020620023da833981519152604482015290519081900360640190fd5b6001600160a01b038116620008ea5760405162461bcd60e51b8152600401808060200182810382526026815260200180620023b46026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038083166000908152600560209081526040808320548151630c644d2960e01b8152600481018790529151939416928392630c644d29926024808201939182900301818887803b1580156200067f57600080fd5b3390565b604080516003808252608082019092526060918291906020820183803683370190505090508381600081518110620009d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000a4757600080fd5b505afa15801562000a5c573d6000803e3d6000fd5b505050506040513d602081101562000a7357600080fd5b505181518290600190811062000a8557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828160028151811062000ab457fe5b6001600160a01b0390921660209283029190910190910152905092915050565b6118d18062000ae38339019056fe60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a264697066735822122096a8de9783ff72df892c6e6d38f0609300080422b5d4e6482ede27c91f14dea164736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220f8d2abc91ca2af685d03bbb8e149c063a20fdb31eddd3cf0a4353603c2de413164736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "639:5884:13:-:0;;;1259:278;5:9:-1;2:2;;;27:1;24;17:12;2:2;1259:278:13;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1259:278:13;;;;;;;;;;;;;;865:17:38;885:12;-1:-1:-1;;;;;885:10:38;:12;:::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;-1:-1:-1;1411:18:13;;;1376:13;:54;;-1:-1:-1;;;;;1411:18:13;;;-1:-1:-1;;;;;;1376:54:13;;;;;;;1440:8;:18;;;;;;;;;;;;;;1468:7;:24;;;;;;;;;;;;;;1502:28;;;;;;;;;639:5884;;590:104:37;677:10;590:104;:::o;639:5884:13:-;;;;;;;", - "deployedSourceMap": "639:5884:13:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;639:5884:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;4385:284:13;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4385:284:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2288:151;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2288:151:13;;;;;;;;;;:::i;:::-;;1786:258;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1786:258:13;-1:-1:-1;;;;;1786:258:13;;:::i;:::-;;;;-1:-1:-1;;;;;1786:258:13;;;;;;;;;;;;;;828:50;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;828:50:13;-1:-1:-1;;;;;828:50:13;;:::i;1689:145:38:-;;;:::i;782:39:13:-;;;:::i;3279:281::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3279:281:13;;;;;;;;:::i;686:33::-;;;:::i;1066:77:38:-;;;:::i;725:23:13:-;;;:::i;2694:265::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2694:265:13;;;;;;;;:::i;754:22::-;;;:::i;6104:417::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;;6104:417:13;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;3828:273:13:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3828:273:13;;;;;;;;:::i;4385:284::-;-1:-1:-1;;;;;4590:21:13;;;4501:7;4590:21;;;:15;:21;;;;;;;;;4638:24;;-1:-1:-1;;;4638:24:13;;;;;;;;;;4501:7;;4590:21;;;;4638:15;;:24;;;;;;;;;;;4590:21;4638:24;;;2:2:-1;;;;27:1;24;17:12;2:2;4638:24:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4638:24:13;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4638:24:13;;4385:284;-1:-1:-1;;;;4385:284:13:o;2288:151::-;-1:-1:-1;;;;;2369:23:13;;;2352:14;2369:23;;;:15;:23;;;;;;;2402:21;;;;;;;:30;;-1:-1:-1;;;;;;2402:30:13;2369:23;;;;2402:30;;;;;;2288:151::o;1786:258::-;1852:7;1280:12:38;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1936:7:13::1;::::0;1952:8:::1;::::0;1910:51:::1;::::0;1871:15:::1;::::0;-1:-1:-1;;;;;1936:7:13;;::::1;::::0;1945:5;;1952:8;::::1;::::0;1910:51:::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;1910:51:13;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;;;;;;;;-1:-1:-1;1910:51:13::1;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;;;;1981:22:13;;::::1;;::::0;;;:15:::1;:22;::::0;;;;:32;;-1:-1:-1;;;;;;1981:32:13::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;1981:32:13;;1786:258;-1:-1:-1;1786:258:13:o;828:50::-;;;;;;;;;;;;-1:-1:-1;;;;;828:50:13;;:::o;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;782:39:13:-;;;-1:-1:-1;;;;;782:39:13;;:::o;3279:281::-;-1:-1:-1;;;;;3480:21:13;;;3391:7;3480:21;;;:15;:21;;;;;;;;;3528:25;;-1:-1:-1;;;3528:25:13;;;;;;;;;;3391:7;;3480:21;;;;3528:16;;:25;;;;;;;;;;;3480:21;3528:25;;;2:2:-1;;;;27:1;24;17:12;686:33:13;;;-1:-1:-1;;;;;686:33:13;;:::o;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;1066:77;:::o;725:23:13:-;;;-1:-1:-1;;;;;725:23:13;;:::o;2694:265::-;-1:-1:-1;;;;;2881:21:13;;;2792:7;2881:21;;;:15;:21;;;;;;;;;2929:23;;-1:-1:-1;;;2929:23:13;;;;;;;;;;2792:7;;2881:21;;;;2929:14;;:23;;;;;;;;;;;2792:7;2881:21;2929:23;;;2:2:-1;;;;27:1;24;17:12;2:2;2929:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;754:22:13;;;-1:-1:-1;;;;;754:22:13;;:::o;6104:417::-;6326:13;;6314:2;6296:15;:20;;-1:-1:-1;;;;;6326:13:13;:38;6378:9;6401:13;6428:37;6448:7;6457;6428:19;:37::i;:::-;6479:3;6496:8;6326:188;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6326:188:13;-1:-1:-1;;;;;6326:188:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6326:188:13;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6326:188:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6326:188:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;6326:188:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;15:2;7:11;;4:2;;;31:1;28;21:12;4:2;6326:188:13;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;6326:188:13;;421:4:-1;412:14;;;;6326:188:13;;;;;412:14:-1;6326:188:13;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6326:188:13;;;;;;;;;;;;6104:417;;;;;;:::o;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:6:38;;;:22;;;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1262:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;3828:273:13:-;-1:-1:-1;;;;;4019:21:13;;;3930:7;4019:21;;;:15;:21;;;;;;;;;4067:27;;-1:-1:-1;;;4067:27:13;;;;;;;;;;3930:7;;4019:21;;;;4067:18;;:27;;;;;;;;;;;3930:7;4019:21;4067:27;;;2:2:-1;;;;27:1;24;17:12;590:104:37;677:10;590:104;:::o;5072:304:13:-;5237:16;;;5251:1;5237:16;;;;;;;;;5181;;;;5237;;;;5181;;109:14:-1;5237:16:13;88:42:-1;144:17;;-1:-1;5237:16:13;5213:40;;5273:7;5263:4;5268:1;5263:7;;;;;;;;;;;;;:17;-1:-1:-1;;;;;5263:17:13;;;-1:-1:-1;;;;;5263:17:13;;;;;5300:13;;;;;;;;;-1:-1:-1;;;;;5300:13:13;-1:-1:-1;;;;;5300:18:13;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5300:20:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5300:20:13;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5300:20:13;5290:7;;:4;;5295:1;;5290:7;;;;;;;;;;;:30;-1:-1:-1;;;;;5290:30:13;;;-1:-1:-1;;;;;5290:30:13;;;;;5340:7;5330:4;5335:1;5330:7;;;;;;;;-1:-1:-1;;;;;5330:17:13;;;:7;;;;;;;;;;;:17;5365:4;-1:-1:-1;5072:304:13;;;;:::o;639:5884::-;;;;;;;;:::o", + "sourceMap": "639:5884:13:-:0;;;1259:278;5:9:-1;2:2;;;27:1;24;17:12;2:2;1259:278:13;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1259:278:13;;;;;;;;;;;;;;882:17:38;902:12;-1:-1:-1;;;;;902:10:38;:12;:::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;-1:-1:-1;1411:18:13;;;1376:13;:54;;-1:-1:-1;;;;;1411:18:13;;;-1:-1:-1;;;;;;1376:54:13;;;;;;;1440:8;:18;;;;;;;;;;;;;;1468:7;:24;;;;;;;;;;;;;;1502:28;;;;;;;;;639:5884;;598:104:37;685:10;598:104;:::o;639:5884:13:-;;;;;;;", + "deployedSourceMap": "639:5884:13:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;639:5884:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;4385:284:13;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;4385:284:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2288:151;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2288:151:13;;;;;;;;;;:::i;:::-;;1786:258;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1786:258:13;-1:-1:-1;;;;;1786:258:13;;:::i;:::-;;;;-1:-1:-1;;;;;1786:258:13;;;;;;;;;;;;;;828:50;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;828:50:13;-1:-1:-1;;;;;828:50:13;;:::i;1706:145:38:-;;;:::i;782:39:13:-;;;:::i;3279:281::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3279:281:13;;;;;;;;:::i;686:33::-;;;:::i;1083:77:38:-;;;:::i;725:23:13:-;;;:::i;2694:265::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2694:265:13;;;;;;;;:::i;754:22::-;;;:::i;6104:417::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;;6104:417:13;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;3828:273:13:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3828:273:13;;;;;;;;:::i;4385:284::-;-1:-1:-1;;;;;4590:21:13;;;4501:7;4590:21;;;:15;:21;;;;;;;;;4638:24;;-1:-1:-1;;;4638:24:13;;;;;;;;;;4501:7;;4590:21;;;;4638:15;;:24;;;;;;;;;;;4590:21;4638:24;;;2:2:-1;;;;27:1;24;17:12;2:2;4638:24:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4638:24:13;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4638:24:13;;4385:284;-1:-1:-1;;;;4385:284:13:o;2288:151::-;-1:-1:-1;;;;;2369:23:13;;;2352:14;2369:23;;;:15;:23;;;;;;;2402:21;;;;;;;:30;;-1:-1:-1;;;;;;2402:30:13;2369:23;;;;2402:30;;;;;;2288:151::o;1786:258::-;1852:7;1297:12:38;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1936:7:13::1;::::0;1952:8:::1;::::0;1910:51:::1;::::0;1871:15:::1;::::0;-1:-1:-1;;;;;1936:7:13;;::::1;::::0;1945:5;;1952:8;::::1;::::0;1910:51:::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;1910:51:13;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;;;;;;;;;-1:-1:-1;1910:51:13::1;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;;;;1981:22:13;;::::1;;::::0;;;:15:::1;:22;::::0;;;;:32;;-1:-1:-1;;;;;;1981:32:13::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;1981:32:13;;1786:258;-1:-1:-1;1786:258:13:o;828:50::-;;;;;;;;;;;;-1:-1:-1;;;;;828:50:13;;:::o;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;782:39:13:-;;;-1:-1:-1;;;;;782:39:13;;:::o;3279:281::-;-1:-1:-1;;;;;3480:21:13;;;3391:7;3480:21;;;:15;:21;;;;;;;;;3528:25;;-1:-1:-1;;;3528:25:13;;;;;;;;;;3391:7;;3480:21;;;;3528:16;;:25;;;;;;;;;;;3480:21;3528:25;;;2:2:-1;;;;27:1;24;17:12;686:33:13;;;-1:-1:-1;;;;;686:33:13;;:::o;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;1083:77;:::o;725:23:13:-;;;-1:-1:-1;;;;;725:23:13;;:::o;2694:265::-;-1:-1:-1;;;;;2881:21:13;;;2792:7;2881:21;;;:15;:21;;;;;;;;;2929:23;;-1:-1:-1;;;2929:23:13;;;;;;;;;;2792:7;;2881:21;;;;2929:14;;:23;;;;;;;;;;;2792:7;2881:21;2929:23;;;2:2:-1;;;;27:1;24;17:12;2:2;2929:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;754:22:13;;;-1:-1:-1;;;;;754:22:13;;:::o;6104:417::-;6326:13;;6314:2;6296:15;:20;;-1:-1:-1;;;;;6326:13:13;:38;6378:9;6401:13;6428:37;6448:7;6457;6428:19;:37::i;:::-;6479:3;6496:8;6326:188;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6326:188:13;-1:-1:-1;;;;;6326:188:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6326:188:13;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6326:188:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6326:188:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;6326:188:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;15:2;7:11;;4:2;;;31:1;28;21:12;4:2;6326:188:13;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;6326:188:13;;421:4:-1;412:14;;;;6326:188:13;;;;;412:14:-1;6326:188:13;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6326:188:13;;;;;;;;;;;;6104:417;;;;;;:::o;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:6:38;;;:22;;;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1279:67:38;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;3828:273:13:-;-1:-1:-1;;;;;4019:21:13;;;3930:7;4019:21;;;:15;:21;;;;;;;;;4067:27;;-1:-1:-1;;;4067:27:13;;;;;;;;;;3930:7;;4019:21;;;;4067:18;;:27;;;;;;;;;;;3930:7;4019:21;4067:27;;;2:2:-1;;;;27:1;24;17:12;598:104:37;685:10;598:104;:::o;5072:304:13:-;5237:16;;;5251:1;5237:16;;;;;;;;;5181;;;;5237;;;;5181;;109:14:-1;5237:16:13;88:42:-1;144:17;;-1:-1;5237:16:13;5213:40;;5273:7;5263:4;5268:1;5263:7;;;;;;;;;;;;;:17;-1:-1:-1;;;;;5263:17:13;;;-1:-1:-1;;;;;5263:17:13;;;;;5300:13;;;;;;;;;-1:-1:-1;;;;;5300:13:13;-1:-1:-1;;;;;5300:18:13;;:20;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5300:20:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5300:20:13;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5300:20:13;5290:7;;:4;;5295:1;;5290:7;;;;;;;;;;;:30;-1:-1:-1;;;;;5290:30:13;;;-1:-1:-1;;;;;5290:30:13;;;;;5340:7;5330:4;5335:1;5330:7;;;;;;;;-1:-1:-1;;;;;5330:17:13;;;:7;;;;;;;;;;;:17;5365:4;-1:-1:-1;5072:304:13;;;;:::o;639:5884::-;;;;;;;;:::o", "source": "pragma solidity ^0.6.2;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"@uniswap/v2-periphery/contracts/UniswapV2Router02.sol\";\nimport \"./UniswapOracleInstance.sol\";\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title UniswapOracleFactory\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe UniswapOracleFactory contract is designed to produce individual UniswapOracleInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\n Ownable.sol\n**/\n\ncontract UniswapOracleFactory is Ownable {\n address public uniswap_router_add;\n address public usdc_add;\n address public factory;\n IUniswapV2Router02 public uniswapRouter;\n\n mapping(address => address) public instanceTracker; //maps erc20 address to the assets MoneyMarketInstance\n\n /**\n@notice constructor function is fired once during contract creation. This constructor initializes uniswapRouter\n as a usable contract instance within the UniswapOracleFactory\n@param usdcAdd is the address of the ERC20 USDC address\n@param _uniFactoryAdd is the address of the uniswap factory contract\n**/\n constructor(\n address usdcAdd,\n address _uniFactoryAdd,\n address _router\n ) public {\n uniswapRouter = IUniswapV2Router02(uniswap_router_add);\n usdc_add = usdcAdd;\n factory = _uniFactoryAdd;\n uniswap_router_add = _router;\n }\n\n /**\n @notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\n a new asset is whitelisted\n @param token is the address of the token that this oracle will provide a USDC price feed for\n **/\n function createNewOracle(address token) public onlyOwner returns (address) {\n address _oracle = address(\n new UniswapOracleInstance(factory, token, usdc_add)\n );\n instanceTracker[token] = _oracle;\n return _oracle;\n }\n\n /**\n@notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n@param _MMI is the address of the MoneyMarketInstance\n@param _asset is the address of the MoneyMarketInstancesunderlying asset\n**/\n function linkMMI(address _MMI, address _asset) public {\n address oracle = instanceTracker[_asset];\n instanceTracker[_MMI] = oracle;\n }\n\n /**\n@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset\n**/\n function getUnderlyingPriceofAsset(address _MMI, uint256 _amount)\n public\n returns (uint256)\n {\n UniswapOracleInstance oracle = UniswapOracleInstance(\n instanceTracker[_MMI]\n );\n return oracle.consult(_amount);\n }\n\n /**\n @notice viewUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset without the gas cost of calculating with update\n @param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n @return returns the price of the asset\n **/\n function viewUnderlyingPriceofAsset(address _MMI, uint256 _amount)\n public\n view\n returns (uint256)\n {\n UniswapOracleInstance oracle = UniswapOracleInstance(\n instanceTracker[_MMI]\n );\n return oracle.viewPrice(_amount);\n }\n\n /**\n@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset\n**/\n function getUnderlyingAssetPriceOfUSDC(address _MMI, uint256 _amount)\n public\n returns (uint256)\n {\n UniswapOracleInstance oracle = UniswapOracleInstance(\n instanceTracker[_MMI]\n );\n return oracle.consultUSDC(_amount);\n }\n\n /**\n @notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n @param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n @return returns the price of the asset\n **/\n function viewUnderlyingAssetPriceOfUSDC(address _MMI, uint256 _amount)\n public\n view\n returns (uint256)\n {\n UniswapOracleInstance oracle = UniswapOracleInstance(\n instanceTracker[_MMI]\n );\n return oracle.viewUSDC(_amount);\n }\n\n /**\n@notice getPathForERC20Swap is an internal function used to create a uniswap trade path for two input\n ERC20 tokens using WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n**/\n function getPathForERC20Swap(address _tokenA, address _tokenB)\n private\n view\n returns (address[] memory)\n {\n address[] memory path = new address[](3);\n path[0] = _tokenA;\n path[1] = uniswapRouter.WETH();\n path[2] = _tokenB;\n\n return path;\n }\n\n /**\n@notice swapERC20 is an external function that swaps one ERC20 token for another\n using WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n (loan amount +i nterest) and its liquidation fee amount.\n**/\n function swapERC20(\n address _tokenA,\n address _tokenB,\n address _to,\n uint256 _amountIn,\n uint256 _amountOutMin\n ) external {\n uint256 deadline = block.timestamp + 60;\n uniswapRouter.swapExactTokensForTokens(\n _amountIn,\n _amountOutMin,\n getPathForERC20Swap(_tokenA, _tokenB),\n _to,\n deadline\n );\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", "exportedSymbols": { "UniswapOracleFactory": [ - 4197 + 4330 ] }, - "id": 4198, + "id": 4331, "nodeType": "SourceUnit", "nodes": [ { - "id": 3921, + "id": 4054, "literals": [ "solidity", "^", @@ -352,10 +352,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 3922, + "id": 4055, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 10599, + "scope": 4331, + "sourceUnit": 10762, "src": "25:60:13", "symbolAliases": [], "unitAlias": "" @@ -363,21 +363,21 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", "file": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", - "id": 3923, + "id": 4056, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 9313, + "scope": 4331, + "sourceUnit": 9476, "src": "86:63:13", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", "file": "./UniswapOracleInstance.sol", - "id": 3924, + "id": 4057, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 4546, + "scope": 4331, + "sourceUnit": 4679, "src": "150:37:13", "symbolAliases": [], "unitAlias": "" @@ -389,39 +389,39 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3926, + "id": 4059, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "672:7:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 3927, + "id": 4060, "nodeType": "InheritanceSpecifier", "src": "672:7:13" } ], "contractDependencies": [ - 4545, - 10489, - 10598 + 4678, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 3925, + "id": 4058, "nodeType": "StructuredDocumentation", "src": "437:200:13", "text": "The UniswapOracleFactory contract is designed to produce individual UniswapOracleInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 4197, + "id": 4330, "linearizedBaseContracts": [ - 4197, - 10598, - 10489 + 4330, + 10761, + 10652 ], "name": "UniswapOracleFactory", "nodeType": "ContractDefinition", @@ -429,12 +429,12 @@ { "constant": false, "functionSelector": "8c8b6851", - "id": 3929, + "id": 4062, "mutability": "mutable", "name": "uniswap_router_add", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "686:33:13", "stateVariable": true, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "address" }, "typeName": { - "id": 3928, + "id": 4061, "name": "address", "nodeType": "ElementaryTypeName", "src": "686:7:13", @@ -459,12 +459,12 @@ { "constant": false, "functionSelector": "9adc328b", - "id": 3931, + "id": 4064, "mutability": "mutable", "name": "usdc_add", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "725:23:13", "stateVariable": true, "storageLocation": "default", @@ -473,7 +473,7 @@ "typeString": "address" }, "typeName": { - "id": 3930, + "id": 4063, "name": "address", "nodeType": "ElementaryTypeName", "src": "725:7:13", @@ -489,12 +489,12 @@ { "constant": false, "functionSelector": "c45a0155", - "id": 3933, + "id": 4066, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "754:22:13", "stateVariable": true, "storageLocation": "default", @@ -503,7 +503,7 @@ "typeString": "address" }, "typeName": { - "id": 3932, + "id": 4065, "name": "address", "nodeType": "ElementaryTypeName", "src": "754:7:13", @@ -519,28 +519,28 @@ { "constant": false, "functionSelector": "735de9f7", - "id": 3935, + "id": 4068, "mutability": "mutable", "name": "uniswapRouter", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "782:39:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" }, "typeName": { "contractScope": null, - "id": 3934, + "id": 4067, "name": "IUniswapV2Router02", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "782:18:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, @@ -550,12 +550,12 @@ { "constant": false, "functionSelector": "3373a447", - "id": 3939, + "id": 4072, "mutability": "mutable", "name": "instanceTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "828:50:13", "stateVariable": true, "storageLocation": "default", @@ -564,9 +564,9 @@ "typeString": "mapping(address => address)" }, "typeName": { - "id": 3938, + "id": 4071, "keyType": { - "id": 3936, + "id": 4069, "name": "address", "nodeType": "ElementaryTypeName", "src": "836:7:13", @@ -582,7 +582,7 @@ "typeString": "mapping(address => address)" }, "valueType": { - "id": 3937, + "id": 4070, "name": "address", "nodeType": "ElementaryTypeName", "src": "847:7:13", @@ -598,28 +598,28 @@ }, { "body": { - "id": 3967, + "id": 4100, "nodeType": "Block", "src": "1366:171:13", "statements": [ { "expression": { "argumentTypes": null, - "id": 3953, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3949, + "id": 4082, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "1376:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, @@ -630,11 +630,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3951, + "id": 4084, "name": "uniswap_router_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3929, + "referencedDeclaration": 4062, "src": "1411:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -649,18 +649,18 @@ "typeString": "address" } ], - "id": 3950, + "id": 4083, "name": "IUniswapV2Router02", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "1392:18:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$9792_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$9955_$", "typeString": "type(contract IUniswapV2Router02)" } }, - "id": 3952, + "id": 4085, "isConstant": false, "isLValue": false, "isPure": false, @@ -671,35 +671,35 @@ "src": "1392:38:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, "src": "1376:54:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 3954, + "id": 4087, "nodeType": "ExpressionStatement", "src": "1376:54:13" }, { "expression": { "argumentTypes": null, - "id": 3957, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3955, + "id": 4088, "name": "usdc_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3931, + "referencedDeclaration": 4064, "src": "1440:8:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -710,11 +710,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3956, + "id": 4089, "name": "usdcAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3942, + "referencedDeclaration": 4075, "src": "1451:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -727,25 +727,25 @@ "typeString": "address" } }, - "id": 3958, + "id": 4091, "nodeType": "ExpressionStatement", "src": "1440:18:13" }, { "expression": { "argumentTypes": null, - "id": 3961, + "id": 4094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3959, + "id": 4092, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3933, + "referencedDeclaration": 4066, "src": "1468:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -756,11 +756,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3960, + "id": 4093, "name": "_uniFactoryAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3944, + "referencedDeclaration": 4077, "src": "1478:14:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -773,25 +773,25 @@ "typeString": "address" } }, - "id": 3962, + "id": 4095, "nodeType": "ExpressionStatement", "src": "1468:24:13" }, { "expression": { "argumentTypes": null, - "id": 3965, + "id": 4098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3963, + "id": 4096, "name": "uniswap_router_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3929, + "referencedDeclaration": 4062, "src": "1502:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -802,11 +802,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3964, + "id": 4097, "name": "_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3946, + "referencedDeclaration": 4079, "src": "1523:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -819,19 +819,19 @@ "typeString": "address" } }, - "id": 3966, + "id": 4099, "nodeType": "ExpressionStatement", "src": "1502:28:13" } ] }, "documentation": { - "id": 3940, + "id": 4073, "nodeType": "StructuredDocumentation", "src": "940:314:13", "text": "@notice constructor function is fired once during contract creation. This constructor initializes uniswapRouter\nas a usable contract instance within the UniswapOracleFactory\n@param usdcAdd is the address of the ERC20 USDC address\n@param _uniFactoryAdd is the address of the uniswap factory contract*" }, - "id": 3968, + "id": 4101, "implemented": true, "kind": "constructor", "modifiers": [], @@ -839,17 +839,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3947, + "id": 4080, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3942, + "id": 4075, "mutability": "mutable", "name": "usdcAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1280:15:13", "stateVariable": false, "storageLocation": "default", @@ -858,7 +858,7 @@ "typeString": "address" }, "typeName": { - "id": 3941, + "id": 4074, "name": "address", "nodeType": "ElementaryTypeName", "src": "1280:7:13", @@ -873,12 +873,12 @@ }, { "constant": false, - "id": 3944, + "id": 4077, "mutability": "mutable", "name": "_uniFactoryAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1305:22:13", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "address" }, "typeName": { - "id": 3943, + "id": 4076, "name": "address", "nodeType": "ElementaryTypeName", "src": "1305:7:13", @@ -902,12 +902,12 @@ }, { "constant": false, - "id": 3946, + "id": 4079, "mutability": "mutable", "name": "_router", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1337:15:13", "stateVariable": false, "storageLocation": "default", @@ -916,7 +916,7 @@ "typeString": "address" }, "typeName": { - "id": 3945, + "id": 4078, "name": "address", "nodeType": "ElementaryTypeName", "src": "1337:7:13", @@ -933,12 +933,12 @@ "src": "1270:88:13" }, "returnParameters": { - "id": 3948, + "id": 4081, "nodeType": "ParameterList", "parameters": [], "src": "1366:0:13" }, - "scope": 4197, + "scope": 4330, "src": "1259:278:13", "stateMutability": "nonpayable", "virtual": false, @@ -946,23 +946,23 @@ }, { "body": { - "id": 3998, + "id": 4131, "nodeType": "Block", "src": "1861:183:13", "statements": [ { "assignments": [ - 3979 + 4112 ], "declarations": [ { "constant": false, - "id": 3979, + "id": 4112, "mutability": "mutable", "name": "_oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3998, + "scope": 4131, "src": "1871:15:13", "stateVariable": false, "storageLocation": "default", @@ -971,7 +971,7 @@ "typeString": "address" }, "typeName": { - "id": 3978, + "id": 4111, "name": "address", "nodeType": "ElementaryTypeName", "src": "1871:7:13", @@ -985,7 +985,7 @@ "visibility": "internal" } ], - "id": 3989, + "id": 4122, "initialValue": { "argumentTypes": null, "arguments": [ @@ -994,11 +994,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3984, + "id": 4117, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3933, + "referencedDeclaration": 4066, "src": "1936:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1007,11 +1007,11 @@ }, { "argumentTypes": null, - "id": 3985, + "id": 4118, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3971, + "referencedDeclaration": 4104, "src": "1945:5:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1020,11 +1020,11 @@ }, { "argumentTypes": null, - "id": 3986, + "id": 4119, "name": "usdc_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3931, + "referencedDeclaration": 4064, "src": "1952:8:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1047,7 +1047,7 @@ "typeString": "address" } ], - "id": 3983, + "id": 4116, "isConstant": false, "isLValue": false, "isPure": false, @@ -1055,23 +1055,23 @@ "nodeType": "NewExpression", "src": "1910:25:13", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "function (address,address,address) returns (contract UniswapOracleInstance)" }, "typeName": { "contractScope": null, - "id": 3982, + "id": 4115, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "1914:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } } }, - "id": 3987, + "id": 4120, "isConstant": false, "isLValue": false, "isPure": false, @@ -1082,7 +1082,7 @@ "src": "1910:51:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } } @@ -1090,11 +1090,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } ], - "id": 3981, + "id": 4114, "isConstant": false, "isLValue": false, "isPure": true, @@ -1106,7 +1106,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3980, + "id": 4113, "name": "address", "nodeType": "ElementaryTypeName", "src": "1889:7:13", @@ -1116,7 +1116,7 @@ } } }, - "id": 3988, + "id": 4121, "isConstant": false, "isLValue": false, "isPure": false, @@ -1137,7 +1137,7 @@ { "expression": { "argumentTypes": null, - "id": 3994, + "id": 4127, "isConstant": false, "isLValue": false, "isPure": false, @@ -1146,25 +1146,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3990, + "id": 4123, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "1981:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3992, + "id": 4125, "indexExpression": { "argumentTypes": null, - "id": 3991, + "id": 4124, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3971, + "referencedDeclaration": 4104, "src": "1997:5:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1186,11 +1186,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3993, + "id": 4126, "name": "_oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3979, + "referencedDeclaration": 4112, "src": "2006:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1203,52 +1203,52 @@ "typeString": "address" } }, - "id": 3995, + "id": 4128, "nodeType": "ExpressionStatement", "src": "1981:32:13" }, { "expression": { "argumentTypes": null, - "id": 3996, + "id": 4129, "name": "_oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3979, + "referencedDeclaration": 4112, "src": "2030:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 3977, - "id": 3997, + "functionReturnParameters": 4110, + "id": 4130, "nodeType": "Return", "src": "2023:14:13" } ] }, "documentation": { - "id": 3969, + "id": 4102, "nodeType": "StructuredDocumentation", "src": "1543:238:13", "text": "@notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\na new asset is whitelisted\n@param token is the address of the token that this oracle will provide a USDC price feed for*" }, "functionSelector": "2fb2da61", - "id": 3999, + "id": 4132, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3974, + "id": 4107, "modifierName": { "argumentTypes": null, - "id": 3973, + "id": 4106, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1833:9:13", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -1263,17 +1263,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3972, + "id": 4105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3971, + "id": 4104, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3999, + "scope": 4132, "src": "1811:13:13", "stateVariable": false, "storageLocation": "default", @@ -1282,7 +1282,7 @@ "typeString": "address" }, "typeName": { - "id": 3970, + "id": 4103, "name": "address", "nodeType": "ElementaryTypeName", "src": "1811:7:13", @@ -1299,17 +1299,17 @@ "src": "1810:15:13" }, "returnParameters": { - "id": 3977, + "id": 4110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3976, + "id": 4109, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3999, + "scope": 4132, "src": "1852:7:13", "stateVariable": false, "storageLocation": "default", @@ -1318,7 +1318,7 @@ "typeString": "address" }, "typeName": { - "id": 3975, + "id": 4108, "name": "address", "nodeType": "ElementaryTypeName", "src": "1852:7:13", @@ -1334,7 +1334,7 @@ ], "src": "1851:9:13" }, - "scope": 4197, + "scope": 4330, "src": "1786:258:13", "stateMutability": "nonpayable", "virtual": false, @@ -1342,23 +1342,23 @@ }, { "body": { - "id": 4019, + "id": 4152, "nodeType": "Block", "src": "2342:97:13", "statements": [ { "assignments": [ - 4008 + 4141 ], "declarations": [ { "constant": false, - "id": 4008, + "id": 4141, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4019, + "scope": 4152, "src": "2352:14:13", "stateVariable": false, "storageLocation": "default", @@ -1367,7 +1367,7 @@ "typeString": "address" }, "typeName": { - "id": 4007, + "id": 4140, "name": "address", "nodeType": "ElementaryTypeName", "src": "2352:7:13", @@ -1381,30 +1381,30 @@ "visibility": "internal" } ], - "id": 4012, + "id": 4145, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4009, + "id": 4142, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2369:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4011, + "id": 4144, "indexExpression": { "argumentTypes": null, - "id": 4010, + "id": 4143, "name": "_asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4004, + "referencedDeclaration": 4137, "src": "2385:6:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1428,7 +1428,7 @@ { "expression": { "argumentTypes": null, - "id": 4017, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": false, @@ -1437,25 +1437,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4013, + "id": 4146, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2402:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4015, + "id": 4148, "indexExpression": { "argumentTypes": null, - "id": 4014, + "id": 4147, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4002, + "referencedDeclaration": 4135, "src": "2418:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1477,11 +1477,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4016, + "id": 4149, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4008, + "referencedDeclaration": 4141, "src": "2426:6:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1494,20 +1494,20 @@ "typeString": "address" } }, - "id": 4018, + "id": 4151, "nodeType": "ExpressionStatement", "src": "2402:30:13" } ] }, "documentation": { - "id": 4000, + "id": 4133, "nodeType": "StructuredDocumentation", "src": "2050:233:13", "text": "@notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n@param _MMI is the address of the MoneyMarketInstance\n@param _asset is the address of the MoneyMarketInstancesunderlying asset*" }, "functionSelector": "1be1d0b9", - "id": 4020, + "id": 4153, "implemented": true, "kind": "function", "modifiers": [], @@ -1515,17 +1515,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4005, + "id": 4138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4002, + "id": 4135, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4020, + "scope": 4153, "src": "2305:12:13", "stateVariable": false, "storageLocation": "default", @@ -1534,7 +1534,7 @@ "typeString": "address" }, "typeName": { - "id": 4001, + "id": 4134, "name": "address", "nodeType": "ElementaryTypeName", "src": "2305:7:13", @@ -1549,12 +1549,12 @@ }, { "constant": false, - "id": 4004, + "id": 4137, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4020, + "scope": 4153, "src": "2319:14:13", "stateVariable": false, "storageLocation": "default", @@ -1563,7 +1563,7 @@ "typeString": "address" }, "typeName": { - "id": 4003, + "id": 4136, "name": "address", "nodeType": "ElementaryTypeName", "src": "2319:7:13", @@ -1580,12 +1580,12 @@ "src": "2304:30:13" }, "returnParameters": { - "id": 4006, + "id": 4139, "nodeType": "ParameterList", "parameters": [], "src": "2342:0:13" }, - "scope": 4197, + "scope": 4330, "src": "2288:151:13", "stateMutability": "nonpayable", "virtual": false, @@ -1593,39 +1593,39 @@ }, { "body": { - "id": 4043, + "id": 4176, "nodeType": "Block", "src": "2805:154:13", "statements": [ { "assignments": [ - 4031 + 4164 ], "declarations": [ { "constant": false, - "id": 4031, + "id": 4164, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4043, + "scope": 4176, "src": "2815:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4030, + "id": 4163, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "2815:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -1633,7 +1633,7 @@ "visibility": "internal" } ], - "id": 4037, + "id": 4170, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1641,25 +1641,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4033, + "id": 4166, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2881:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4035, + "id": 4168, "indexExpression": { "argumentTypes": null, - "id": 4034, + "id": 4167, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4023, + "referencedDeclaration": 4156, "src": "2897:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1685,18 +1685,18 @@ "typeString": "address" } ], - "id": 4032, + "id": 4165, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "2846:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4036, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": false, @@ -1707,7 +1707,7 @@ "src": "2846:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -1720,11 +1720,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4040, + "id": 4173, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4025, + "referencedDeclaration": 4158, "src": "2944:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1741,32 +1741,32 @@ ], "expression": { "argumentTypes": null, - "id": 4038, + "id": 4171, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4031, + "referencedDeclaration": 4164, "src": "2929:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4039, + "id": 4172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "consult", "nodeType": "MemberAccess", - "referencedDeclaration": 4487, + "referencedDeclaration": 4620, "src": "2929:14:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) external returns (uint256)" } }, - "id": 4041, + "id": 4174, "isConstant": false, "isLValue": false, "isPure": false, @@ -1781,21 +1781,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4029, - "id": 4042, + "functionReturnParameters": 4162, + "id": 4175, "nodeType": "Return", "src": "2922:30:13" } ] }, "documentation": { - "id": 4021, + "id": 4154, "nodeType": "StructuredDocumentation", "src": "2445:244:13", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "a2672dee", - "id": 4044, + "id": 4177, "implemented": true, "kind": "function", "modifiers": [], @@ -1803,17 +1803,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4026, + "id": 4159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4023, + "id": 4156, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2729:12:13", "stateVariable": false, "storageLocation": "default", @@ -1822,7 +1822,7 @@ "typeString": "address" }, "typeName": { - "id": 4022, + "id": 4155, "name": "address", "nodeType": "ElementaryTypeName", "src": "2729:7:13", @@ -1837,12 +1837,12 @@ }, { "constant": false, - "id": 4025, + "id": 4158, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2743:15:13", "stateVariable": false, "storageLocation": "default", @@ -1851,7 +1851,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4024, + "id": 4157, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2743:7:13", @@ -1867,17 +1867,17 @@ "src": "2728:31:13" }, "returnParameters": { - "id": 4029, + "id": 4162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4028, + "id": 4161, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2792:7:13", "stateVariable": false, "storageLocation": "default", @@ -1886,7 +1886,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4027, + "id": 4160, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2792:7:13", @@ -1901,7 +1901,7 @@ ], "src": "2791:9:13" }, - "scope": 4197, + "scope": 4330, "src": "2694:265:13", "stateMutability": "nonpayable", "virtual": false, @@ -1909,39 +1909,39 @@ }, { "body": { - "id": 4067, + "id": 4200, "nodeType": "Block", "src": "3404:156:13", "statements": [ { "assignments": [ - 4055 + 4188 ], "declarations": [ { "constant": false, - "id": 4055, + "id": 4188, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4067, + "scope": 4200, "src": "3414:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4054, + "id": 4187, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3414:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -1949,7 +1949,7 @@ "visibility": "internal" } ], - "id": 4061, + "id": 4194, "initialValue": { "argumentTypes": null, "arguments": [ @@ -1957,25 +1957,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4057, + "id": 4190, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "3480:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4059, + "id": 4192, "indexExpression": { "argumentTypes": null, - "id": 4058, + "id": 4191, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4047, + "referencedDeclaration": 4180, "src": "3496:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2001,18 +2001,18 @@ "typeString": "address" } ], - "id": 4056, + "id": 4189, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3445:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4060, + "id": 4193, "isConstant": false, "isLValue": false, "isPure": false, @@ -2023,7 +2023,7 @@ "src": "3445:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -2036,11 +2036,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4064, + "id": 4197, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4049, + "referencedDeclaration": 4182, "src": "3545:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2057,32 +2057,32 @@ ], "expression": { "argumentTypes": null, - "id": 4062, + "id": 4195, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4055, + "referencedDeclaration": 4188, "src": "3528:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4063, + "id": 4196, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "viewPrice", "nodeType": "MemberAccess", - "referencedDeclaration": 4505, + "referencedDeclaration": 4638, "src": "3528:16:13", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" } }, - "id": 4065, + "id": 4198, "isConstant": false, "isLValue": false, "isPure": false, @@ -2097,21 +2097,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4053, - "id": 4066, + "functionReturnParameters": 4186, + "id": 4199, "nodeType": "Return", "src": "3521:32:13" } ] }, "documentation": { - "id": 4045, + "id": 4178, "nodeType": "StructuredDocumentation", "src": "2965:309:13", "text": "@notice viewUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset without the gas cost of calculating with update\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "81a61d7f", - "id": 4068, + "id": 4201, "implemented": true, "kind": "function", "modifiers": [], @@ -2119,17 +2119,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4050, + "id": 4183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4047, + "id": 4180, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3315:12:13", "stateVariable": false, "storageLocation": "default", @@ -2138,7 +2138,7 @@ "typeString": "address" }, "typeName": { - "id": 4046, + "id": 4179, "name": "address", "nodeType": "ElementaryTypeName", "src": "3315:7:13", @@ -2153,12 +2153,12 @@ }, { "constant": false, - "id": 4049, + "id": 4182, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3329:15:13", "stateVariable": false, "storageLocation": "default", @@ -2167,7 +2167,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4048, + "id": 4181, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3329:7:13", @@ -2183,17 +2183,17 @@ "src": "3314:31:13" }, "returnParameters": { - "id": 4053, + "id": 4186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4052, + "id": 4185, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3391:7:13", "stateVariable": false, "storageLocation": "default", @@ -2202,7 +2202,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4051, + "id": 4184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3391:7:13", @@ -2217,7 +2217,7 @@ ], "src": "3390:9:13" }, - "scope": 4197, + "scope": 4330, "src": "3279:281:13", "stateMutability": "view", "virtual": false, @@ -2225,39 +2225,39 @@ }, { "body": { - "id": 4091, + "id": 4224, "nodeType": "Block", "src": "3943:158:13", "statements": [ { "assignments": [ - 4079 + 4212 ], "declarations": [ { "constant": false, - "id": 4079, + "id": 4212, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4091, + "scope": 4224, "src": "3953:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4078, + "id": 4211, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3953:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -2265,7 +2265,7 @@ "visibility": "internal" } ], - "id": 4085, + "id": 4218, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2273,25 +2273,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4081, + "id": 4214, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "4019:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4083, + "id": 4216, "indexExpression": { "argumentTypes": null, - "id": 4082, + "id": 4215, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4204, "src": "4035:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2317,18 +2317,18 @@ "typeString": "address" } ], - "id": 4080, + "id": 4213, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3984:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4084, + "id": 4217, "isConstant": false, "isLValue": false, "isPure": false, @@ -2339,7 +2339,7 @@ "src": "3984:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -2352,11 +2352,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4088, + "id": 4221, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4073, + "referencedDeclaration": 4206, "src": "4086:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2373,32 +2373,32 @@ ], "expression": { "argumentTypes": null, - "id": 4086, + "id": 4219, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4079, + "referencedDeclaration": 4212, "src": "4067:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4087, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "consultUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 4526, + "referencedDeclaration": 4659, "src": "4067:18:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) external returns (uint256)" } }, - "id": 4089, + "id": 4222, "isConstant": false, "isLValue": false, "isPure": false, @@ -2413,21 +2413,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4077, - "id": 4090, + "functionReturnParameters": 4210, + "id": 4223, "nodeType": "Return", "src": "4060:34:13" } ] }, "documentation": { - "id": 4069, + "id": 4202, "nodeType": "StructuredDocumentation", "src": "3566:257:13", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "fff9ccde", - "id": 4092, + "id": 4225, "implemented": true, "kind": "function", "modifiers": [], @@ -2435,17 +2435,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4074, + "id": 4207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4071, + "id": 4204, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3867:12:13", "stateVariable": false, "storageLocation": "default", @@ -2454,7 +2454,7 @@ "typeString": "address" }, "typeName": { - "id": 4070, + "id": 4203, "name": "address", "nodeType": "ElementaryTypeName", "src": "3867:7:13", @@ -2469,12 +2469,12 @@ }, { "constant": false, - "id": 4073, + "id": 4206, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3881:15:13", "stateVariable": false, "storageLocation": "default", @@ -2483,7 +2483,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4072, + "id": 4205, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3881:7:13", @@ -2499,17 +2499,17 @@ "src": "3866:31:13" }, "returnParameters": { - "id": 4077, + "id": 4210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4076, + "id": 4209, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3930:7:13", "stateVariable": false, "storageLocation": "default", @@ -2518,7 +2518,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4075, + "id": 4208, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3930:7:13", @@ -2533,7 +2533,7 @@ ], "src": "3929:9:13" }, - "scope": 4197, + "scope": 4330, "src": "3828:273:13", "stateMutability": "nonpayable", "virtual": false, @@ -2541,39 +2541,39 @@ }, { "body": { - "id": 4115, + "id": 4248, "nodeType": "Block", "src": "4514:155:13", "statements": [ { "assignments": [ - 4103 + 4236 ], "declarations": [ { "constant": false, - "id": 4103, + "id": 4236, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4115, + "scope": 4248, "src": "4524:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4102, + "id": 4235, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "4524:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -2581,7 +2581,7 @@ "visibility": "internal" } ], - "id": 4109, + "id": 4242, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2589,25 +2589,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4105, + "id": 4238, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "4590:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4107, + "id": 4240, "indexExpression": { "argumentTypes": null, - "id": 4106, + "id": 4239, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4228, "src": "4606:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2633,18 +2633,18 @@ "typeString": "address" } ], - "id": 4104, + "id": 4237, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "4555:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4108, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": false, @@ -2655,7 +2655,7 @@ "src": "4555:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -2668,11 +2668,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4112, + "id": 4245, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4097, + "referencedDeclaration": 4230, "src": "4654:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2689,32 +2689,32 @@ ], "expression": { "argumentTypes": null, - "id": 4110, + "id": 4243, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4103, + "referencedDeclaration": 4236, "src": "4638:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4111, + "id": 4244, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "viewUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 4544, + "referencedDeclaration": 4677, "src": "4638:15:13", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" } }, - "id": 4113, + "id": 4246, "isConstant": false, "isLValue": false, "isPure": false, @@ -2729,21 +2729,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4101, - "id": 4114, + "functionReturnParameters": 4234, + "id": 4247, "nodeType": "Return", "src": "4631:31:13" } ] }, "documentation": { - "id": 4093, + "id": 4226, "nodeType": "StructuredDocumentation", "src": "4107:273:13", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "02f82cb1", - "id": 4116, + "id": 4249, "implemented": true, "kind": "function", "modifiers": [], @@ -2751,17 +2751,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4098, + "id": 4231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4095, + "id": 4228, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4425:12:13", "stateVariable": false, "storageLocation": "default", @@ -2770,7 +2770,7 @@ "typeString": "address" }, "typeName": { - "id": 4094, + "id": 4227, "name": "address", "nodeType": "ElementaryTypeName", "src": "4425:7:13", @@ -2785,12 +2785,12 @@ }, { "constant": false, - "id": 4097, + "id": 4230, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4439:15:13", "stateVariable": false, "storageLocation": "default", @@ -2799,7 +2799,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4096, + "id": 4229, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4439:7:13", @@ -2815,17 +2815,17 @@ "src": "4424:31:13" }, "returnParameters": { - "id": 4101, + "id": 4234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4100, + "id": 4233, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4501:7:13", "stateVariable": false, "storageLocation": "default", @@ -2834,7 +2834,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4099, + "id": 4232, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4501:7:13", @@ -2849,7 +2849,7 @@ ], "src": "4500:9:13" }, - "scope": 4197, + "scope": 4330, "src": "4385:284:13", "stateMutability": "view", "virtual": false, @@ -2857,23 +2857,23 @@ }, { "body": { - "id": 4160, + "id": 4293, "nodeType": "Block", "src": "5203:173:13", "statements": [ { "assignments": [ - 4131 + 4264 ], "declarations": [ { "constant": false, - "id": 4131, + "id": 4264, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4160, + "scope": 4293, "src": "5213:21:13", "stateVariable": false, "storageLocation": "memory", @@ -2883,7 +2883,7 @@ }, "typeName": { "baseType": { - "id": 4129, + "id": 4262, "name": "address", "nodeType": "ElementaryTypeName", "src": "5213:7:13", @@ -2892,7 +2892,7 @@ "typeString": "address" } }, - "id": 4130, + "id": 4263, "length": null, "nodeType": "ArrayTypeName", "src": "5213:9:13", @@ -2905,14 +2905,14 @@ "visibility": "internal" } ], - "id": 4137, + "id": 4270, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 4135, + "id": 4268, "isConstant": false, "isLValue": false, "isPure": true, @@ -2935,7 +2935,7 @@ "typeString": "int_const 3" } ], - "id": 4134, + "id": 4267, "isConstant": false, "isLValue": false, "isPure": true, @@ -2948,7 +2948,7 @@ }, "typeName": { "baseType": { - "id": 4132, + "id": 4265, "name": "address", "nodeType": "ElementaryTypeName", "src": "5241:7:13", @@ -2958,7 +2958,7 @@ "typeString": "address" } }, - "id": 4133, + "id": 4266, "length": null, "nodeType": "ArrayTypeName", "src": "5241:9:13", @@ -2968,7 +2968,7 @@ } } }, - "id": 4136, + "id": 4269, "isConstant": false, "isLValue": false, "isPure": true, @@ -2989,7 +2989,7 @@ { "expression": { "argumentTypes": null, - "id": 4142, + "id": 4275, "isConstant": false, "isLValue": false, "isPure": false, @@ -2998,22 +2998,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4138, + "id": 4271, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5263:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4140, + "id": 4273, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4139, + "id": 4272, "isConstant": false, "isLValue": false, "isPure": true, @@ -3043,11 +3043,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4141, + "id": 4274, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4119, + "referencedDeclaration": 4252, "src": "5273:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3060,14 +3060,14 @@ "typeString": "address" } }, - "id": 4143, + "id": 4276, "nodeType": "ExpressionStatement", "src": "5263:17:13" }, { "expression": { "argumentTypes": null, - "id": 4150, + "id": 4283, "isConstant": false, "isLValue": false, "isPure": false, @@ -3076,22 +3076,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4144, + "id": 4277, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5290:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4146, + "id": 4279, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 4145, + "id": 4278, "isConstant": false, "isLValue": false, "isPure": true, @@ -3126,32 +3126,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4147, + "id": 4280, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "5300:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 4148, + "id": 4281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "WETH", "nodeType": "MemberAccess", - "referencedDeclaration": 9408, + "referencedDeclaration": 9571, "src": "5300:18:13", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_address_$", "typeString": "function () pure external returns (address)" } }, - "id": 4149, + "id": 4282, "isConstant": false, "isLValue": false, "isPure": false, @@ -3172,14 +3172,14 @@ "typeString": "address" } }, - "id": 4151, + "id": 4284, "nodeType": "ExpressionStatement", "src": "5290:30:13" }, { "expression": { "argumentTypes": null, - "id": 4156, + "id": 4289, "isConstant": false, "isLValue": false, "isPure": false, @@ -3188,22 +3188,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4152, + "id": 4285, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5330:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4154, + "id": 4287, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4153, + "id": 4286, "isConstant": false, "isLValue": false, "isPure": true, @@ -3233,11 +3233,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4155, + "id": 4288, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4121, + "referencedDeclaration": 4254, "src": "5340:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3250,38 +3250,38 @@ "typeString": "address" } }, - "id": 4157, + "id": 4290, "nodeType": "ExpressionStatement", "src": "5330:17:13" }, { "expression": { "argumentTypes": null, - "id": 4158, + "id": 4291, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5365:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "functionReturnParameters": 4126, - "id": 4159, + "functionReturnParameters": 4259, + "id": 4292, "nodeType": "Return", "src": "5358:11:13" } ] }, "documentation": { - "id": 4117, + "id": 4250, "nodeType": "StructuredDocumentation", "src": "4675:392:13", "text": "@notice getPathForERC20Swap is an internal function used to create a uniswap trade path for two input\nERC20 tokens using WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address*" }, - "id": 4161, + "id": 4294, "implemented": true, "kind": "function", "modifiers": [], @@ -3289,17 +3289,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4122, + "id": 4255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4119, + "id": 4252, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5101:15:13", "stateVariable": false, "storageLocation": "default", @@ -3308,7 +3308,7 @@ "typeString": "address" }, "typeName": { - "id": 4118, + "id": 4251, "name": "address", "nodeType": "ElementaryTypeName", "src": "5101:7:13", @@ -3323,12 +3323,12 @@ }, { "constant": false, - "id": 4121, + "id": 4254, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5118:15:13", "stateVariable": false, "storageLocation": "default", @@ -3337,7 +3337,7 @@ "typeString": "address" }, "typeName": { - "id": 4120, + "id": 4253, "name": "address", "nodeType": "ElementaryTypeName", "src": "5118:7:13", @@ -3354,17 +3354,17 @@ "src": "5100:34:13" }, "returnParameters": { - "id": 4126, + "id": 4259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4125, + "id": 4258, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5181:16:13", "stateVariable": false, "storageLocation": "memory", @@ -3374,7 +3374,7 @@ }, "typeName": { "baseType": { - "id": 4123, + "id": 4256, "name": "address", "nodeType": "ElementaryTypeName", "src": "5181:7:13", @@ -3384,7 +3384,7 @@ "typeString": "address" } }, - "id": 4124, + "id": 4257, "length": null, "nodeType": "ArrayTypeName", "src": "5181:9:13", @@ -3399,7 +3399,7 @@ ], "src": "5180:18:13" }, - "scope": 4197, + "scope": 4330, "src": "5072:304:13", "stateMutability": "view", "virtual": false, @@ -3407,23 +3407,23 @@ }, { "body": { - "id": 4195, + "id": 4328, "nodeType": "Block", "src": "6267:254:13", "statements": [ { "assignments": [ - 4176 + 4309 ], "declarations": [ { "constant": false, - "id": 4176, + "id": 4309, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4195, + "scope": 4328, "src": "6277:16:13", "stateVariable": false, "storageLocation": "default", @@ -3432,7 +3432,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4175, + "id": 4308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6277:7:13", @@ -3445,14 +3445,14 @@ "visibility": "internal" } ], - "id": 4181, + "id": 4314, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4180, + "id": 4313, "isConstant": false, "isLValue": false, "isPure": false, @@ -3461,7 +3461,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4177, + "id": 4310, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -3472,7 +3472,7 @@ "typeString": "block" } }, - "id": 4178, + "id": 4311, "isConstant": false, "isLValue": false, "isPure": false, @@ -3491,7 +3491,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3630", - "id": 4179, + "id": 4312, "isConstant": false, "isLValue": false, "isPure": true, @@ -3521,11 +3521,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4185, + "id": 4318, "name": "_amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4303, "src": "6378:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3534,11 +3534,11 @@ }, { "argumentTypes": null, - "id": 4186, + "id": 4319, "name": "_amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4305, "src": "6401:13:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3550,11 +3550,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4188, + "id": 4321, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4164, + "referencedDeclaration": 4297, "src": "6448:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3563,11 +3563,11 @@ }, { "argumentTypes": null, - "id": 4189, + "id": 4322, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4166, + "referencedDeclaration": 4299, "src": "6457:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3586,18 +3586,18 @@ "typeString": "address" } ], - "id": 4187, + "id": 4320, "name": "getPathForERC20Swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4161, + "referencedDeclaration": 4294, "src": "6428:19:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function (address,address) view returns (address[] memory)" } }, - "id": 4190, + "id": 4323, "isConstant": false, "isLValue": false, "isPure": false, @@ -3614,11 +3614,11 @@ }, { "argumentTypes": null, - "id": 4191, + "id": 4324, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4168, + "referencedDeclaration": 4301, "src": "6479:3:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3627,11 +3627,11 @@ }, { "argumentTypes": null, - "id": 4192, + "id": 4325, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4309, "src": "6496:8:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3664,32 +3664,32 @@ ], "expression": { "argumentTypes": null, - "id": 4182, + "id": 4315, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "6326:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 4184, + "id": 4317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swapExactTokensForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9567, + "referencedDeclaration": 9730, "src": "6326:38:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 4193, + "id": 4326, "isConstant": false, "isLValue": false, "isPure": false, @@ -3704,20 +3704,20 @@ "typeString": "uint256[] memory" } }, - "id": 4194, + "id": 4327, "nodeType": "ExpressionStatement", "src": "6326:188:13" } ] }, "documentation": { - "id": 4162, + "id": 4295, "nodeType": "StructuredDocumentation", "src": "5382:717:13", "text": "@notice swapERC20 is an external function that swaps one ERC20 token for another\nusing WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n(loan amount +i nterest) and its liquidation fee amount.*" }, "functionSelector": "f0defe93", - "id": 4196, + "id": 4329, "implemented": true, "kind": "function", "modifiers": [], @@ -3725,17 +3725,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4173, + "id": 4306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4164, + "id": 4297, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6132:15:13", "stateVariable": false, "storageLocation": "default", @@ -3744,7 +3744,7 @@ "typeString": "address" }, "typeName": { - "id": 4163, + "id": 4296, "name": "address", "nodeType": "ElementaryTypeName", "src": "6132:7:13", @@ -3759,12 +3759,12 @@ }, { "constant": false, - "id": 4166, + "id": 4299, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6157:15:13", "stateVariable": false, "storageLocation": "default", @@ -3773,7 +3773,7 @@ "typeString": "address" }, "typeName": { - "id": 4165, + "id": 4298, "name": "address", "nodeType": "ElementaryTypeName", "src": "6157:7:13", @@ -3788,12 +3788,12 @@ }, { "constant": false, - "id": 4168, + "id": 4301, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6182:11:13", "stateVariable": false, "storageLocation": "default", @@ -3802,7 +3802,7 @@ "typeString": "address" }, "typeName": { - "id": 4167, + "id": 4300, "name": "address", "nodeType": "ElementaryTypeName", "src": "6182:7:13", @@ -3817,12 +3817,12 @@ }, { "constant": false, - "id": 4170, + "id": 4303, "mutability": "mutable", "name": "_amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6203:17:13", "stateVariable": false, "storageLocation": "default", @@ -3831,7 +3831,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4169, + "id": 4302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6203:7:13", @@ -3845,12 +3845,12 @@ }, { "constant": false, - "id": 4172, + "id": 4305, "mutability": "mutable", "name": "_amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6230:21:13", "stateVariable": false, "storageLocation": "default", @@ -3859,7 +3859,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4171, + "id": 4304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6230:7:13", @@ -3875,36 +3875,36 @@ "src": "6122:135:13" }, "returnParameters": { - "id": 4174, + "id": 4307, "nodeType": "ParameterList", "parameters": [], "src": "6267:0:13" }, - "scope": 4197, + "scope": 4330, "src": "6104:417:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 4198, + "scope": 4331, "src": "639:5884:13" } ], "src": "0:6524:13" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleFactory.sol", "exportedSymbols": { "UniswapOracleFactory": [ - 4197 + 4330 ] }, - "id": 4198, + "id": 4331, "nodeType": "SourceUnit", "nodes": [ { - "id": 3921, + "id": 4054, "literals": [ "solidity", "^", @@ -3917,10 +3917,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 3922, + "id": 4055, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 10599, + "scope": 4331, + "sourceUnit": 10762, "src": "25:60:13", "symbolAliases": [], "unitAlias": "" @@ -3928,21 +3928,21 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", "file": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", - "id": 3923, + "id": 4056, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 9313, + "scope": 4331, + "sourceUnit": 9476, "src": "86:63:13", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", "file": "./UniswapOracleInstance.sol", - "id": 3924, + "id": 4057, "nodeType": "ImportDirective", - "scope": 4198, - "sourceUnit": 4546, + "scope": 4331, + "sourceUnit": 4679, "src": "150:37:13", "symbolAliases": [], "unitAlias": "" @@ -3954,39 +3954,39 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3926, + "id": 4059, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "672:7:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 3927, + "id": 4060, "nodeType": "InheritanceSpecifier", "src": "672:7:13" } ], "contractDependencies": [ - 4545, - 10489, - 10598 + 4678, + 10652, + 10761 ], "contractKind": "contract", "documentation": { - "id": 3925, + "id": 4058, "nodeType": "StructuredDocumentation", "src": "437:200:13", "text": "The UniswapOracleFactory contract is designed to produce individual UniswapOracleInstance contracts\nThis contract uses the OpenZeppelin contract Library to inherit functions from\nOwnable.sol*" }, "fullyImplemented": true, - "id": 4197, + "id": 4330, "linearizedBaseContracts": [ - 4197, - 10598, - 10489 + 4330, + 10761, + 10652 ], "name": "UniswapOracleFactory", "nodeType": "ContractDefinition", @@ -3994,12 +3994,12 @@ { "constant": false, "functionSelector": "8c8b6851", - "id": 3929, + "id": 4062, "mutability": "mutable", "name": "uniswap_router_add", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "686:33:13", "stateVariable": true, "storageLocation": "default", @@ -4008,7 +4008,7 @@ "typeString": "address" }, "typeName": { - "id": 3928, + "id": 4061, "name": "address", "nodeType": "ElementaryTypeName", "src": "686:7:13", @@ -4024,12 +4024,12 @@ { "constant": false, "functionSelector": "9adc328b", - "id": 3931, + "id": 4064, "mutability": "mutable", "name": "usdc_add", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "725:23:13", "stateVariable": true, "storageLocation": "default", @@ -4038,7 +4038,7 @@ "typeString": "address" }, "typeName": { - "id": 3930, + "id": 4063, "name": "address", "nodeType": "ElementaryTypeName", "src": "725:7:13", @@ -4054,12 +4054,12 @@ { "constant": false, "functionSelector": "c45a0155", - "id": 3933, + "id": 4066, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "754:22:13", "stateVariable": true, "storageLocation": "default", @@ -4068,7 +4068,7 @@ "typeString": "address" }, "typeName": { - "id": 3932, + "id": 4065, "name": "address", "nodeType": "ElementaryTypeName", "src": "754:7:13", @@ -4084,28 +4084,28 @@ { "constant": false, "functionSelector": "735de9f7", - "id": 3935, + "id": 4068, "mutability": "mutable", "name": "uniswapRouter", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "782:39:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" }, "typeName": { "contractScope": null, - "id": 3934, + "id": 4067, "name": "IUniswapV2Router02", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "782:18:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, @@ -4115,12 +4115,12 @@ { "constant": false, "functionSelector": "3373a447", - "id": 3939, + "id": 4072, "mutability": "mutable", "name": "instanceTracker", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4197, + "scope": 4330, "src": "828:50:13", "stateVariable": true, "storageLocation": "default", @@ -4129,9 +4129,9 @@ "typeString": "mapping(address => address)" }, "typeName": { - "id": 3938, + "id": 4071, "keyType": { - "id": 3936, + "id": 4069, "name": "address", "nodeType": "ElementaryTypeName", "src": "836:7:13", @@ -4147,7 +4147,7 @@ "typeString": "mapping(address => address)" }, "valueType": { - "id": 3937, + "id": 4070, "name": "address", "nodeType": "ElementaryTypeName", "src": "847:7:13", @@ -4163,28 +4163,28 @@ }, { "body": { - "id": 3967, + "id": 4100, "nodeType": "Block", "src": "1366:171:13", "statements": [ { "expression": { "argumentTypes": null, - "id": 3953, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3949, + "id": 4082, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "1376:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, @@ -4195,11 +4195,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3951, + "id": 4084, "name": "uniswap_router_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3929, + "referencedDeclaration": 4062, "src": "1411:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4214,18 +4214,18 @@ "typeString": "address" } ], - "id": 3950, + "id": 4083, "name": "IUniswapV2Router02", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "1392:18:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$9792_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Router02_$9955_$", "typeString": "type(contract IUniswapV2Router02)" } }, - "id": 3952, + "id": 4085, "isConstant": false, "isLValue": false, "isPure": false, @@ -4236,35 +4236,35 @@ "src": "1392:38:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, "src": "1376:54:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 3954, + "id": 4087, "nodeType": "ExpressionStatement", "src": "1376:54:13" }, { "expression": { "argumentTypes": null, - "id": 3957, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3955, + "id": 4088, "name": "usdc_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3931, + "referencedDeclaration": 4064, "src": "1440:8:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4275,11 +4275,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3956, + "id": 4089, "name": "usdcAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3942, + "referencedDeclaration": 4075, "src": "1451:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4292,25 +4292,25 @@ "typeString": "address" } }, - "id": 3958, + "id": 4091, "nodeType": "ExpressionStatement", "src": "1440:18:13" }, { "expression": { "argumentTypes": null, - "id": 3961, + "id": 4094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3959, + "id": 4092, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3933, + "referencedDeclaration": 4066, "src": "1468:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4321,11 +4321,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3960, + "id": 4093, "name": "_uniFactoryAdd", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3944, + "referencedDeclaration": 4077, "src": "1478:14:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4338,25 +4338,25 @@ "typeString": "address" } }, - "id": 3962, + "id": 4095, "nodeType": "ExpressionStatement", "src": "1468:24:13" }, { "expression": { "argumentTypes": null, - "id": 3965, + "id": 4098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3963, + "id": 4096, "name": "uniswap_router_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3929, + "referencedDeclaration": 4062, "src": "1502:18:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4367,11 +4367,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3964, + "id": 4097, "name": "_router", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3946, + "referencedDeclaration": 4079, "src": "1523:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4384,19 +4384,19 @@ "typeString": "address" } }, - "id": 3966, + "id": 4099, "nodeType": "ExpressionStatement", "src": "1502:28:13" } ] }, "documentation": { - "id": 3940, + "id": 4073, "nodeType": "StructuredDocumentation", "src": "940:314:13", "text": "@notice constructor function is fired once during contract creation. This constructor initializes uniswapRouter\nas a usable contract instance within the UniswapOracleFactory\n@param usdcAdd is the address of the ERC20 USDC address\n@param _uniFactoryAdd is the address of the uniswap factory contract*" }, - "id": 3968, + "id": 4101, "implemented": true, "kind": "constructor", "modifiers": [], @@ -4404,17 +4404,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3947, + "id": 4080, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3942, + "id": 4075, "mutability": "mutable", "name": "usdcAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1280:15:13", "stateVariable": false, "storageLocation": "default", @@ -4423,7 +4423,7 @@ "typeString": "address" }, "typeName": { - "id": 3941, + "id": 4074, "name": "address", "nodeType": "ElementaryTypeName", "src": "1280:7:13", @@ -4438,12 +4438,12 @@ }, { "constant": false, - "id": 3944, + "id": 4077, "mutability": "mutable", "name": "_uniFactoryAdd", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1305:22:13", "stateVariable": false, "storageLocation": "default", @@ -4452,7 +4452,7 @@ "typeString": "address" }, "typeName": { - "id": 3943, + "id": 4076, "name": "address", "nodeType": "ElementaryTypeName", "src": "1305:7:13", @@ -4467,12 +4467,12 @@ }, { "constant": false, - "id": 3946, + "id": 4079, "mutability": "mutable", "name": "_router", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3968, + "scope": 4101, "src": "1337:15:13", "stateVariable": false, "storageLocation": "default", @@ -4481,7 +4481,7 @@ "typeString": "address" }, "typeName": { - "id": 3945, + "id": 4078, "name": "address", "nodeType": "ElementaryTypeName", "src": "1337:7:13", @@ -4498,12 +4498,12 @@ "src": "1270:88:13" }, "returnParameters": { - "id": 3948, + "id": 4081, "nodeType": "ParameterList", "parameters": [], "src": "1366:0:13" }, - "scope": 4197, + "scope": 4330, "src": "1259:278:13", "stateMutability": "nonpayable", "virtual": false, @@ -4511,23 +4511,23 @@ }, { "body": { - "id": 3998, + "id": 4131, "nodeType": "Block", "src": "1861:183:13", "statements": [ { "assignments": [ - 3979 + 4112 ], "declarations": [ { "constant": false, - "id": 3979, + "id": 4112, "mutability": "mutable", "name": "_oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3998, + "scope": 4131, "src": "1871:15:13", "stateVariable": false, "storageLocation": "default", @@ -4536,7 +4536,7 @@ "typeString": "address" }, "typeName": { - "id": 3978, + "id": 4111, "name": "address", "nodeType": "ElementaryTypeName", "src": "1871:7:13", @@ -4550,7 +4550,7 @@ "visibility": "internal" } ], - "id": 3989, + "id": 4122, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4559,11 +4559,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3984, + "id": 4117, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3933, + "referencedDeclaration": 4066, "src": "1936:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4572,11 +4572,11 @@ }, { "argumentTypes": null, - "id": 3985, + "id": 4118, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3971, + "referencedDeclaration": 4104, "src": "1945:5:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4585,11 +4585,11 @@ }, { "argumentTypes": null, - "id": 3986, + "id": 4119, "name": "usdc_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3931, + "referencedDeclaration": 4064, "src": "1952:8:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4612,7 +4612,7 @@ "typeString": "address" } ], - "id": 3983, + "id": 4116, "isConstant": false, "isLValue": false, "isPure": false, @@ -4620,23 +4620,23 @@ "nodeType": "NewExpression", "src": "1910:25:13", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "function (address,address,address) returns (contract UniswapOracleInstance)" }, "typeName": { "contractScope": null, - "id": 3982, + "id": 4115, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "1914:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } } }, - "id": 3987, + "id": 4120, "isConstant": false, "isLValue": false, "isPure": false, @@ -4647,7 +4647,7 @@ "src": "1910:51:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } } @@ -4655,11 +4655,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } ], - "id": 3981, + "id": 4114, "isConstant": false, "isLValue": false, "isPure": true, @@ -4671,7 +4671,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 3980, + "id": 4113, "name": "address", "nodeType": "ElementaryTypeName", "src": "1889:7:13", @@ -4681,7 +4681,7 @@ } } }, - "id": 3988, + "id": 4121, "isConstant": false, "isLValue": false, "isPure": false, @@ -4702,7 +4702,7 @@ { "expression": { "argumentTypes": null, - "id": 3994, + "id": 4127, "isConstant": false, "isLValue": false, "isPure": false, @@ -4711,25 +4711,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3990, + "id": 4123, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "1981:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 3992, + "id": 4125, "indexExpression": { "argumentTypes": null, - "id": 3991, + "id": 4124, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3971, + "referencedDeclaration": 4104, "src": "1997:5:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4751,11 +4751,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3993, + "id": 4126, "name": "_oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3979, + "referencedDeclaration": 4112, "src": "2006:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4768,52 +4768,52 @@ "typeString": "address" } }, - "id": 3995, + "id": 4128, "nodeType": "ExpressionStatement", "src": "1981:32:13" }, { "expression": { "argumentTypes": null, - "id": 3996, + "id": 4129, "name": "_oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3979, + "referencedDeclaration": 4112, "src": "2030:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 3977, - "id": 3997, + "functionReturnParameters": 4110, + "id": 4130, "nodeType": "Return", "src": "2023:14:13" } ] }, "documentation": { - "id": 3969, + "id": 4102, "nodeType": "StructuredDocumentation", "src": "1543:238:13", "text": "@notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\na new asset is whitelisted\n@param token is the address of the token that this oracle will provide a USDC price feed for*" }, "functionSelector": "2fb2da61", - "id": 3999, + "id": 4132, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3974, + "id": 4107, "modifierName": { "argumentTypes": null, - "id": 3973, + "id": 4106, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10547, + "referencedDeclaration": 10710, "src": "1833:9:13", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -4828,17 +4828,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 3972, + "id": 4105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3971, + "id": 4104, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3999, + "scope": 4132, "src": "1811:13:13", "stateVariable": false, "storageLocation": "default", @@ -4847,7 +4847,7 @@ "typeString": "address" }, "typeName": { - "id": 3970, + "id": 4103, "name": "address", "nodeType": "ElementaryTypeName", "src": "1811:7:13", @@ -4864,17 +4864,17 @@ "src": "1810:15:13" }, "returnParameters": { - "id": 3977, + "id": 4110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3976, + "id": 4109, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 3999, + "scope": 4132, "src": "1852:7:13", "stateVariable": false, "storageLocation": "default", @@ -4883,7 +4883,7 @@ "typeString": "address" }, "typeName": { - "id": 3975, + "id": 4108, "name": "address", "nodeType": "ElementaryTypeName", "src": "1852:7:13", @@ -4899,7 +4899,7 @@ ], "src": "1851:9:13" }, - "scope": 4197, + "scope": 4330, "src": "1786:258:13", "stateMutability": "nonpayable", "virtual": false, @@ -4907,23 +4907,23 @@ }, { "body": { - "id": 4019, + "id": 4152, "nodeType": "Block", "src": "2342:97:13", "statements": [ { "assignments": [ - 4008 + 4141 ], "declarations": [ { "constant": false, - "id": 4008, + "id": 4141, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4019, + "scope": 4152, "src": "2352:14:13", "stateVariable": false, "storageLocation": "default", @@ -4932,7 +4932,7 @@ "typeString": "address" }, "typeName": { - "id": 4007, + "id": 4140, "name": "address", "nodeType": "ElementaryTypeName", "src": "2352:7:13", @@ -4946,30 +4946,30 @@ "visibility": "internal" } ], - "id": 4012, + "id": 4145, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4009, + "id": 4142, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2369:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4011, + "id": 4144, "indexExpression": { "argumentTypes": null, - "id": 4010, + "id": 4143, "name": "_asset", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4004, + "referencedDeclaration": 4137, "src": "2385:6:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4993,7 +4993,7 @@ { "expression": { "argumentTypes": null, - "id": 4017, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": false, @@ -5002,25 +5002,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4013, + "id": 4146, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2402:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4015, + "id": 4148, "indexExpression": { "argumentTypes": null, - "id": 4014, + "id": 4147, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4002, + "referencedDeclaration": 4135, "src": "2418:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5042,11 +5042,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4016, + "id": 4149, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4008, + "referencedDeclaration": 4141, "src": "2426:6:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5059,20 +5059,20 @@ "typeString": "address" } }, - "id": 4018, + "id": 4151, "nodeType": "ExpressionStatement", "src": "2402:30:13" } ] }, "documentation": { - "id": 4000, + "id": 4133, "nodeType": "StructuredDocumentation", "src": "2050:233:13", "text": "@notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n@param _MMI is the address of the MoneyMarketInstance\n@param _asset is the address of the MoneyMarketInstancesunderlying asset*" }, "functionSelector": "1be1d0b9", - "id": 4020, + "id": 4153, "implemented": true, "kind": "function", "modifiers": [], @@ -5080,17 +5080,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4005, + "id": 4138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4002, + "id": 4135, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4020, + "scope": 4153, "src": "2305:12:13", "stateVariable": false, "storageLocation": "default", @@ -5099,7 +5099,7 @@ "typeString": "address" }, "typeName": { - "id": 4001, + "id": 4134, "name": "address", "nodeType": "ElementaryTypeName", "src": "2305:7:13", @@ -5114,12 +5114,12 @@ }, { "constant": false, - "id": 4004, + "id": 4137, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4020, + "scope": 4153, "src": "2319:14:13", "stateVariable": false, "storageLocation": "default", @@ -5128,7 +5128,7 @@ "typeString": "address" }, "typeName": { - "id": 4003, + "id": 4136, "name": "address", "nodeType": "ElementaryTypeName", "src": "2319:7:13", @@ -5145,12 +5145,12 @@ "src": "2304:30:13" }, "returnParameters": { - "id": 4006, + "id": 4139, "nodeType": "ParameterList", "parameters": [], "src": "2342:0:13" }, - "scope": 4197, + "scope": 4330, "src": "2288:151:13", "stateMutability": "nonpayable", "virtual": false, @@ -5158,39 +5158,39 @@ }, { "body": { - "id": 4043, + "id": 4176, "nodeType": "Block", "src": "2805:154:13", "statements": [ { "assignments": [ - 4031 + 4164 ], "declarations": [ { "constant": false, - "id": 4031, + "id": 4164, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4043, + "scope": 4176, "src": "2815:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4030, + "id": 4163, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "2815:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5198,7 +5198,7 @@ "visibility": "internal" } ], - "id": 4037, + "id": 4170, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5206,25 +5206,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4033, + "id": 4166, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "2881:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4035, + "id": 4168, "indexExpression": { "argumentTypes": null, - "id": 4034, + "id": 4167, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4023, + "referencedDeclaration": 4156, "src": "2897:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5250,18 +5250,18 @@ "typeString": "address" } ], - "id": 4032, + "id": 4165, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "2846:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4036, + "id": 4169, "isConstant": false, "isLValue": false, "isPure": false, @@ -5272,7 +5272,7 @@ "src": "2846:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5285,11 +5285,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4040, + "id": 4173, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4025, + "referencedDeclaration": 4158, "src": "2944:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5306,32 +5306,32 @@ ], "expression": { "argumentTypes": null, - "id": 4038, + "id": 4171, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4031, + "referencedDeclaration": 4164, "src": "2929:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4039, + "id": 4172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "consult", "nodeType": "MemberAccess", - "referencedDeclaration": 4487, + "referencedDeclaration": 4620, "src": "2929:14:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) external returns (uint256)" } }, - "id": 4041, + "id": 4174, "isConstant": false, "isLValue": false, "isPure": false, @@ -5346,21 +5346,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4029, - "id": 4042, + "functionReturnParameters": 4162, + "id": 4175, "nodeType": "Return", "src": "2922:30:13" } ] }, "documentation": { - "id": 4021, + "id": 4154, "nodeType": "StructuredDocumentation", "src": "2445:244:13", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "a2672dee", - "id": 4044, + "id": 4177, "implemented": true, "kind": "function", "modifiers": [], @@ -5368,17 +5368,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4026, + "id": 4159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4023, + "id": 4156, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2729:12:13", "stateVariable": false, "storageLocation": "default", @@ -5387,7 +5387,7 @@ "typeString": "address" }, "typeName": { - "id": 4022, + "id": 4155, "name": "address", "nodeType": "ElementaryTypeName", "src": "2729:7:13", @@ -5402,12 +5402,12 @@ }, { "constant": false, - "id": 4025, + "id": 4158, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2743:15:13", "stateVariable": false, "storageLocation": "default", @@ -5416,7 +5416,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4024, + "id": 4157, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2743:7:13", @@ -5432,17 +5432,17 @@ "src": "2728:31:13" }, "returnParameters": { - "id": 4029, + "id": 4162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4028, + "id": 4161, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4044, + "scope": 4177, "src": "2792:7:13", "stateVariable": false, "storageLocation": "default", @@ -5451,7 +5451,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4027, + "id": 4160, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2792:7:13", @@ -5466,7 +5466,7 @@ ], "src": "2791:9:13" }, - "scope": 4197, + "scope": 4330, "src": "2694:265:13", "stateMutability": "nonpayable", "virtual": false, @@ -5474,39 +5474,39 @@ }, { "body": { - "id": 4067, + "id": 4200, "nodeType": "Block", "src": "3404:156:13", "statements": [ { "assignments": [ - 4055 + 4188 ], "declarations": [ { "constant": false, - "id": 4055, + "id": 4188, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4067, + "scope": 4200, "src": "3414:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4054, + "id": 4187, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3414:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5514,7 +5514,7 @@ "visibility": "internal" } ], - "id": 4061, + "id": 4194, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5522,25 +5522,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4057, + "id": 4190, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "3480:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4059, + "id": 4192, "indexExpression": { "argumentTypes": null, - "id": 4058, + "id": 4191, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4047, + "referencedDeclaration": 4180, "src": "3496:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5566,18 +5566,18 @@ "typeString": "address" } ], - "id": 4056, + "id": 4189, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3445:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4060, + "id": 4193, "isConstant": false, "isLValue": false, "isPure": false, @@ -5588,7 +5588,7 @@ "src": "3445:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5601,11 +5601,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4064, + "id": 4197, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4049, + "referencedDeclaration": 4182, "src": "3545:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5622,32 +5622,32 @@ ], "expression": { "argumentTypes": null, - "id": 4062, + "id": 4195, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4055, + "referencedDeclaration": 4188, "src": "3528:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4063, + "id": 4196, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "viewPrice", "nodeType": "MemberAccess", - "referencedDeclaration": 4505, + "referencedDeclaration": 4638, "src": "3528:16:13", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" } }, - "id": 4065, + "id": 4198, "isConstant": false, "isLValue": false, "isPure": false, @@ -5662,21 +5662,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4053, - "id": 4066, + "functionReturnParameters": 4186, + "id": 4199, "nodeType": "Return", "src": "3521:32:13" } ] }, "documentation": { - "id": 4045, + "id": 4178, "nodeType": "StructuredDocumentation", "src": "2965:309:13", "text": "@notice viewUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset without the gas cost of calculating with update\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "81a61d7f", - "id": 4068, + "id": 4201, "implemented": true, "kind": "function", "modifiers": [], @@ -5684,17 +5684,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4050, + "id": 4183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4047, + "id": 4180, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3315:12:13", "stateVariable": false, "storageLocation": "default", @@ -5703,7 +5703,7 @@ "typeString": "address" }, "typeName": { - "id": 4046, + "id": 4179, "name": "address", "nodeType": "ElementaryTypeName", "src": "3315:7:13", @@ -5718,12 +5718,12 @@ }, { "constant": false, - "id": 4049, + "id": 4182, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3329:15:13", "stateVariable": false, "storageLocation": "default", @@ -5732,7 +5732,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4048, + "id": 4181, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3329:7:13", @@ -5748,17 +5748,17 @@ "src": "3314:31:13" }, "returnParameters": { - "id": 4053, + "id": 4186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4052, + "id": 4185, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4068, + "scope": 4201, "src": "3391:7:13", "stateVariable": false, "storageLocation": "default", @@ -5767,7 +5767,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4051, + "id": 4184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3391:7:13", @@ -5782,7 +5782,7 @@ ], "src": "3390:9:13" }, - "scope": 4197, + "scope": 4330, "src": "3279:281:13", "stateMutability": "view", "virtual": false, @@ -5790,39 +5790,39 @@ }, { "body": { - "id": 4091, + "id": 4224, "nodeType": "Block", "src": "3943:158:13", "statements": [ { "assignments": [ - 4079 + 4212 ], "declarations": [ { "constant": false, - "id": 4079, + "id": 4212, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4091, + "scope": 4224, "src": "3953:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4078, + "id": 4211, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3953:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5830,7 +5830,7 @@ "visibility": "internal" } ], - "id": 4085, + "id": 4218, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5838,25 +5838,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4081, + "id": 4214, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "4019:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4083, + "id": 4216, "indexExpression": { "argumentTypes": null, - "id": 4082, + "id": 4215, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4204, "src": "4035:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5882,18 +5882,18 @@ "typeString": "address" } ], - "id": 4080, + "id": 4213, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "3984:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4084, + "id": 4217, "isConstant": false, "isLValue": false, "isPure": false, @@ -5904,7 +5904,7 @@ "src": "3984:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -5917,11 +5917,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4088, + "id": 4221, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4073, + "referencedDeclaration": 4206, "src": "4086:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5938,32 +5938,32 @@ ], "expression": { "argumentTypes": null, - "id": 4086, + "id": 4219, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4079, + "referencedDeclaration": 4212, "src": "4067:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4087, + "id": 4220, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "consultUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 4526, + "referencedDeclaration": 4659, "src": "4067:18:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) external returns (uint256)" } }, - "id": 4089, + "id": 4222, "isConstant": false, "isLValue": false, "isPure": false, @@ -5978,21 +5978,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4077, - "id": 4090, + "functionReturnParameters": 4210, + "id": 4223, "nodeType": "Return", "src": "4060:34:13" } ] }, "documentation": { - "id": 4069, + "id": 4202, "nodeType": "StructuredDocumentation", "src": "3566:257:13", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "fff9ccde", - "id": 4092, + "id": 4225, "implemented": true, "kind": "function", "modifiers": [], @@ -6000,17 +6000,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4074, + "id": 4207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4071, + "id": 4204, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3867:12:13", "stateVariable": false, "storageLocation": "default", @@ -6019,7 +6019,7 @@ "typeString": "address" }, "typeName": { - "id": 4070, + "id": 4203, "name": "address", "nodeType": "ElementaryTypeName", "src": "3867:7:13", @@ -6034,12 +6034,12 @@ }, { "constant": false, - "id": 4073, + "id": 4206, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3881:15:13", "stateVariable": false, "storageLocation": "default", @@ -6048,7 +6048,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4072, + "id": 4205, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3881:7:13", @@ -6064,17 +6064,17 @@ "src": "3866:31:13" }, "returnParameters": { - "id": 4077, + "id": 4210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4076, + "id": 4209, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4092, + "scope": 4225, "src": "3930:7:13", "stateVariable": false, "storageLocation": "default", @@ -6083,7 +6083,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4075, + "id": 4208, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3930:7:13", @@ -6098,7 +6098,7 @@ ], "src": "3929:9:13" }, - "scope": 4197, + "scope": 4330, "src": "3828:273:13", "stateMutability": "nonpayable", "virtual": false, @@ -6106,39 +6106,39 @@ }, { "body": { - "id": 4115, + "id": 4248, "nodeType": "Block", "src": "4514:155:13", "statements": [ { "assignments": [ - 4103 + 4236 ], "declarations": [ { "constant": false, - "id": 4103, + "id": 4236, "mutability": "mutable", "name": "oracle", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4115, + "scope": 4248, "src": "4524:28:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" }, "typeName": { "contractScope": null, - "id": 4102, + "id": 4235, "name": "UniswapOracleInstance", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "4524:21:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -6146,7 +6146,7 @@ "visibility": "internal" } ], - "id": 4109, + "id": 4242, "initialValue": { "argumentTypes": null, "arguments": [ @@ -6154,25 +6154,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4105, + "id": 4238, "name": "instanceTracker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3939, + "referencedDeclaration": 4072, "src": "4590:15:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 4107, + "id": 4240, "indexExpression": { "argumentTypes": null, - "id": 4106, + "id": 4239, "name": "_MMI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4095, + "referencedDeclaration": 4228, "src": "4606:4:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6198,18 +6198,18 @@ "typeString": "address" } ], - "id": 4104, + "id": 4237, "name": "UniswapOracleInstance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4545, + "referencedDeclaration": 4678, "src": "4555:21:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4545_$", + "typeIdentifier": "t_type$_t_contract$_UniswapOracleInstance_$4678_$", "typeString": "type(contract UniswapOracleInstance)" } }, - "id": 4108, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": false, @@ -6220,7 +6220,7 @@ "src": "4555:66:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, @@ -6233,11 +6233,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4112, + "id": 4245, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4097, + "referencedDeclaration": 4230, "src": "4654:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6254,32 +6254,32 @@ ], "expression": { "argumentTypes": null, - "id": 4110, + "id": 4243, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4103, + "referencedDeclaration": 4236, "src": "4638:6:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapOracleInstance_$4545", + "typeIdentifier": "t_contract$_UniswapOracleInstance_$4678", "typeString": "contract UniswapOracleInstance" } }, - "id": 4111, + "id": 4244, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "viewUSDC", "nodeType": "MemberAccess", - "referencedDeclaration": 4544, + "referencedDeclaration": 4677, "src": "4638:15:13", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" } }, - "id": 4113, + "id": 4246, "isConstant": false, "isLValue": false, "isPure": false, @@ -6294,21 +6294,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 4101, - "id": 4114, + "functionReturnParameters": 4234, + "id": 4247, "nodeType": "Return", "src": "4631:31:13" } ] }, "documentation": { - "id": 4093, + "id": 4226, "nodeType": "StructuredDocumentation", "src": "4107:273:13", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "02f82cb1", - "id": 4116, + "id": 4249, "implemented": true, "kind": "function", "modifiers": [], @@ -6316,17 +6316,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4098, + "id": 4231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4095, + "id": 4228, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4425:12:13", "stateVariable": false, "storageLocation": "default", @@ -6335,7 +6335,7 @@ "typeString": "address" }, "typeName": { - "id": 4094, + "id": 4227, "name": "address", "nodeType": "ElementaryTypeName", "src": "4425:7:13", @@ -6350,12 +6350,12 @@ }, { "constant": false, - "id": 4097, + "id": 4230, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4439:15:13", "stateVariable": false, "storageLocation": "default", @@ -6364,7 +6364,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4096, + "id": 4229, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4439:7:13", @@ -6380,17 +6380,17 @@ "src": "4424:31:13" }, "returnParameters": { - "id": 4101, + "id": 4234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4100, + "id": 4233, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4116, + "scope": 4249, "src": "4501:7:13", "stateVariable": false, "storageLocation": "default", @@ -6399,7 +6399,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4099, + "id": 4232, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4501:7:13", @@ -6414,7 +6414,7 @@ ], "src": "4500:9:13" }, - "scope": 4197, + "scope": 4330, "src": "4385:284:13", "stateMutability": "view", "virtual": false, @@ -6422,23 +6422,23 @@ }, { "body": { - "id": 4160, + "id": 4293, "nodeType": "Block", "src": "5203:173:13", "statements": [ { "assignments": [ - 4131 + 4264 ], "declarations": [ { "constant": false, - "id": 4131, + "id": 4264, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4160, + "scope": 4293, "src": "5213:21:13", "stateVariable": false, "storageLocation": "memory", @@ -6448,7 +6448,7 @@ }, "typeName": { "baseType": { - "id": 4129, + "id": 4262, "name": "address", "nodeType": "ElementaryTypeName", "src": "5213:7:13", @@ -6457,7 +6457,7 @@ "typeString": "address" } }, - "id": 4130, + "id": 4263, "length": null, "nodeType": "ArrayTypeName", "src": "5213:9:13", @@ -6470,14 +6470,14 @@ "visibility": "internal" } ], - "id": 4137, + "id": 4270, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 4135, + "id": 4268, "isConstant": false, "isLValue": false, "isPure": true, @@ -6500,7 +6500,7 @@ "typeString": "int_const 3" } ], - "id": 4134, + "id": 4267, "isConstant": false, "isLValue": false, "isPure": true, @@ -6513,7 +6513,7 @@ }, "typeName": { "baseType": { - "id": 4132, + "id": 4265, "name": "address", "nodeType": "ElementaryTypeName", "src": "5241:7:13", @@ -6523,7 +6523,7 @@ "typeString": "address" } }, - "id": 4133, + "id": 4266, "length": null, "nodeType": "ArrayTypeName", "src": "5241:9:13", @@ -6533,7 +6533,7 @@ } } }, - "id": 4136, + "id": 4269, "isConstant": false, "isLValue": false, "isPure": true, @@ -6554,7 +6554,7 @@ { "expression": { "argumentTypes": null, - "id": 4142, + "id": 4275, "isConstant": false, "isLValue": false, "isPure": false, @@ -6563,22 +6563,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4138, + "id": 4271, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5263:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4140, + "id": 4273, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4139, + "id": 4272, "isConstant": false, "isLValue": false, "isPure": true, @@ -6608,11 +6608,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4141, + "id": 4274, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4119, + "referencedDeclaration": 4252, "src": "5273:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6625,14 +6625,14 @@ "typeString": "address" } }, - "id": 4143, + "id": 4276, "nodeType": "ExpressionStatement", "src": "5263:17:13" }, { "expression": { "argumentTypes": null, - "id": 4150, + "id": 4283, "isConstant": false, "isLValue": false, "isPure": false, @@ -6641,22 +6641,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4144, + "id": 4277, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5290:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4146, + "id": 4279, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 4145, + "id": 4278, "isConstant": false, "isLValue": false, "isPure": true, @@ -6691,32 +6691,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4147, + "id": 4280, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "5300:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 4148, + "id": 4281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "WETH", "nodeType": "MemberAccess", - "referencedDeclaration": 9408, + "referencedDeclaration": 9571, "src": "5300:18:13", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_address_$", "typeString": "function () pure external returns (address)" } }, - "id": 4149, + "id": 4282, "isConstant": false, "isLValue": false, "isPure": false, @@ -6737,14 +6737,14 @@ "typeString": "address" } }, - "id": 4151, + "id": 4284, "nodeType": "ExpressionStatement", "src": "5290:30:13" }, { "expression": { "argumentTypes": null, - "id": 4156, + "id": 4289, "isConstant": false, "isLValue": false, "isPure": false, @@ -6753,22 +6753,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4152, + "id": 4285, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5330:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 4154, + "id": 4287, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 4153, + "id": 4286, "isConstant": false, "isLValue": false, "isPure": true, @@ -6798,11 +6798,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4155, + "id": 4288, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4121, + "referencedDeclaration": 4254, "src": "5340:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6815,38 +6815,38 @@ "typeString": "address" } }, - "id": 4157, + "id": 4290, "nodeType": "ExpressionStatement", "src": "5330:17:13" }, { "expression": { "argumentTypes": null, - "id": 4158, + "id": 4291, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4131, + "referencedDeclaration": 4264, "src": "5365:4:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "functionReturnParameters": 4126, - "id": 4159, + "functionReturnParameters": 4259, + "id": 4292, "nodeType": "Return", "src": "5358:11:13" } ] }, "documentation": { - "id": 4117, + "id": 4250, "nodeType": "StructuredDocumentation", "src": "4675:392:13", "text": "@notice getPathForERC20Swap is an internal function used to create a uniswap trade path for two input\nERC20 tokens using WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address*" }, - "id": 4161, + "id": 4294, "implemented": true, "kind": "function", "modifiers": [], @@ -6854,17 +6854,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4122, + "id": 4255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4119, + "id": 4252, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5101:15:13", "stateVariable": false, "storageLocation": "default", @@ -6873,7 +6873,7 @@ "typeString": "address" }, "typeName": { - "id": 4118, + "id": 4251, "name": "address", "nodeType": "ElementaryTypeName", "src": "5101:7:13", @@ -6888,12 +6888,12 @@ }, { "constant": false, - "id": 4121, + "id": 4254, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5118:15:13", "stateVariable": false, "storageLocation": "default", @@ -6902,7 +6902,7 @@ "typeString": "address" }, "typeName": { - "id": 4120, + "id": 4253, "name": "address", "nodeType": "ElementaryTypeName", "src": "5118:7:13", @@ -6919,17 +6919,17 @@ "src": "5100:34:13" }, "returnParameters": { - "id": 4126, + "id": 4259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4125, + "id": 4258, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4161, + "scope": 4294, "src": "5181:16:13", "stateVariable": false, "storageLocation": "memory", @@ -6939,7 +6939,7 @@ }, "typeName": { "baseType": { - "id": 4123, + "id": 4256, "name": "address", "nodeType": "ElementaryTypeName", "src": "5181:7:13", @@ -6949,7 +6949,7 @@ "typeString": "address" } }, - "id": 4124, + "id": 4257, "length": null, "nodeType": "ArrayTypeName", "src": "5181:9:13", @@ -6964,7 +6964,7 @@ ], "src": "5180:18:13" }, - "scope": 4197, + "scope": 4330, "src": "5072:304:13", "stateMutability": "view", "virtual": false, @@ -6972,23 +6972,23 @@ }, { "body": { - "id": 4195, + "id": 4328, "nodeType": "Block", "src": "6267:254:13", "statements": [ { "assignments": [ - 4176 + 4309 ], "declarations": [ { "constant": false, - "id": 4176, + "id": 4309, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4195, + "scope": 4328, "src": "6277:16:13", "stateVariable": false, "storageLocation": "default", @@ -6997,7 +6997,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4175, + "id": 4308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6277:7:13", @@ -7010,14 +7010,14 @@ "visibility": "internal" } ], - "id": 4181, + "id": 4314, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4180, + "id": 4313, "isConstant": false, "isLValue": false, "isPure": false, @@ -7026,7 +7026,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4177, + "id": 4310, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7037,7 +7037,7 @@ "typeString": "block" } }, - "id": 4178, + "id": 4311, "isConstant": false, "isLValue": false, "isPure": false, @@ -7056,7 +7056,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3630", - "id": 4179, + "id": 4312, "isConstant": false, "isLValue": false, "isPure": true, @@ -7086,11 +7086,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4185, + "id": 4318, "name": "_amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4303, "src": "6378:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7099,11 +7099,11 @@ }, { "argumentTypes": null, - "id": 4186, + "id": 4319, "name": "_amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4172, + "referencedDeclaration": 4305, "src": "6401:13:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7115,11 +7115,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4188, + "id": 4321, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4164, + "referencedDeclaration": 4297, "src": "6448:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7128,11 +7128,11 @@ }, { "argumentTypes": null, - "id": 4189, + "id": 4322, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4166, + "referencedDeclaration": 4299, "src": "6457:7:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7151,18 +7151,18 @@ "typeString": "address" } ], - "id": 4187, + "id": 4320, "name": "getPathForERC20Swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4161, + "referencedDeclaration": 4294, "src": "6428:19:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_array$_t_address_$dyn_memory_ptr_$", "typeString": "function (address,address) view returns (address[] memory)" } }, - "id": 4190, + "id": 4323, "isConstant": false, "isLValue": false, "isPure": false, @@ -7179,11 +7179,11 @@ }, { "argumentTypes": null, - "id": 4191, + "id": 4324, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4168, + "referencedDeclaration": 4301, "src": "6479:3:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7192,11 +7192,11 @@ }, { "argumentTypes": null, - "id": 4192, + "id": 4325, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4176, + "referencedDeclaration": 4309, "src": "6496:8:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7229,32 +7229,32 @@ ], "expression": { "argumentTypes": null, - "id": 4182, + "id": 4315, "name": "uniswapRouter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3935, + "referencedDeclaration": 4068, "src": "6326:13:13", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 4184, + "id": 4317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swapExactTokensForTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9567, + "referencedDeclaration": 9730, "src": "6326:38:13", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, - "id": 4193, + "id": 4326, "isConstant": false, "isLValue": false, "isPure": false, @@ -7269,20 +7269,20 @@ "typeString": "uint256[] memory" } }, - "id": 4194, + "id": 4327, "nodeType": "ExpressionStatement", "src": "6326:188:13" } ] }, "documentation": { - "id": 4162, + "id": 4295, "nodeType": "StructuredDocumentation", "src": "5382:717:13", "text": "@notice swapERC20 is an external function that swaps one ERC20 token for another\nusing WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n(loan amount +i nterest) and its liquidation fee amount.*" }, "functionSelector": "f0defe93", - "id": 4196, + "id": 4329, "implemented": true, "kind": "function", "modifiers": [], @@ -7290,17 +7290,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4173, + "id": 4306, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4164, + "id": 4297, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6132:15:13", "stateVariable": false, "storageLocation": "default", @@ -7309,7 +7309,7 @@ "typeString": "address" }, "typeName": { - "id": 4163, + "id": 4296, "name": "address", "nodeType": "ElementaryTypeName", "src": "6132:7:13", @@ -7324,12 +7324,12 @@ }, { "constant": false, - "id": 4166, + "id": 4299, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6157:15:13", "stateVariable": false, "storageLocation": "default", @@ -7338,7 +7338,7 @@ "typeString": "address" }, "typeName": { - "id": 4165, + "id": 4298, "name": "address", "nodeType": "ElementaryTypeName", "src": "6157:7:13", @@ -7353,12 +7353,12 @@ }, { "constant": false, - "id": 4168, + "id": 4301, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6182:11:13", "stateVariable": false, "storageLocation": "default", @@ -7367,7 +7367,7 @@ "typeString": "address" }, "typeName": { - "id": 4167, + "id": 4300, "name": "address", "nodeType": "ElementaryTypeName", "src": "6182:7:13", @@ -7382,12 +7382,12 @@ }, { "constant": false, - "id": 4170, + "id": 4303, "mutability": "mutable", "name": "_amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6203:17:13", "stateVariable": false, "storageLocation": "default", @@ -7396,7 +7396,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4169, + "id": 4302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6203:7:13", @@ -7410,12 +7410,12 @@ }, { "constant": false, - "id": 4172, + "id": 4305, "mutability": "mutable", "name": "_amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4196, + "scope": 4329, "src": "6230:21:13", "stateVariable": false, "storageLocation": "default", @@ -7424,7 +7424,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4171, + "id": 4304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6230:7:13", @@ -7440,19 +7440,19 @@ "src": "6122:135:13" }, "returnParameters": { - "id": 4174, + "id": 4307, "nodeType": "ParameterList", "parameters": [], "src": "6267:0:13" }, - "scope": 4197, + "scope": 4330, "src": "6104:417:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 4198, + "scope": 4331, "src": "639:5884:13" } ], @@ -7486,8 +7486,8 @@ } }, "links": {}, - "address": "0x397A8544C467730052Ef961A07aAbD89CA4C4928", - "transactionHash": "0xd087595102462b53cea3c03d7c97ceef7441355e5805a42798cca815871174ba" + "address": "0x9b364c531DfE4669dA89D900656e73f9Ed7A369E", + "transactionHash": "0xd241ad478f15241a8057772a034af3e6cb0c1f3c6206aca54f87c0bafd49970d" }, "1607622663952": { "events": { @@ -7514,10 +7514,36 @@ "links": {}, "address": "0x1149f57099113DD8AFf8dFA419eCcDD4836FB24a", "transactionHash": "0xf4e7b5f4462d859f4364d273efdca1cd7284960f501797477c3fb34d8a667fdc" + }, + "1607733595468": { + "events": { + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x26715C12f8893CD52f336DBC3E2e63a875d37336", + "transactionHash": "0xa6e1dbbaf8948d34b0f28ef00116d66be78fbc6c84b64baba71ef3eabbafd610" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.042Z", + "updatedAt": "2020-12-12T01:26:53.350Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/AskoLend-contracts/build/contracts/UniswapOracleFactoryI.json b/AskoLend-contracts/build/contracts/UniswapOracleFactoryI.json index 4d0ad8e5..e2e8e64f 100644 --- a/AskoLend-contracts/build/contracts/UniswapOracleFactoryI.json +++ b/AskoLend-contracts/build/contracts/UniswapOracleFactoryI.json @@ -168,26 +168,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createNewOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"linkMMI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"}],\"name\":\"swapERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createNewOracle(address)\":{\"details\":\"this function is marked as virtual as it is an abstracted function*\",\"params\":{\"token\":\"is the address of the first token in the token pair for this oracle\"}},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"getUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"linkMMI(address,address)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance\",\"_asset\":\"is the address of the MoneyMarketInstancesunderlying asset*\"}},\"swapERC20(address,address,address,uint256,uint256)\":{\"details\":\"example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address_amountOutMin will need to be atleast enough to cover the cost of collateral liquidation (loan amount +i nterest) and its liquidation fee amount.*\",\"params\":{\"_amountIn\":\"is the amount of _tokenA being exchanged\",\"_amountOutMin\":\"is the minimum amount of _tokenB to be received\",\"_to\":\"is the address of the MoneyMarketInstance calling this function\",\"_tokenA\":\"is the address of the token being exchanged from\",\"_tokenB\":\"is the address of the token being exchanged to\"}},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}}}},\"userdoc\":{\"methods\":{\"createNewOracle(address)\":{\"notice\":\"createNewOracle allows the owner of this contract to deploy a new oracle contract when a new asset is whitelisted\"},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"getUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"},\"linkMMI(address,address)\":{\"notice\":\"linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"notice\":\"swapERC20 is an external function that swaps one ERC20 token for another using WETH as a medium of exchange.\"},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"}},\"notice\":\"The UniswapOracleFactoryI contract an abstract contract the MoneyMarketFactory uses to interface eith the UniswapOracleFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a truffle compiler error due when imported into the same contract due to the use of two seperate SafeMath instances*\"}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":\"UniswapOracleFactoryI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createNewOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"linkMMI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"}],\"name\":\"swapERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingAssetPriceOfUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_MMI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUnderlyingPriceofAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"createNewOracle(address)\":{\"details\":\"this function is marked as virtual as it is an abstracted function*\",\"params\":{\"token\":\"is the address of the first token in the token pair for this oracle\"}},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"getUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}},\"linkMMI(address,address)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance\",\"_asset\":\"is the address of the MoneyMarketInstancesunderlying asset*\"}},\"swapERC20(address,address,address,uint256,uint256)\":{\"details\":\"example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address_amountOutMin will need to be atleast enough to cover the cost of collateral liquidation (loan amount +i nterest) and its liquidation fee amount.*\",\"params\":{\"_amountIn\":\"is the amount of _tokenA being exchanged\",\"_amountOutMin\":\"is the minimum amount of _tokenB to be received\",\"_to\":\"is the address of the MoneyMarketInstance calling this function\",\"_tokenA\":\"is the address of the token being exchanged from\",\"_tokenB\":\"is the address of the token being exchanged to\"}},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"params\":{\"_MMI\":\"is the address of the MoneyMarketInstance whos asset price is being retrieved\"},\"returns\":{\"_0\":\"returns the price of the asset*\"}}}},\"userdoc\":{\"methods\":{\"createNewOracle(address)\":{\"notice\":\"createNewOracle allows the owner of this contract to deploy a new oracle contract when a new asset is whitelisted\"},\"getUnderlyingAssetPriceOfUSDC(address,uint256)\":{\"notice\":\"getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\"},\"getUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"},\"linkMMI(address,address)\":{\"notice\":\"linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\"},\"swapERC20(address,address,address,uint256,uint256)\":{\"notice\":\"swapERC20 is an external function that swaps one ERC20 token for another using WETH as a medium of exchange.\"},\"viewUnderlyingPriceofAsset(address,uint256)\":{\"notice\":\"getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\"}},\"notice\":\"The UniswapOracleFactoryI contract an abstract contract the MoneyMarketFactory uses to interface eith the UniswapOracleFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a truffle compiler error due when imported into the same contract due to the use of two seperate SafeMath instances*\"}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":\"UniswapOracleFactoryI\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol\":{\"keccak256\":\"0xd7a45e0547a207505f98e4922dd4fabd848a21b20f0927ca4a0da3273ac8474c\",\"urls\":[\"bzz-raw://6eb4f9e5f52ed65be058f0299cf348ca2fe6e0cc6ab7130e9dadbcec7b48f0cf\",\"dweb:/ipfs/QmQoztHyG1K6G8AWdstBZrm9owNcPkNTu7Yn37B5T4M7HC\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.6.0;\n\n////////////////////////////////////////////////////////////////////////////////////////////\n/// @title UniswapOracleFactoryI\n/// @author Christopher Dixon\n////////////////////////////////////////////////////////////////////////////////////////////\n/**\nThe UniswapOracleFactoryI contract an abstract contract the MoneyMarketFactory uses to interface\n eith the UniswapOracleFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\n truffle compiler error due when imported into the same contract due to the use of two seperate\n SafeMath instances\n**/\n\nabstract contract UniswapOracleFactoryI {\n /**\n@notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\n a new asset is whitelisted\n@param token is the address of the first token in the token pair for this oracle\n@dev this function is marked as virtual as it is an abstracted function\n**/\n\n function createNewOracle(address token) public virtual returns (address);\n\n /**\n@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset\n**/\n function getUnderlyingPriceofAsset(address _MMI, uint256 _amount)\n public\n virtual\n returns (uint256);\n\n /**\n @notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n @param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n @return returns the price of the asset\n **/\n function viewUnderlyingPriceofAsset(address _MMI, uint256 _amount)\n public\n view\n virtual\n returns (uint256);\n\n /**\n@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset\n**/\n function getUnderlyingAssetPriceOfUSDC(address _MMI, uint256 _amount)\n public\n virtual\n returns (uint256);\n\n /**\n@notice swapERC20 is an external function that swaps one ERC20 token for another\n using WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n (loan amount +i nterest) and its liquidation fee amount.\n**/\n function swapERC20(\n address _tokenA,\n address _tokenB,\n address _to,\n uint256 _amountIn,\n uint256 _amountOutMin\n ) external virtual;\n\n /**\n @notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n @param _MMI is the address of the MoneyMarketInstance\n @param _asset is the address of the MoneyMarketInstancesunderlying asset\n **/\n function linkMMI(address _MMI, address _asset) public virtual;\n\n function viewUnderlyingAssetPriceOfUSDC(address _MMI, uint256 _amount)\n public\n view\n virtual\n returns (uint256);\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "exportedSymbols": { "UniswapOracleFactoryI": [ - 6632 + 6795 ] }, - "id": 6633, + "id": 6796, "nodeType": "SourceUnit", "nodes": [ { - "id": 6561, + "id": 6724, "literals": [ "solidity", "^", @@ -203,15 +203,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6562, + "id": 6725, "nodeType": "StructuredDocumentation", "src": "274:329:24", "text": "The UniswapOracleFactoryI contract an abstract contract the MoneyMarketFactory uses to interface\neith the UniswapOracleFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\ntruffle compiler error due when imported into the same contract due to the use of two seperate\nSafeMath instances*" }, "fullyImplemented": false, - "id": 6632, + "id": 6795, "linearizedBaseContracts": [ - 6632 + 6795 ], "name": "UniswapOracleFactoryI", "nodeType": "ContractDefinition", @@ -219,13 +219,13 @@ { "body": null, "documentation": { - "id": 6563, + "id": 6726, "nodeType": "StructuredDocumentation", "src": "651:290:24", "text": "@notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\na new asset is whitelisted\n@param token is the address of the first token in the token pair for this oracle\n@dev this function is marked as virtual as it is an abstracted function*" }, "functionSelector": "2fb2da61", - "id": 6570, + "id": 6733, "implemented": false, "kind": "function", "modifiers": [], @@ -233,17 +233,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6566, + "id": 6729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6565, + "id": 6728, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6570, + "scope": 6733, "src": "972:13:24", "stateVariable": false, "storageLocation": "default", @@ -252,7 +252,7 @@ "typeString": "address" }, "typeName": { - "id": 6564, + "id": 6727, "name": "address", "nodeType": "ElementaryTypeName", "src": "972:7:24", @@ -269,17 +269,17 @@ "src": "971:15:24" }, "returnParameters": { - "id": 6569, + "id": 6732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6568, + "id": 6731, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6570, + "scope": 6733, "src": "1011:7:24", "stateVariable": false, "storageLocation": "default", @@ -288,7 +288,7 @@ "typeString": "address" }, "typeName": { - "id": 6567, + "id": 6730, "name": "address", "nodeType": "ElementaryTypeName", "src": "1011:7:24", @@ -304,7 +304,7 @@ ], "src": "1010:9:24" }, - "scope": 6632, + "scope": 6795, "src": "947:73:24", "stateMutability": "nonpayable", "virtual": true, @@ -313,13 +313,13 @@ { "body": null, "documentation": { - "id": 6571, + "id": 6734, "nodeType": "StructuredDocumentation", "src": "1026:244:24", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "a2672dee", - "id": 6580, + "id": 6743, "implemented": false, "kind": "function", "modifiers": [], @@ -327,17 +327,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6576, + "id": 6739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6573, + "id": 6736, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1310:12:24", "stateVariable": false, "storageLocation": "default", @@ -346,7 +346,7 @@ "typeString": "address" }, "typeName": { - "id": 6572, + "id": 6735, "name": "address", "nodeType": "ElementaryTypeName", "src": "1310:7:24", @@ -361,12 +361,12 @@ }, { "constant": false, - "id": 6575, + "id": 6738, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1324:15:24", "stateVariable": false, "storageLocation": "default", @@ -375,7 +375,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6574, + "id": 6737, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1324:7:24", @@ -391,17 +391,17 @@ "src": "1309:31:24" }, "returnParameters": { - "id": 6579, + "id": 6742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6578, + "id": 6741, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1389:7:24", "stateVariable": false, "storageLocation": "default", @@ -410,7 +410,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6577, + "id": 6740, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1389:7:24", @@ -425,7 +425,7 @@ ], "src": "1388:9:24" }, - "scope": 6632, + "scope": 6795, "src": "1275:123:24", "stateMutability": "nonpayable", "virtual": true, @@ -434,13 +434,13 @@ { "body": null, "documentation": { - "id": 6581, + "id": 6744, "nodeType": "StructuredDocumentation", "src": "1404:276:24", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "81a61d7f", - "id": 6590, + "id": 6753, "implemented": false, "kind": "function", "modifiers": [], @@ -448,17 +448,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6586, + "id": 6749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6583, + "id": 6746, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1721:12:24", "stateVariable": false, "storageLocation": "default", @@ -467,7 +467,7 @@ "typeString": "address" }, "typeName": { - "id": 6582, + "id": 6745, "name": "address", "nodeType": "ElementaryTypeName", "src": "1721:7:24", @@ -482,12 +482,12 @@ }, { "constant": false, - "id": 6585, + "id": 6748, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1735:15:24", "stateVariable": false, "storageLocation": "default", @@ -496,7 +496,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6584, + "id": 6747, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1735:7:24", @@ -512,17 +512,17 @@ "src": "1720:31:24" }, "returnParameters": { - "id": 6589, + "id": 6752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6588, + "id": 6751, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1813:7:24", "stateVariable": false, "storageLocation": "default", @@ -531,7 +531,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6587, + "id": 6750, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1813:7:24", @@ -546,7 +546,7 @@ ], "src": "1812:9:24" }, - "scope": 6632, + "scope": 6795, "src": "1685:137:24", "stateMutability": "view", "virtual": true, @@ -555,13 +555,13 @@ { "body": null, "documentation": { - "id": 6591, + "id": 6754, "nodeType": "StructuredDocumentation", "src": "1828:257:24", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "fff9ccde", - "id": 6600, + "id": 6763, "implemented": false, "kind": "function", "modifiers": [], @@ -569,17 +569,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6596, + "id": 6759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6593, + "id": 6756, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2129:12:24", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 6592, + "id": 6755, "name": "address", "nodeType": "ElementaryTypeName", "src": "2129:7:24", @@ -603,12 +603,12 @@ }, { "constant": false, - "id": 6595, + "id": 6758, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2143:15:24", "stateVariable": false, "storageLocation": "default", @@ -617,7 +617,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6594, + "id": 6757, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2143:7:24", @@ -633,17 +633,17 @@ "src": "2128:31:24" }, "returnParameters": { - "id": 6599, + "id": 6762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6598, + "id": 6761, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2208:7:24", "stateVariable": false, "storageLocation": "default", @@ -652,7 +652,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6597, + "id": 6760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2208:7:24", @@ -667,7 +667,7 @@ ], "src": "2207:9:24" }, - "scope": 6632, + "scope": 6795, "src": "2090:127:24", "stateMutability": "nonpayable", "virtual": true, @@ -676,13 +676,13 @@ { "body": null, "documentation": { - "id": 6601, + "id": 6764, "nodeType": "StructuredDocumentation", "src": "2223:717:24", "text": "@notice swapERC20 is an external function that swaps one ERC20 token for another\nusing WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n(loan amount +i nterest) and its liquidation fee amount.*" }, "functionSelector": "f0defe93", - "id": 6614, + "id": 6777, "implemented": false, "kind": "function", "modifiers": [], @@ -690,17 +690,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6612, + "id": 6775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6603, + "id": 6766, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "2973:15:24", "stateVariable": false, "storageLocation": "default", @@ -709,7 +709,7 @@ "typeString": "address" }, "typeName": { - "id": 6602, + "id": 6765, "name": "address", "nodeType": "ElementaryTypeName", "src": "2973:7:24", @@ -724,12 +724,12 @@ }, { "constant": false, - "id": 6605, + "id": 6768, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "2998:15:24", "stateVariable": false, "storageLocation": "default", @@ -738,7 +738,7 @@ "typeString": "address" }, "typeName": { - "id": 6604, + "id": 6767, "name": "address", "nodeType": "ElementaryTypeName", "src": "2998:7:24", @@ -753,12 +753,12 @@ }, { "constant": false, - "id": 6607, + "id": 6770, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3023:11:24", "stateVariable": false, "storageLocation": "default", @@ -767,7 +767,7 @@ "typeString": "address" }, "typeName": { - "id": 6606, + "id": 6769, "name": "address", "nodeType": "ElementaryTypeName", "src": "3023:7:24", @@ -782,12 +782,12 @@ }, { "constant": false, - "id": 6609, + "id": 6772, "mutability": "mutable", "name": "_amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3044:17:24", "stateVariable": false, "storageLocation": "default", @@ -796,7 +796,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6608, + "id": 6771, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3044:7:24", @@ -810,12 +810,12 @@ }, { "constant": false, - "id": 6611, + "id": 6774, "mutability": "mutable", "name": "_amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3071:21:24", "stateVariable": false, "storageLocation": "default", @@ -824,7 +824,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6610, + "id": 6773, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3071:7:24", @@ -840,12 +840,12 @@ "src": "2963:135:24" }, "returnParameters": { - "id": 6613, + "id": 6776, "nodeType": "ParameterList", "parameters": [], "src": "3115:0:24" }, - "scope": 6632, + "scope": 6795, "src": "2945:171:24", "stateMutability": "nonpayable", "virtual": true, @@ -854,13 +854,13 @@ { "body": null, "documentation": { - "id": 6615, + "id": 6778, "nodeType": "StructuredDocumentation", "src": "3122:241:24", "text": "@notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n@param _MMI is the address of the MoneyMarketInstance\n@param _asset is the address of the MoneyMarketInstancesunderlying asset*" }, "functionSelector": "1be1d0b9", - "id": 6622, + "id": 6785, "implemented": false, "kind": "function", "modifiers": [], @@ -868,17 +868,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6620, + "id": 6783, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6617, + "id": 6780, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6622, + "scope": 6785, "src": "3385:12:24", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "address" }, "typeName": { - "id": 6616, + "id": 6779, "name": "address", "nodeType": "ElementaryTypeName", "src": "3385:7:24", @@ -902,12 +902,12 @@ }, { "constant": false, - "id": 6619, + "id": 6782, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6622, + "scope": 6785, "src": "3399:14:24", "stateVariable": false, "storageLocation": "default", @@ -916,7 +916,7 @@ "typeString": "address" }, "typeName": { - "id": 6618, + "id": 6781, "name": "address", "nodeType": "ElementaryTypeName", "src": "3399:7:24", @@ -933,12 +933,12 @@ "src": "3384:30:24" }, "returnParameters": { - "id": 6621, + "id": 6784, "nodeType": "ParameterList", "parameters": [], "src": "3429:0:24" }, - "scope": 6632, + "scope": 6795, "src": "3368:62:24", "stateMutability": "nonpayable", "virtual": true, @@ -948,7 +948,7 @@ "body": null, "documentation": null, "functionSelector": "02f82cb1", - "id": 6631, + "id": 6794, "implemented": false, "kind": "function", "modifiers": [], @@ -956,17 +956,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6627, + "id": 6790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6624, + "id": 6787, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3476:12:24", "stateVariable": false, "storageLocation": "default", @@ -975,7 +975,7 @@ "typeString": "address" }, "typeName": { - "id": 6623, + "id": 6786, "name": "address", "nodeType": "ElementaryTypeName", "src": "3476:7:24", @@ -990,12 +990,12 @@ }, { "constant": false, - "id": 6626, + "id": 6789, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3490:15:24", "stateVariable": false, "storageLocation": "default", @@ -1004,7 +1004,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6625, + "id": 6788, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3490:7:24", @@ -1020,17 +1020,17 @@ "src": "3475:31:24" }, "returnParameters": { - "id": 6630, + "id": 6793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6629, + "id": 6792, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3568:7:24", "stateVariable": false, "storageLocation": "default", @@ -1039,7 +1039,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6628, + "id": 6791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3568:7:24", @@ -1054,31 +1054,31 @@ ], "src": "3567:9:24" }, - "scope": 6632, + "scope": 6795, "src": "3436:141:24", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 6633, + "scope": 6796, "src": "605:2974:24" } ], "src": "0:3580:24" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/interfaces/UniswapOracleFactoryI.sol", "exportedSymbols": { "UniswapOracleFactoryI": [ - 6632 + 6795 ] }, - "id": 6633, + "id": 6796, "nodeType": "SourceUnit", "nodes": [ { - "id": 6561, + "id": 6724, "literals": [ "solidity", "^", @@ -1094,15 +1094,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6562, + "id": 6725, "nodeType": "StructuredDocumentation", "src": "274:329:24", "text": "The UniswapOracleFactoryI contract an abstract contract the MoneyMarketFactory uses to interface\neith the UniswapOracleFactory. This is necissary as the OpenZeppelin and Uniswap libraries cause a\ntruffle compiler error due when imported into the same contract due to the use of two seperate\nSafeMath instances*" }, "fullyImplemented": false, - "id": 6632, + "id": 6795, "linearizedBaseContracts": [ - 6632 + 6795 ], "name": "UniswapOracleFactoryI", "nodeType": "ContractDefinition", @@ -1110,13 +1110,13 @@ { "body": null, "documentation": { - "id": 6563, + "id": 6726, "nodeType": "StructuredDocumentation", "src": "651:290:24", "text": "@notice createNewOracle allows the owner of this contract to deploy a new oracle contract when\na new asset is whitelisted\n@param token is the address of the first token in the token pair for this oracle\n@dev this function is marked as virtual as it is an abstracted function*" }, "functionSelector": "2fb2da61", - "id": 6570, + "id": 6733, "implemented": false, "kind": "function", "modifiers": [], @@ -1124,17 +1124,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6566, + "id": 6729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6565, + "id": 6728, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6570, + "scope": 6733, "src": "972:13:24", "stateVariable": false, "storageLocation": "default", @@ -1143,7 +1143,7 @@ "typeString": "address" }, "typeName": { - "id": 6564, + "id": 6727, "name": "address", "nodeType": "ElementaryTypeName", "src": "972:7:24", @@ -1160,17 +1160,17 @@ "src": "971:15:24" }, "returnParameters": { - "id": 6569, + "id": 6732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6568, + "id": 6731, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6570, + "scope": 6733, "src": "1011:7:24", "stateVariable": false, "storageLocation": "default", @@ -1179,7 +1179,7 @@ "typeString": "address" }, "typeName": { - "id": 6567, + "id": 6730, "name": "address", "nodeType": "ElementaryTypeName", "src": "1011:7:24", @@ -1195,7 +1195,7 @@ ], "src": "1010:9:24" }, - "scope": 6632, + "scope": 6795, "src": "947:73:24", "stateMutability": "nonpayable", "virtual": true, @@ -1204,13 +1204,13 @@ { "body": null, "documentation": { - "id": 6571, + "id": 6734, "nodeType": "StructuredDocumentation", "src": "1026:244:24", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "a2672dee", - "id": 6580, + "id": 6743, "implemented": false, "kind": "function", "modifiers": [], @@ -1218,17 +1218,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6576, + "id": 6739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6573, + "id": 6736, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1310:12:24", "stateVariable": false, "storageLocation": "default", @@ -1237,7 +1237,7 @@ "typeString": "address" }, "typeName": { - "id": 6572, + "id": 6735, "name": "address", "nodeType": "ElementaryTypeName", "src": "1310:7:24", @@ -1252,12 +1252,12 @@ }, { "constant": false, - "id": 6575, + "id": 6738, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1324:15:24", "stateVariable": false, "storageLocation": "default", @@ -1266,7 +1266,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6574, + "id": 6737, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1324:7:24", @@ -1282,17 +1282,17 @@ "src": "1309:31:24" }, "returnParameters": { - "id": 6579, + "id": 6742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6578, + "id": 6741, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6580, + "scope": 6743, "src": "1389:7:24", "stateVariable": false, "storageLocation": "default", @@ -1301,7 +1301,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6577, + "id": 6740, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1389:7:24", @@ -1316,7 +1316,7 @@ ], "src": "1388:9:24" }, - "scope": 6632, + "scope": 6795, "src": "1275:123:24", "stateMutability": "nonpayable", "virtual": true, @@ -1325,13 +1325,13 @@ { "body": null, "documentation": { - "id": 6581, + "id": 6744, "nodeType": "StructuredDocumentation", "src": "1404:276:24", "text": "@notice getUnderlyingPriceofAsset allows for the price retrieval of a MoneyMarketInstances underlying asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "81a61d7f", - "id": 6590, + "id": 6753, "implemented": false, "kind": "function", "modifiers": [], @@ -1339,17 +1339,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6586, + "id": 6749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6583, + "id": 6746, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1721:12:24", "stateVariable": false, "storageLocation": "default", @@ -1358,7 +1358,7 @@ "typeString": "address" }, "typeName": { - "id": 6582, + "id": 6745, "name": "address", "nodeType": "ElementaryTypeName", "src": "1721:7:24", @@ -1373,12 +1373,12 @@ }, { "constant": false, - "id": 6585, + "id": 6748, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1735:15:24", "stateVariable": false, "storageLocation": "default", @@ -1387,7 +1387,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6584, + "id": 6747, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1735:7:24", @@ -1403,17 +1403,17 @@ "src": "1720:31:24" }, "returnParameters": { - "id": 6589, + "id": 6752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6588, + "id": 6751, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6590, + "scope": 6753, "src": "1813:7:24", "stateVariable": false, "storageLocation": "default", @@ -1422,7 +1422,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6587, + "id": 6750, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1813:7:24", @@ -1437,7 +1437,7 @@ ], "src": "1812:9:24" }, - "scope": 6632, + "scope": 6795, "src": "1685:137:24", "stateMutability": "view", "virtual": true, @@ -1446,13 +1446,13 @@ { "body": null, "documentation": { - "id": 6591, + "id": 6754, "nodeType": "StructuredDocumentation", "src": "1828:257:24", "text": "@notice getUnderlyingAssetPriceOfUSDC allows for the price retrieval of a MoneyMarketInstances underlying asset in asset\n@param _MMI is the address of the MoneyMarketInstance whos asset price is being retrieved\n@return returns the price of the asset*" }, "functionSelector": "fff9ccde", - "id": 6600, + "id": 6763, "implemented": false, "kind": "function", "modifiers": [], @@ -1460,17 +1460,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6596, + "id": 6759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6593, + "id": 6756, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2129:12:24", "stateVariable": false, "storageLocation": "default", @@ -1479,7 +1479,7 @@ "typeString": "address" }, "typeName": { - "id": 6592, + "id": 6755, "name": "address", "nodeType": "ElementaryTypeName", "src": "2129:7:24", @@ -1494,12 +1494,12 @@ }, { "constant": false, - "id": 6595, + "id": 6758, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2143:15:24", "stateVariable": false, "storageLocation": "default", @@ -1508,7 +1508,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6594, + "id": 6757, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2143:7:24", @@ -1524,17 +1524,17 @@ "src": "2128:31:24" }, "returnParameters": { - "id": 6599, + "id": 6762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6598, + "id": 6761, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6600, + "scope": 6763, "src": "2208:7:24", "stateVariable": false, "storageLocation": "default", @@ -1543,7 +1543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6597, + "id": 6760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2208:7:24", @@ -1558,7 +1558,7 @@ ], "src": "2207:9:24" }, - "scope": 6632, + "scope": 6795, "src": "2090:127:24", "stateMutability": "nonpayable", "virtual": true, @@ -1567,13 +1567,13 @@ { "body": null, "documentation": { - "id": 6601, + "id": 6764, "nodeType": "StructuredDocumentation", "src": "2223:717:24", "text": "@notice swapERC20 is an external function that swaps one ERC20 token for another\nusing WETH as a medium of exchange.\n@param _tokenA is the address of the token being exchanged from\n@param _tokenB is the address of the token being exchanged to\n@param _to is the address of the MoneyMarketInstance calling this function\n@param _amountIn is the amount of _tokenA being exchanged\n@param _amountOutMin is the minimum amount of _tokenB to be received\n@dev example: LINK => Augur swap _tokenA would be LINK address while _tokenB would be Augur Address\n@dev _amountOutMin will need to be atleast enough to cover the cost of collateral liquidation\n(loan amount +i nterest) and its liquidation fee amount.*" }, "functionSelector": "f0defe93", - "id": 6614, + "id": 6777, "implemented": false, "kind": "function", "modifiers": [], @@ -1581,17 +1581,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6612, + "id": 6775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6603, + "id": 6766, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "2973:15:24", "stateVariable": false, "storageLocation": "default", @@ -1600,7 +1600,7 @@ "typeString": "address" }, "typeName": { - "id": 6602, + "id": 6765, "name": "address", "nodeType": "ElementaryTypeName", "src": "2973:7:24", @@ -1615,12 +1615,12 @@ }, { "constant": false, - "id": 6605, + "id": 6768, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "2998:15:24", "stateVariable": false, "storageLocation": "default", @@ -1629,7 +1629,7 @@ "typeString": "address" }, "typeName": { - "id": 6604, + "id": 6767, "name": "address", "nodeType": "ElementaryTypeName", "src": "2998:7:24", @@ -1644,12 +1644,12 @@ }, { "constant": false, - "id": 6607, + "id": 6770, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3023:11:24", "stateVariable": false, "storageLocation": "default", @@ -1658,7 +1658,7 @@ "typeString": "address" }, "typeName": { - "id": 6606, + "id": 6769, "name": "address", "nodeType": "ElementaryTypeName", "src": "3023:7:24", @@ -1673,12 +1673,12 @@ }, { "constant": false, - "id": 6609, + "id": 6772, "mutability": "mutable", "name": "_amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3044:17:24", "stateVariable": false, "storageLocation": "default", @@ -1687,7 +1687,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6608, + "id": 6771, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3044:7:24", @@ -1701,12 +1701,12 @@ }, { "constant": false, - "id": 6611, + "id": 6774, "mutability": "mutable", "name": "_amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6614, + "scope": 6777, "src": "3071:21:24", "stateVariable": false, "storageLocation": "default", @@ -1715,7 +1715,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6610, + "id": 6773, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3071:7:24", @@ -1731,12 +1731,12 @@ "src": "2963:135:24" }, "returnParameters": { - "id": 6613, + "id": 6776, "nodeType": "ParameterList", "parameters": [], "src": "3115:0:24" }, - "scope": 6632, + "scope": 6795, "src": "2945:171:24", "stateMutability": "nonpayable", "virtual": true, @@ -1745,13 +1745,13 @@ { "body": null, "documentation": { - "id": 6615, + "id": 6778, "nodeType": "StructuredDocumentation", "src": "3122:241:24", "text": "@notice linkMMI is used to link a MoneyMarketInstance to its oracle in the oracle factory contract\n@param _MMI is the address of the MoneyMarketInstance\n@param _asset is the address of the MoneyMarketInstancesunderlying asset*" }, "functionSelector": "1be1d0b9", - "id": 6622, + "id": 6785, "implemented": false, "kind": "function", "modifiers": [], @@ -1759,17 +1759,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6620, + "id": 6783, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6617, + "id": 6780, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6622, + "scope": 6785, "src": "3385:12:24", "stateVariable": false, "storageLocation": "default", @@ -1778,7 +1778,7 @@ "typeString": "address" }, "typeName": { - "id": 6616, + "id": 6779, "name": "address", "nodeType": "ElementaryTypeName", "src": "3385:7:24", @@ -1793,12 +1793,12 @@ }, { "constant": false, - "id": 6619, + "id": 6782, "mutability": "mutable", "name": "_asset", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6622, + "scope": 6785, "src": "3399:14:24", "stateVariable": false, "storageLocation": "default", @@ -1807,7 +1807,7 @@ "typeString": "address" }, "typeName": { - "id": 6618, + "id": 6781, "name": "address", "nodeType": "ElementaryTypeName", "src": "3399:7:24", @@ -1824,12 +1824,12 @@ "src": "3384:30:24" }, "returnParameters": { - "id": 6621, + "id": 6784, "nodeType": "ParameterList", "parameters": [], "src": "3429:0:24" }, - "scope": 6632, + "scope": 6795, "src": "3368:62:24", "stateMutability": "nonpayable", "virtual": true, @@ -1839,7 +1839,7 @@ "body": null, "documentation": null, "functionSelector": "02f82cb1", - "id": 6631, + "id": 6794, "implemented": false, "kind": "function", "modifiers": [], @@ -1847,17 +1847,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 6627, + "id": 6790, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6624, + "id": 6787, "mutability": "mutable", "name": "_MMI", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3476:12:24", "stateVariable": false, "storageLocation": "default", @@ -1866,7 +1866,7 @@ "typeString": "address" }, "typeName": { - "id": 6623, + "id": 6786, "name": "address", "nodeType": "ElementaryTypeName", "src": "3476:7:24", @@ -1881,12 +1881,12 @@ }, { "constant": false, - "id": 6626, + "id": 6789, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3490:15:24", "stateVariable": false, "storageLocation": "default", @@ -1895,7 +1895,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6625, + "id": 6788, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3490:7:24", @@ -1911,17 +1911,17 @@ "src": "3475:31:24" }, "returnParameters": { - "id": 6630, + "id": 6793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6629, + "id": 6792, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 6631, + "scope": 6794, "src": "3568:7:24", "stateVariable": false, "storageLocation": "default", @@ -1930,7 +1930,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6628, + "id": 6791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3568:7:24", @@ -1945,14 +1945,14 @@ ], "src": "3567:9:24" }, - "scope": 6632, + "scope": 6795, "src": "3436:141:24", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 6633, + "scope": 6796, "src": "605:2974:24" } ], @@ -1964,7 +1964,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.047Z", + "updatedAt": "2020-12-12T01:13:52.579Z", "devdoc": { "methods": { "createNewOracle(address)": { diff --git a/AskoLend-contracts/build/contracts/UniswapOracleInstance.json b/AskoLend-contracts/build/contracts/UniswapOracleInstance.json index f692bf47..ca3398c7 100644 --- a/AskoLend-contracts/build/contracts/UniswapOracleInstance.json +++ b/AskoLend-contracts/build/contracts/UniswapOracleInstance.json @@ -314,26 +314,26 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blockTimestampLast\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"consult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"consultUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"firstRun\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pair\",\"outputs\":[{\"internalType\":\"contract IUniswapV2Pair\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0Average\",\"outputs\":[{\"internalType\":\"uint224\",\"name\":\"_x\",\"type\":\"uint224\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1Average\",\"outputs\":[{\"internalType\":\"uint224\",\"name\":\"_x\",\"type\":\"uint224\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"runs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"tokenA\",\"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\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"params\":{\"_factory\":\"is the address of the Uniswap factory contract\",\"_tokenA\":\"is the address of the asset being looked up\",\"_tokenB\":\"is the address of the USDC token*\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"update()\":{\"details\":\"this is an internal function called by consult if the timeElapsed is greater than 24 hours*\"}}},\"userdoc\":{\"methods\":{\"constructor\":\"the constructor function is fired once during token creation to initialize the oracle contract to a specific token pair\",\"consult(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"consultUSDC(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"update()\":{\"notice\":\"update updates the prices for the input token pair over a set 24hour period\"},\"viewPrice(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"viewUSDC(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"}}}},\"settings\":{\"compilationTarget\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":\"UniswapOracleInstance\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":{\"keccak256\":\"0x3eadcf0d0ed0851bda18f7958fa2aef5d37ee8f8664cc33624fee705b8d44656\",\"urls\":[\"bzz-raw://ac7ae313b6eed7a2661f582623f42b1f2c4dd658d4ded3802b179c756b2dc7cb\",\"dweb:/ipfs/Qmc7Rh6i5DSRgrjgLmgtdN6BeNufS5SUsZzw31CrHBZAZ4\"]},\"@uniswap/lib/contracts/libraries/FixedPoint.sol\":{\"keccak256\":\"0xc671208d030ea70032b9fe0ac9c05d7dcd3ef2593a1a36e7e7f03bf25c2997c4\",\"urls\":[\"bzz-raw://5d5fac757d514b276ae2954b28048cc854dfbeed20706b784a0c2d3efa6af752\",\"dweb:/ipfs/QmVmSgZ8yN9wqV8wHWj8KhHYbi2LoK6pdPK1i1pBqFKcUc\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"@uniswap/v2-periphery/contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x27f0ea82f879b3b01387b583e6d9d0ec858dca3b22b0aad173f8fbda06e761e1\",\"urls\":[\"bzz-raw://0db9cf37793eb7035f0bfced36323d240f0212150009c39a3a108701d9b50b6c\",\"dweb:/ipfs/QmUAdiG9XNcieXkKfiMB49zQqD34FbXFE15csV2KQzwEqg\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x2e125bac8733dde3c937e4245f15dcd56633a1aecf5d7760ba2018e9e374f378\",\"urls\":[\"bzz-raw://f66af240fea54958cc87dc5dadc1fd36531d06666adf32330a0c78b8a1c6dea8\",\"dweb:/ipfs/QmU7Sg5LEkuCVqFNpMBt1Txpfv3ucG3H4QBaMVqtL5bYMp\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol\":{\"keccak256\":\"0x993538630a9568290c39140d54c034a66cf1b95cdeef4ba804a948c4ee2fc311\",\"urls\":[\"bzz-raw://adff017b539750d5ac84403360967c4d6b02a1ee9b8f2487f0bcddd7fa7c523e\",\"dweb:/ipfs/QmQqUiUvoezf33f2SZa64M8KgksHSXFPrGuwDvxijtXYMo\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc\",\"urls\":[\"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3\",\"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a26469706673582212205174d40d794045b71197b5fbeeab1c429f30ae042953bb8701fccd622d59068964736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a26469706673582212205174d40d794045b71197b5fbeeab1c429f30ae042953bb8701fccd622d59068964736f6c63430006060033", + "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenB\",\"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\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blockTimestampLast\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"consult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"consultUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"firstRun\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pair\",\"outputs\":[{\"internalType\":\"contract IUniswapV2Pair\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0Average\",\"outputs\":[{\"internalType\":\"uint224\",\"name\":\"_x\",\"type\":\"uint224\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1Average\",\"outputs\":[{\"internalType\":\"uint224\",\"name\":\"_x\",\"type\":\"uint224\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"runs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"tokenA\",\"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\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"viewUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"constructor\":{\"params\":{\"_factory\":\"is the address of the Uniswap factory contract\",\"_tokenA\":\"is the address of the asset being looked up\",\"_tokenB\":\"is the address of the USDC token*\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"update()\":{\"details\":\"this is an internal function called by consult if the timeElapsed is greater than 24 hours*\"}}},\"userdoc\":{\"methods\":{\"constructor\":\"the constructor function is fired once during token creation to initialize the oracle contract to a specific token pair\",\"consult(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"consultUSDC(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"update()\":{\"notice\":\"update updates the prices for the input token pair over a set 24hour period\"},\"viewPrice(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"},\"viewUSDC(uint256)\":{\"notice\":\"consult returns the price of a token in USDC\"}}}},\"settings\":{\"compilationTarget\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":\"UniswapOracleInstance\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol\":{\"keccak256\":\"0x3eadcf0d0ed0851bda18f7958fa2aef5d37ee8f8664cc33624fee705b8d44656\",\"urls\":[\"bzz-raw://ac7ae313b6eed7a2661f582623f42b1f2c4dd658d4ded3802b179c756b2dc7cb\",\"dweb:/ipfs/Qmc7Rh6i5DSRgrjgLmgtdN6BeNufS5SUsZzw31CrHBZAZ4\"]},\"@uniswap/lib/contracts/libraries/FixedPoint.sol\":{\"keccak256\":\"0xc671208d030ea70032b9fe0ac9c05d7dcd3ef2593a1a36e7e7f03bf25c2997c4\",\"urls\":[\"bzz-raw://5d5fac757d514b276ae2954b28048cc854dfbeed20706b784a0c2d3efa6af752\",\"dweb:/ipfs/QmVmSgZ8yN9wqV8wHWj8KhHYbi2LoK6pdPK1i1pBqFKcUc\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xe5905c0989cf5a865ed9bb7b9252536ca011c5b744017a82a7d4443b9c00a891\",\"urls\":[\"bzz-raw://5d2a90a0a796491507462a3da18c3f8819721d571572d765a2207c35bf0a0389\",\"dweb:/ipfs/Qmf9ACYiT3qzjgsYuhm866FBdiBpRMXAPpQhSFbgqcyhHt\"]},\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"@uniswap/v2-periphery/contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x27f0ea82f879b3b01387b583e6d9d0ec858dca3b22b0aad173f8fbda06e761e1\",\"urls\":[\"bzz-raw://0db9cf37793eb7035f0bfced36323d240f0212150009c39a3a108701d9b50b6c\",\"dweb:/ipfs/QmUAdiG9XNcieXkKfiMB49zQqD34FbXFE15csV2KQzwEqg\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x2e125bac8733dde3c937e4245f15dcd56633a1aecf5d7760ba2018e9e374f378\",\"urls\":[\"bzz-raw://f66af240fea54958cc87dc5dadc1fd36531d06666adf32330a0c78b8a1c6dea8\",\"dweb:/ipfs/QmU7Sg5LEkuCVqFNpMBt1Txpfv3ucG3H4QBaMVqtL5bYMp\"]},\"@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol\":{\"keccak256\":\"0x993538630a9568290c39140d54c034a66cf1b95cdeef4ba804a948c4ee2fc311\",\"urls\":[\"bzz-raw://adff017b539750d5ac84403360967c4d6b02a1ee9b8f2487f0bcddd7fa7c523e\",\"dweb:/ipfs/QmQqUiUvoezf33f2SZa64M8KgksHSXFPrGuwDvxijtXYMo\"]},\"openzeppelin-solidity/contracts/GSN/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"openzeppelin-solidity/contracts/access/Ownable.sol\":{\"keccak256\":\"0xf7c39c7e6d06ed3bda90cfefbcbf2ddc32c599c3d6721746546ad64946efccaa\",\"urls\":[\"bzz-raw://cb57a28e189cd8b05748db44bdd51d608e6f1364dd1b35ad921e1bc82c10631e\",\"dweb:/ipfs/QmaWWTBbVu2pRR9XUbE4iC159NoP59cRF9ZJwhf4ghFN9i\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981810160405260608110156200003757600080fd5b508051602082015160409092015190919060006200005d6001600160e01b036200050e16565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000620000c18484846200051260201b62000ae21760201c565b600480546001600160a01b038087166001600160a01b03199283161783556001805491851691909216811790915560408051630dfe168160e01b815290519394509092630dfe168192828101926020929190829003018186803b1580156200012857600080fd5b505afa1580156200013d573d6000803e3d6000fd5b505050506040513d60208110156200015457600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556040805163d21220a760e01b815290519183169163d21220a791600480820192602092909190829003018186803b158015620001ad57600080fd5b505afa158015620001c2573d6000803e3d6000fd5b505050506040513d6020811015620001d957600080fd5b5051600380546001600160a01b0319166001600160a01b0392831617905560025484821691161415620002e957806001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024057600080fd5b505afa15801562000255573d6000803e3d6000fd5b505050506040513d60208110156200026c57600080fd5b505160055560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b158015620002b257600080fd5b505afa158015620002c7573d6000803e3d6000fd5b505050506040513d6020811015620002de57600080fd5b5051600655620003c7565b806001600160a01b0316635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032357600080fd5b505afa15801562000338573d6000803e3d6000fd5b505050506040513d60208110156200034f57600080fd5b505160055560408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b1580156200039557600080fd5b505afa158015620003aa573d6000803e3d6000fd5b505050506040513d6020811015620003c157600080fd5b50516006555b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200040457600080fd5b505afa15801562000419573d6000803e3d6000fd5b505050506040513d60608110156200043057600080fd5b50805160208201516040909201516008805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200047c57506001600160701b03811615155b620004ce576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b6004805460ff60a01b1916600160a01b179055620004f46001600160e01b03620005ef16565b50506004805460ff60a01b191690555062000b7892505050565b3390565b600080806200052b85856001600160e01b03620007c916565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60008060006200061f600160009054906101000a90046001600160a01b0316620008ac60201b620008411760201c565b600854929550909350915063ffffffff90811682039062015180908216101580620006585750600454600160a01b900460ff1615156001145b15620007c3576004546002546001600160a01b0390811691161415620007155760405180602001604052808263ffffffff166005548703816200069757fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff841690860381620006df57fe5b046001600160e01b039081169091529051600a80546001600160e01b0319169190921617905560058490556006839055620007ad565b60405180602001604052808263ffffffff166005548603816200073457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816200077c57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b600080826001600160a01b0316846001600160a01b031614156200081f5760405162461bcd60e51b8152600401808060200182810382526025815260200180620018ac6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106200084157828462000844565b83835b90925090506001600160a01b038216620008a5576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008080620008c36001600160e01b0362000aaf16565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b158015620008ff57600080fd5b505afa15801562000914573d6000803e3d6000fd5b505050506040513d60208110156200092b57600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156200097257600080fd5b505afa15801562000987573d6000803e3d6000fd5b505050506040513d60208110156200099e57600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b158015620009eb57600080fd5b505afa15801562000a00573d6000803e3d6000fd5b505050506040513d606081101562000a1757600080fd5b5080516020820151604090920151909450909250905063ffffffff8082169085161462000aa557600081850390508063ffffffff1662000a63848662000ab960201b62000a1a1760201c565b600001516001600160e01b031602870196508063ffffffff1662000a93858562000ab960201b62000a1a1760201c565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b62000ac362000b66565b6000826001600160701b03161162000b22576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b168162000b5157fe5b046001600160e01b0316815250905092915050565b60408051602081019091526000815290565b610d248062000b886000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a264697066735822122096a8de9783ff72df892c6e6d38f0609300080422b5d4e6482ede27c91f14dea164736f6c63430006060033556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2e62045116100ad578063c3e75bda11610071578063c3e75bda14610234578063c5700a0214610250578063d21220a714610271578063e865579f14610279578063f2fde38b146102965761012c565b8063a2e620451461020c578063a6bb453914610214578063a8aa1b311461021c578063b4d1d79514610224578063b5b24fd41461022c5761012c565b80635e6aaf2c116100f45780635e6aaf2c1461019c57806361e25d83146101c0578063715018a6146101dd57806375309b6e146101e75780638da5cb5b146102045761012c565b80630c644d29146101315780630dfe1681146101605780630fc63d10146101845780635909c0d51461018c5780635a3d549314610194575b600080fd5b61014e6004803603602081101561014757600080fd5b50356102bc565b60408051918252519081900360200190f35b610168610307565b604080516001600160a01b039092168252519081900360200190f35b610168610316565b61014e610325565b61014e61032b565b6101a4610331565b604080516001600160e01b039092168252519081900360200190f35b61014e600480360360208110156101d657600080fd5b5035610340565b6101e5610377565b005b61014e600480360360208110156101fd57600080fd5b503561042b565b61016861045b565b6101e561046a565b6101a4610628565b610168610637565b61014e610646565b61014e61064d565b61023c610653565b604080519115158252519081900360200190f35b610258610663565b6040805163ffffffff9092168252519081900360200190f35b61016861066f565b61014e6004803603602081101561028f57600080fd5b503561067e565b6101e5600480360360208110156102ac57600080fd5b50356001600160a01b03166106ae565b60006102c661046a565b6040805160208101909152600a546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b610836565b6001600160901b031692915050565b6002546001600160a01b031681565b6004546001600160a01b031681565b60055481565b60065481565b600a546001600160e01b031681565b600061034a61046a565b60408051602081019091526009546001600160e01b031681526102f8906102f3908463ffffffff6107b816565b61037f61083d565b6000546001600160a01b039081169116146103e1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6040805160208101909152600a546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6000546001600160a01b031690565b60015460009081908190610486906001600160a01b0316610841565b600854929550909350915063ffffffff908116820390620151809082161015806104be5750600454600160a01b900460ff1615156001145b15610622576004546002546001600160a01b03908116911614156105765760405180602001604052808263ffffffff166005548703816104fa57fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff84169086038161054157fe5b046001600160e01b039081169091529051600a80546001600160e01b031916919092161790556005849055600683905561060c565b60405180602001604052808263ffffffff1660055486038161059457fe5b046001600160e01b039081169091529051600980546001600160e01b031916919092161790556040805160208101909152600654819063ffffffff8416908703816105db57fe5b046001600160e01b039081169091529051600a80546001600160e01b03191691909216179055600583905560068490555b6008805463ffffffff191663ffffffff84161790555b50505050565b6009546001600160e01b031681565b6001546001600160a01b031681565b6201518081565b60075481565b600454600160a01b900460ff1681565b60085463ffffffff1681565b6003546001600160a01b031681565b60408051602081019091526009546001600160e01b031681526000906102f8906102f3908463ffffffff6107b816565b6106b661083d565b6000546001600160a01b03908116911614610718576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661075d5760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107c0610abd565b60008215806107e657505082516001600160e01b0316828102908382816107e357fe5b04145b6108215760405162461bcd60e51b8152600401808060200182810382526023815260200180610ccc6023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b3390565b600080600061084e610a10565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561088957600080fd5b505afa15801561089d573d6000803e3d6000fd5b505050506040513d60208110156108b357600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d602081101561092357600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b15801561096f57600080fd5b505afa158015610983573d6000803e3d6000fd5b505050506040513d606081101561099957600080fd5b5080516020820151604090920151909450909250905063ffffffff80821690851614610a065780840363ffffffff81166109d38486610a1a565b516001600160e01b031602969096019563ffffffff81166109f48585610a1a565b516001600160e01b0316029590950194505b5050509193909250565b63ffffffff421690565b610a22610ad0565b6000826001600160701b031611610a7a576040805162461bcd60e51b81526020600482015260176024820152764669786564506f696e743a204449565f42595f5a45524f60481b604482015290519081900360640190fd5b6040805160208101909152806001600160701b038416600160701b600160e01b03607087901b1681610aa857fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b60408051602081019091526000815290565b6000806000610af18585610ba2565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415610bf65760405162461bcd60e51b8152600401808060200182810382526025815260200180610ca76025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610610c16578284610c19565b83835b90925090506001600160a01b038216610c79576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b925092905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373556e697377617056324c6962726172793a204944454e544943414c5f4144445245535345534669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57a264697066735822122096a8de9783ff72df892c6e6d38f0609300080422b5d4e6482ede27c91f14dea164736f6c63430006060033", "immutableReferences": {}, - "sourceMap": "434:5362:14:-:0;;;1501:1128;5:9:-1;2:2;;;27:1;24;17:12;2:2;1501:1128:14;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1501:1128:14;;;;;;;;;;;;;;865:17:38;885:12;:10;:12::i;:::-;907:6;:18;;-1:-1:-1;;;;;;907:18:38;-1:-1:-1;;;;;907:18:38;;;;;;;940:43;;907:18;;-1:-1:-1;907:18:38;940:43;;907:6;;940:43;831:159;1612:20:14;1663:52;1688:8;1698:7;1707;1663:24;;;;;:52;;:::i;:::-;1735:6;:16;;-1:-1:-1;;;;;1735:16:14;;;-1:-1:-1;;;;;;1735:16:14;;;;;;-1:-1:-1;1761:12:14;;;;;;;;;;;;;;1792:14;;;-1:-1:-1;;;1792:14:14;;;;1761:12;;-1:-1:-1;1761:12:14;;-1:-1:-1;;1792:14:14;;;;;;;;;;;;;1761:12;1792:14;;;2:2:-1;;;;27:1;24;17:12;2:2;1792:14:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1792:14:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1792:14:14;1783:6;:23;;-1:-1:-1;;;;;;1783:23:14;-1:-1:-1;;;;;1783:23:14;;;;;;1825:14;;;-1:-1:-1;;;1825:14:14;;;;:12;;;;-1:-1:-1;;1825:14:14;;;;;1792;;1825;;;;;;;;:12;:14;;;2:2:-1;;;;27:1;24;17:12;2:2;1825:14:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1825:14:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1825:14:14;1816:6;:23;;-1:-1:-1;;;;;;1816:23:14;-1:-1:-1;;;;;1816:23:14;;;;;;1853:6;;:17;;;:6;;:17;1849:417;;;1909:5;-1:-1:-1;;;;;1909:26:14;;:28;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1909:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1909:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1909:28:14;1886:20;:51;2027:28;;;-1:-1:-1;;;2027:28:14;;;;-1:-1:-1;;;;;2027:26:14;;;-1:-1:-1;;2027:28:14;;;;;1909;;2027;;;;;;;:26;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;2027:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2027:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2027:28:14;2004:20;:51;1849:417;;;2109:5;-1:-1:-1;;;;;2109:26:14;;:28;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2109:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2109:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2109:28:14;2086:20;:51;2227:28;;;-1:-1:-1;;;2227:28:14;;;;-1:-1:-1;;;;;2227:26:14;;;-1:-1:-1;;2227:28:14;;;;;2109;;2227;;;;;;;:26;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;2227:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2227:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2227:28:14;2204:20;:51;1849:417;2275:16;2301;2370:5;-1:-1:-1;;;;;2370:17:14;;:19;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2370:19:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2370:19:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2370:19:14;;;;;;;;;;;2348:18;2327:62;;-1:-1:-1;;2327:62:14;-1:-1:-1;2327:62:14;;;;;;;;;2370:19;-1:-1:-1;2370:19:14;-1:-1:-1;;;;;;2420:13:14;;;;;;:30;;-1:-1:-1;;;;;;2437:13:14;;;;2420:30;2399:109;;;;;-1:-1:-1;;;2399:109:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:8;:15;;-1:-1:-1;;;;2563:15:14;-1:-1:-1;;;2563:15:14;;;2588:8;:6;:8::i;:::-;-1:-1:-1;;2606:8:14;:16;;-1:-1:-1;;;;2606:16:14;;;-1:-1:-1;434:5362:14;;-1:-1:-1;;;434:5362:14;590:104:37;677:10;590:104;:::o;715:470:35:-;804:12;;;863:26;874:6;882;863:10;:26::i;:::-;1023:32;;;-1:-1:-1;;;1023:32:35;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;1023:32:35;;;;;1013:43;;;;;;-1:-1:-1;;;;;;929:246:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;929:246:35;;;;;;;919:257;;;;;;;;;;-1:-1:-1;;;;;715:470:35:o;2827:1802:14:-;3041:4;;2876:24;;;;;;2986:61;;-1:-1:-1;;;;;3041:4:14;2986:46;;;;;;;:61;;:::i;:::-;3095:18;;2862:185;;-1:-1:-1;2862:185:14;;-1:-1:-1;2862:185:14;-1:-1:-1;3095:18:14;;;;3078:35;;;795:8;3195:21;;;;;;:41;;-1:-1:-1;3220:8:14;;;-1:-1:-1;;;3220:8:14;;;;:16;;-1:-1:-1;3220:16:14;3195:41;3191:1432;;;3475:6;;3465;;-1:-1:-1;;;;;3475:6:14;;;3465;;:16;3461:1102;;;3517:170;;;;;;;;3636:11;3592:55;;3612:20;;3593:16;:39;3592:55;;;;;;-1:-1:-1;;;;;3517:170:14;;;;;;3501:186;;:13;:186;;-1:-1:-1;;;;;;3501:186:14;;;;;;;;3721:170;;;;;;;;;3816:20;;3721:170;;3796:55;;;;3797:39;;3796:55;;;;;;-1:-1:-1;;;;;3721:170:14;;;;;;3705:186;;:13;:186;;-1:-1:-1;;;;;;3705:186:14;;;;;;;;3909:20;:39;;;3966:20;:39;;;3461:1102;;;4060:170;;;;;;;;4179:11;4135:55;;4155:20;;4136:16;:39;4135:55;;;;;;-1:-1:-1;;;;;4060:170:14;;;;;;4044:186;;:13;:186;;-1:-1:-1;;;;;;4044:186:14;;;;;;;;4264:170;;;;;;;;;4359:20;;4264:170;;4339:55;;;;4340:39;;4339:55;;;;;;-1:-1:-1;;;;;4264:170:14;;;;;;4248:186;;:13;:186;;-1:-1:-1;;;;;;4248:186:14;;;;;;;;4452:20;:39;;;4509:20;:39;;;3461:1102;4577:18;:35;;-1:-1:-1;;4577:35:14;;;;;;;3191:1432;2827:1802;;;;:::o;281:345:35:-;356:14;;-1:-1:-1;;;;;406:16:35;;;;;;;;398:66;;;;-1:-1:-1;;;398:66:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;493:15:35;;;;;;;:53;;531:6;539;493:53;;;512:6;520;493:53;474:72;;-1:-1:-1;474:72:35;-1:-1:-1;;;;;;564:20:35;;556:63;;;;;-1:-1:-1;;;556:63:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:345;;;;;:::o;646:1040:36:-;730:21;;;826:23;:21;:23::i;:::-;809:40;;893:4;-1:-1:-1;;;;;878:41:36;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;878:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;878:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;878:43:36;950;;;-1:-1:-1;;;950:43:36;;;;878;;-1:-1:-1;;;;;;950:41:36;;;-1:-1:-1;;950:43:36;;;;;878;;950;;;;;;;;:41;:43;;;2:2:-1;;;;27:1;24;17:12;2:2;950:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;950:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;950:43:36;1170:34;;;-1:-1:-1;;;1170:34:36;;;;950:43;;-1:-1:-1;1105:16:36;;;;;;-1:-1:-1;;;;;1170:32:36;;;;;:34;;;;;;;;;;;;;;:32;:34;;;2:2:-1;;;;27:1;24;17:12;2:2;1170:34:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:34:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1170:34:36;;;;;;;;;;;;;-1:-1:-1;1170:34:36;;-1:-1:-1;1170:34:36;-1:-1:-1;1218:36:36;;;;;;;;1214:466;;1317:18;1355;1338:14;:35;1317:56;;1532:11;1481:62;;1486:39;1506:8;1516;1486:19;;;;;:39;;:::i;:::-;:42;;;-1:-1:-1;;;;;1481:48:36;:62;1461:82;;;;1658:11;1607:62;;1612:39;1632:8;1642;1612:19;;;;;:39;;:::i;:::-;:42;-1:-1:-1;;;;;1607:48:36;:62;1587:82;;;;;-1:-1:-1;1214:466:36;646:1040;;;;;;;;:::o;422:121::-;510:25;:15;:25;;422:121::o;1517:243:25:-;1598:16;;:::i;:::-;-1:-1:-1;;;;;1634:15:25;;1626:51;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;;;;1694:59;;;;;;;;;;-1:-1:-1;;;;;1704:48:25;;-1:-1:-1;1705:32:25;;;-1:-1:-1;;;;;;;1705:32:25;1704:48;;;;;;-1:-1:-1;;;;;1694:59:25;;;1687:66;;-1:-1:-1;;;1517:243:25:o;434:5362:14:-;;;;;;;;;;-1:-1:-1;434:5362:14;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "434:5362:14:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;434:5362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;5352:152:14;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5352:152:14;;:::i;:::-;;;;;;;;;;;;;;;;842:21;;;:::i;:::-;;;;-1:-1:-1;;;;;842:21:14;;;;;;;;;;;;;;896;;;:::i;950:35::-;;;:::i;991:::-;;;:::i;1142:41::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1142:41:14;;;;;;;;;;;;;;4771:148;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4771:148:14;;:::i;1689:145:38:-;;;:::i;:::-;;5658:136:14;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5658:136:14;;:::i;1066:77:38:-;;;:::i;2827:1802:14:-;;;:::i;1095:41::-;;;:::i;810:26::-;;;:::i;762:41::-;;;:::i;1032:19::-;;;:::i;923:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1057:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;869:21;;;:::i;5073:137::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5073:137:14;;:::i;1983:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1983:240:38;-1:-1:-1;;;;;1983:240:38;;:::i;5352:152:14:-;5408:13;5433:8;:6;:8::i;:::-;5459:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5459:17:14;;;:38;;:26;;5477:7;5459:17;:26::i;:::-;:36;:38::i;:::-;-1:-1:-1;;;;;5451:46:14;;;-1:-1:-1;;5352:152:14:o;842:21::-;;;-1:-1:-1;;;;;842:21:14;;:::o;896:::-;;;-1:-1:-1;;;;;896:21:14;;:::o;950:35::-;;;;:::o;991:::-;;;;:::o;1142:41::-;;;-1:-1:-1;;;;;1142:41:14;;:::o;4771:148::-;4823:13;4848:8;:6;:8::i;:::-;4874:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;4874:17:14;;;:38;;:26;;4892:7;4874:17;:26::i;1689:145:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:1:::1;1779:6:::0;;1758:40:::1;::::0;-1:-1:-1;;;;;1779:6:38;;::::1;::::0;1758:40:::1;::::0;1795:1;;1758:40:::1;1825:1;1808:19:::0;;-1:-1:-1;;;;;;1808:19:38::1;::::0;;1689:145::o;5658:136:14:-;5749:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5749:17:14;;;-1:-1:-1;;5749:38:14;;:26;;5767:7;5749:17;:26::i;1066:77:38:-;1104:7;1130:6;-1:-1:-1;;;;;1130:6:38;;1066:77::o;2827:1802:14:-;3041:4;;2876:24;;;;;;2986:61;;-1:-1:-1;;;;;3041:4:14;2986:46;:61::i;:::-;3095:18;;2862:185;;-1:-1:-1;2862:185:14;;-1:-1:-1;2862:185:14;-1:-1:-1;3095:18:14;;;;3078:35;;;795:8;3195:21;;;;;;:41;;-1:-1:-1;3220:8:14;;;-1:-1:-1;;;3220:8:14;;;;:16;;-1:-1:-1;3220:16:14;3195:41;3191:1432;;;3475:6;;3465;;-1:-1:-1;;;;;3475:6:14;;;3465;;:16;3461:1102;;;3517:170;;;;;;;;3636:11;3592:55;;3612:20;;3593:16;:39;3592:55;;;;;;-1:-1:-1;;;;;3517:170:14;;;;;;3501:186;;:13;:186;;-1:-1:-1;;;;;;3501:186:14;;;;;;;;3721:170;;;;;;;;;3816:20;;3721:170;;3796:55;;;;3797:39;;3796:55;;;;;;-1:-1:-1;;;;;3721:170:14;;;;;;3705:186;;:13;:186;;-1:-1:-1;;;;;;3705:186:14;;;;;;;;3909:20;:39;;;3966:20;:39;;;3461:1102;;;4060:170;;;;;;;;4179:11;4135:55;;4155:20;;4136:16;:39;4135:55;;;;;;-1:-1:-1;;;;;4060:170:14;;;;;;4044:186;;:13;:186;;-1:-1:-1;;;;;;4044:186:14;;;;;;;;4264:170;;;;;;;;;4359:20;;4264:170;;4339:55;;;;4340:39;;4339:55;;;;;;-1:-1:-1;;;;;4264:170:14;;;;;;4248:186;;:13;:186;;-1:-1:-1;;;;;;4248:186:14;;;;;;;;4452:20;:39;;;4509:20;:39;;;3461:1102;4577:18;:35;;-1:-1:-1;;4577:35:14;;;;;;;3191:1432;2827:1802;;;;:::o;1095:41::-;;;-1:-1:-1;;;;;1095:41:14;;:::o;810:26::-;;;-1:-1:-1;;;;;810:26:14;;:::o;762:41::-;795:8;762:41;:::o;1032:19::-;;;;:::o;923:20::-;;;-1:-1:-1;;;923:20:14;;;;;:::o;1057:32::-;;;;;;:::o;869:21::-;;;-1:-1:-1;;;;;869:21:14;;:::o;5073:137::-;5165:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5165:17:14;;;-1:-1:-1;;5165:38:14;;:26;;5183:7;5165:17;:26::i;1983:240:38:-;1280:12;:10;:12::i;:::-;1270:6;;-1:-1:-1;;;;;1270:22:38;;;:6;;:22;1262:67;;;;;-1:-1:-1;;;1262:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2071:22:38;::::1;2063:73;;;;-1:-1:-1::0;;;2063:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2172:6;::::0;;2151:38:::1;::::0;-1:-1:-1;;;;;2151:38:38;;::::1;::::0;2172:6;::::1;::::0;2151:38:::1;::::0;::::1;2199:6;:17:::0;;-1:-1:-1;;;;;;2199:17:38::1;-1:-1:-1::0;;;;;2199:17:38;;;::::1;::::0;;;::::1;::::0;;1983:240::o;1116:249:25:-;1183:16;;:::i;:::-;1211:6;1235;;;:54;;-1:-1:-1;;1281:7:25;;-1:-1:-1;;;;;1276:13:25;1250:17;;;;;;;1245:27;;;;;:44;1235:54;1227:102;;;;-1:-1:-1;;;1227:102:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1346:12;;;;;;;;;;;;;1116:249;-1:-1:-1;;;1116:249:25:o;2051:128::-;2150:7;407:3;2150:21;;2051:128::o;590:104:37:-;677:10;590:104;:::o;646:1040:36:-;730:21;753;776;826:23;:21;:23::i;:::-;809:40;;893:4;-1:-1:-1;;;;;878:41:36;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;878:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;878:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;878:43:36;950;;;-1:-1:-1;;;950:43:36;;;;878;;-1:-1:-1;;;;;;950:41:36;;;-1:-1:-1;;950:43:36;;;;;878;;950;;;;;;;;:41;:43;;;2:2:-1;;;;27:1;24;17:12;2:2;950:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;950:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;950:43:36;1170:34;;;-1:-1:-1;;;1170:34:36;;;;950:43;;-1:-1:-1;1105:16:36;;;;;;-1:-1:-1;;;;;1170:32:36;;;;;:34;;;;;;;;;;;;;;:32;:34;;;2:2:-1;;;;27:1;24;17:12;2:2;1170:34:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:34:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1170:34:36;;;;;;;;;;;;;-1:-1:-1;1170:34:36;;-1:-1:-1;1170:34:36;-1:-1:-1;1218:36:36;;;;;;;;1214:466;;1338:35;;;1481:62;;;1486:39;1506:8;1516;1486:19;:39::i;:::-;:42;-1:-1:-1;;;;;1481:48:36;:62;1461:82;;;;;1607:62;;;1612:39;1632:8;1642;1612:19;:39::i;:::-;:42;-1:-1:-1;;;;;1607:48:36;:62;1587:82;;;;;-1:-1:-1;1214:466:36;646:1040;;;;;;;;:::o;422:121::-;510:25;:15;:25;;422:121::o;1517:243:25:-;1598:16;;:::i;:::-;-1:-1:-1;;;;;1634:15:25;;1626:51;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;;;;1694:59;;;;;;;;;;-1:-1:-1;;;;;1704:48:25;;-1:-1:-1;1705:32:25;;;-1:-1:-1;;;;;;;1705:32:25;1704:48;;;;;;-1:-1:-1;;;;;1694:59:25;;;1687:66;;-1:-1:-1;;;1517:243:25:o;434:5362:14:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;434:5362:14;;;:::o;715:470:35:-;804:12;829:14;845;863:26;874:6;882;863:10;:26::i;:::-;1023:32;;;-1:-1:-1;;1023:32:35;;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;1023:32:35;;;;;1013:43;;;;;;-1:-1:-1;;;;;;929:246:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;929:246:35;;;;;;;919:257;;;;;;;;;;-1:-1:-1;;;;;715:470:35:o;281:345::-;356:14;;-1:-1:-1;;;;;406:16:35;;;;;;;;398:66;;;;-1:-1:-1;;;398:66:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;493:15:35;;;;;;;:53;;531:6;539;493:53;;;512:6;520;493:53;474:72;;-1:-1:-1;474:72:35;-1:-1:-1;;;;;;564:20:35;;556:63;;;;;-1:-1:-1;;;556:63:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:345;;;;;:::o", + "sourceMap": "434:5362:14:-:0;;;1501:1128;5:9:-1;2:2;;;27:1;24;17:12;2:2;1501:1128:14;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1501:1128:14;;;;;;;;;;;;;;882:17:38;902:12;:10;:12::i;:::-;924:6;:18;;-1:-1:-1;;;;;;924:18:38;-1:-1:-1;;;;;924:18:38;;;;;;;957:43;;924:18;;-1:-1:-1;924:18:38;957:43;;924:6;;957:43;848:159;1612:20:14;1663:52;1688:8;1698:7;1707;1663:24;;;;;:52;;:::i;:::-;1735:6;:16;;-1:-1:-1;;;;;1735:16:14;;;-1:-1:-1;;;;;;1735:16:14;;;;;;-1:-1:-1;1761:12:14;;;;;;;;;;;;;;1792:14;;;-1:-1:-1;;;1792:14:14;;;;1761:12;;-1:-1:-1;1761:12:14;;-1:-1:-1;;1792:14:14;;;;;;;;;;;;;1761:12;1792:14;;;2:2:-1;;;;27:1;24;17:12;2:2;1792:14:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1792:14:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1792:14:14;1783:6;:23;;-1:-1:-1;;;;;;1783:23:14;-1:-1:-1;;;;;1783:23:14;;;;;;1825:14;;;-1:-1:-1;;;1825:14:14;;;;:12;;;;-1:-1:-1;;1825:14:14;;;;;1792;;1825;;;;;;;;:12;:14;;;2:2:-1;;;;27:1;24;17:12;2:2;1825:14:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1825:14:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1825:14:14;1816:6;:23;;-1:-1:-1;;;;;;1816:23:14;-1:-1:-1;;;;;1816:23:14;;;;;;1853:6;;:17;;;:6;;:17;1849:417;;;1909:5;-1:-1:-1;;;;;1909:26:14;;:28;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1909:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1909:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1909:28:14;1886:20;:51;2027:28;;;-1:-1:-1;;;2027:28:14;;;;-1:-1:-1;;;;;2027:26:14;;;-1:-1:-1;;2027:28:14;;;;;1909;;2027;;;;;;;:26;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;2027:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2027:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2027:28:14;2004:20;:51;1849:417;;;2109:5;-1:-1:-1;;;;;2109:26:14;;:28;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2109:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2109:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2109:28:14;2086:20;:51;2227:28;;;-1:-1:-1;;;2227:28:14;;;;-1:-1:-1;;;;;2227:26:14;;;-1:-1:-1;;2227:28:14;;;;;2109;;2227;;;;;;;:26;:28;;;2:2:-1;;;;27:1;24;17:12;2:2;2227:28:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2227:28:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2227:28:14;2204:20;:51;1849:417;2275:16;2301;2370:5;-1:-1:-1;;;;;2370:17:14;;:19;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2370:19:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2370:19:14;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2370:19:14;;;;;;;;;;;2348:18;2327:62;;-1:-1:-1;;2327:62:14;-1:-1:-1;2327:62:14;;;;;;;;;2370:19;-1:-1:-1;2370:19:14;-1:-1:-1;;;;;;2420:13:14;;;;;;:30;;-1:-1:-1;;;;;;2437:13:14;;;;2420:30;2399:109;;;;;-1:-1:-1;;;2399:109:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:8;:15;;-1:-1:-1;;;;2563:15:14;-1:-1:-1;;;2563:15:14;;;2588:8;:6;:8::i;:::-;-1:-1:-1;;2606:8:14;:16;;-1:-1:-1;;;;2606:16:14;;;-1:-1:-1;434:5362:14;;-1:-1:-1;;;434:5362:14;598:104:37;685:10;598:104;:::o;715:470:35:-;804:12;;;863:26;874:6;882;863:10;:26::i;:::-;1023:32;;;-1:-1:-1;;;1023:32:35;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;1023:32:35;;;;;1013:43;;;;;;-1:-1:-1;;;;;;929:246:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;929:246:35;;;;;;;919:257;;;;;;;;;;-1:-1:-1;;;;;715:470:35:o;2827:1802:14:-;3041:4;;2876:24;;;;;;2986:61;;-1:-1:-1;;;;;3041:4:14;2986:46;;;;;;;:61;;:::i;:::-;3095:18;;2862:185;;-1:-1:-1;2862:185:14;;-1:-1:-1;2862:185:14;-1:-1:-1;3095:18:14;;;;3078:35;;;795:8;3195:21;;;;;;:41;;-1:-1:-1;3220:8:14;;;-1:-1:-1;;;3220:8:14;;;;:16;;-1:-1:-1;3220:16:14;3195:41;3191:1432;;;3475:6;;3465;;-1:-1:-1;;;;;3475:6:14;;;3465;;:16;3461:1102;;;3517:170;;;;;;;;3636:11;3592:55;;3612:20;;3593:16;:39;3592:55;;;;;;-1:-1:-1;;;;;3517:170:14;;;;;;3501:186;;:13;:186;;-1:-1:-1;;;;;;3501:186:14;;;;;;;;3721:170;;;;;;;;;3816:20;;3721:170;;3796:55;;;;3797:39;;3796:55;;;;;;-1:-1:-1;;;;;3721:170:14;;;;;;3705:186;;:13;:186;;-1:-1:-1;;;;;;3705:186:14;;;;;;;;3909:20;:39;;;3966:20;:39;;;3461:1102;;;4060:170;;;;;;;;4179:11;4135:55;;4155:20;;4136:16;:39;4135:55;;;;;;-1:-1:-1;;;;;4060:170:14;;;;;;4044:186;;:13;:186;;-1:-1:-1;;;;;;4044:186:14;;;;;;;;4264:170;;;;;;;;;4359:20;;4264:170;;4339:55;;;;4340:39;;4339:55;;;;;;-1:-1:-1;;;;;4264:170:14;;;;;;4248:186;;:13;:186;;-1:-1:-1;;;;;;4248:186:14;;;;;;;;4452:20;:39;;;4509:20;:39;;;3461:1102;4577:18;:35;;-1:-1:-1;;4577:35:14;;;;;;;3191:1432;2827:1802;;;;:::o;281:345:35:-;356:14;;-1:-1:-1;;;;;406:16:35;;;;;;;;398:66;;;;-1:-1:-1;;;398:66:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;493:15:35;;;;;;;:53;;531:6;539;493:53;;;512:6;520;493:53;474:72;;-1:-1:-1;474:72:35;-1:-1:-1;;;;;;564:20:35;;556:63;;;;;-1:-1:-1;;;556:63:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:345;;;;;:::o;646:1040:36:-;730:21;;;826:23;:21;:23::i;:::-;809:40;;893:4;-1:-1:-1;;;;;878:41:36;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;878:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;878:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;878:43:36;950;;;-1:-1:-1;;;950:43:36;;;;878;;-1:-1:-1;;;;;;950:41:36;;;-1:-1:-1;;950:43:36;;;;;878;;950;;;;;;;;:41;:43;;;2:2:-1;;;;27:1;24;17:12;2:2;950:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;950:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;950:43:36;1170:34;;;-1:-1:-1;;;1170:34:36;;;;950:43;;-1:-1:-1;1105:16:36;;;;;;-1:-1:-1;;;;;1170:32:36;;;;;:34;;;;;;;;;;;;;;:32;:34;;;2:2:-1;;;;27:1;24;17:12;2:2;1170:34:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:34:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1170:34:36;;;;;;;;;;;;;-1:-1:-1;1170:34:36;;-1:-1:-1;1170:34:36;-1:-1:-1;1218:36:36;;;;;;;;1214:466;;1317:18;1355;1338:14;:35;1317:56;;1532:11;1481:62;;1486:39;1506:8;1516;1486:19;;;;;:39;;:::i;:::-;:42;;;-1:-1:-1;;;;;1481:48:36;:62;1461:82;;;;1658:11;1607:62;;1612:39;1632:8;1642;1612:19;;;;;:39;;:::i;:::-;:42;-1:-1:-1;;;;;1607:48:36;:62;1587:82;;;;;-1:-1:-1;1214:466:36;646:1040;;;;;;;;:::o;422:121::-;510:25;:15;:25;;422:121::o;1517:243:25:-;1598:16;;:::i;:::-;-1:-1:-1;;;;;1634:15:25;;1626:51;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;;;;1694:59;;;;;;;;;;-1:-1:-1;;;;;1704:48:25;;-1:-1:-1;1705:32:25;;;-1:-1:-1;;;;;;;1705:32:25;1704:48;;;;;;-1:-1:-1;;;;;1694:59:25;;;1687:66;;-1:-1:-1;;;1517:243:25:o;434:5362:14:-;;;;;;;;;;-1:-1:-1;434:5362:14;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "434:5362:14:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;434:5362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;5352:152:14;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5352:152:14;;:::i;:::-;;;;;;;;;;;;;;;;842:21;;;:::i;:::-;;;;-1:-1:-1;;;;;842:21:14;;;;;;;;;;;;;;896;;;:::i;950:35::-;;;:::i;991:::-;;;:::i;1142:41::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1142:41:14;;;;;;;;;;;;;;4771:148;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4771:148:14;;:::i;1706:145:38:-;;;:::i;:::-;;5658:136:14;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5658:136:14;;:::i;1083:77:38:-;;;:::i;2827:1802:14:-;;;:::i;1095:41::-;;;:::i;810:26::-;;;:::i;762:41::-;;;:::i;1032:19::-;;;:::i;923:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1057:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;869:21;;;:::i;5073:137::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5073:137:14;;:::i;2000:240:38:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2000:240:38;-1:-1:-1;;;;;2000:240:38;;:::i;5352:152:14:-;5408:13;5433:8;:6;:8::i;:::-;5459:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5459:17:14;;;:38;;:26;;5477:7;5459:17;:26::i;:::-;:36;:38::i;:::-;-1:-1:-1;;;;;5451:46:14;;;-1:-1:-1;;5352:152:14:o;842:21::-;;;-1:-1:-1;;;;;842:21:14;;:::o;896:::-;;;-1:-1:-1;;;;;896:21:14;;:::o;950:35::-;;;;:::o;991:::-;;;;:::o;1142:41::-;;;-1:-1:-1;;;;;1142:41:14;;:::o;4771:148::-;4823:13;4848:8;:6;:8::i;:::-;4874:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;4874:17:14;;;:38;;:26;;4892:7;4874:17;:26::i;1706:145:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:1:::1;1796:6:::0;;1775:40:::1;::::0;-1:-1:-1;;;;;1796:6:38;;::::1;::::0;1775:40:::1;::::0;1812:1;;1775:40:::1;1842:1;1825:19:::0;;-1:-1:-1;;;;;;1825:19:38::1;::::0;;1706:145::o;5658:136:14:-;5749:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5749:17:14;;;-1:-1:-1;;5749:38:14;;:26;;5767:7;5749:17;:26::i;1083:77:38:-;1121:7;1147:6;-1:-1:-1;;;;;1147:6:38;;1083:77::o;2827:1802:14:-;3041:4;;2876:24;;;;;;2986:61;;-1:-1:-1;;;;;3041:4:14;2986:46;:61::i;:::-;3095:18;;2862:185;;-1:-1:-1;2862:185:14;;-1:-1:-1;2862:185:14;-1:-1:-1;3095:18:14;;;;3078:35;;;795:8;3195:21;;;;;;:41;;-1:-1:-1;3220:8:14;;;-1:-1:-1;;;3220:8:14;;;;:16;;-1:-1:-1;3220:16:14;3195:41;3191:1432;;;3475:6;;3465;;-1:-1:-1;;;;;3475:6:14;;;3465;;:16;3461:1102;;;3517:170;;;;;;;;3636:11;3592:55;;3612:20;;3593:16;:39;3592:55;;;;;;-1:-1:-1;;;;;3517:170:14;;;;;;3501:186;;:13;:186;;-1:-1:-1;;;;;;3501:186:14;;;;;;;;3721:170;;;;;;;;;3816:20;;3721:170;;3796:55;;;;3797:39;;3796:55;;;;;;-1:-1:-1;;;;;3721:170:14;;;;;;3705:186;;:13;:186;;-1:-1:-1;;;;;;3705:186:14;;;;;;;;3909:20;:39;;;3966:20;:39;;;3461:1102;;;4060:170;;;;;;;;4179:11;4135:55;;4155:20;;4136:16;:39;4135:55;;;;;;-1:-1:-1;;;;;4060:170:14;;;;;;4044:186;;:13;:186;;-1:-1:-1;;;;;;4044:186:14;;;;;;;;4264:170;;;;;;;;;4359:20;;4264:170;;4339:55;;;;4340:39;;4339:55;;;;;;-1:-1:-1;;;;;4264:170:14;;;;;;4248:186;;:13;:186;;-1:-1:-1;;;;;;4248:186:14;;;;;;;;4452:20;:39;;;4509:20;:39;;;3461:1102;4577:18;:35;;-1:-1:-1;;4577:35:14;;;;;;;3191:1432;2827:1802;;;;:::o;1095:41::-;;;-1:-1:-1;;;;;1095:41:14;;:::o;810:26::-;;;-1:-1:-1;;;;;810:26:14;;:::o;762:41::-;795:8;762:41;:::o;1032:19::-;;;;:::o;923:20::-;;;-1:-1:-1;;;923:20:14;;;;;:::o;1057:32::-;;;;;;:::o;869:21::-;;;-1:-1:-1;;;;;869:21:14;;:::o;5073:137::-;5165:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;5165:17:14;;;-1:-1:-1;;5165:38:14;;:26;;5183:7;5165:17;:26::i;2000:240:38:-;1297:12;:10;:12::i;:::-;1287:6;;-1:-1:-1;;;;;1287:22:38;;;:6;;:22;1279:67;;;;;-1:-1:-1;;;1279:67:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2088:22:38;::::1;2080:73;;;;-1:-1:-1::0;;;2080:73:38::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:6;::::0;;2168:38:::1;::::0;-1:-1:-1;;;;;2168:38:38;;::::1;::::0;2189:6;::::1;::::0;2168:38:::1;::::0;::::1;2216:6;:17:::0;;-1:-1:-1;;;;;;2216:17:38::1;-1:-1:-1::0;;;;;2216:17:38;;;::::1;::::0;;;::::1;::::0;;2000:240::o;1116:249:25:-;1183:16;;:::i;:::-;1211:6;1235;;;:54;;-1:-1:-1;;1281:7:25;;-1:-1:-1;;;;;1276:13:25;1250:17;;;;;;;1245:27;;;;;:44;1235:54;1227:102;;;;-1:-1:-1;;;1227:102:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1346:12;;;;;;;;;;;;;1116:249;-1:-1:-1;;;1116:249:25:o;2051:128::-;2150:7;407:3;2150:21;;2051:128::o;598:104:37:-;685:10;598:104;:::o;646:1040:36:-;730:21;753;776;826:23;:21;:23::i;:::-;809:40;;893:4;-1:-1:-1;;;;;878:41:36;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;878:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;878:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;878:43:36;950;;;-1:-1:-1;;;950:43:36;;;;878;;-1:-1:-1;;;;;;950:41:36;;;-1:-1:-1;;950:43:36;;;;;878;;950;;;;;;;;:41;:43;;;2:2:-1;;;;27:1;24;17:12;2:2;950:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;950:43:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;950:43:36;1170:34;;;-1:-1:-1;;;1170:34:36;;;;950:43;;-1:-1:-1;1105:16:36;;;;;;-1:-1:-1;;;;;1170:32:36;;;;;:34;;;;;;;;;;;;;;:32;:34;;;2:2:-1;;;;27:1;24;17:12;2:2;1170:34:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1170:34:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1170:34:36;;;;;;;;;;;;;-1:-1:-1;1170:34:36;;-1:-1:-1;1170:34:36;-1:-1:-1;1218:36:36;;;;;;;;1214:466;;1338:35;;;1481:62;;;1486:39;1506:8;1516;1486:19;:39::i;:::-;:42;-1:-1:-1;;;;;1481:48:36;:62;1461:82;;;;;1607:62;;;1612:39;1632:8;1642;1612:19;:39::i;:::-;:42;-1:-1:-1;;;;;1607:48:36;:62;1587:82;;;;;-1:-1:-1;1214:466:36;646:1040;;;;;;;;:::o;422:121::-;510:25;:15;:25;;422:121::o;1517:243:25:-;1598:16;;:::i;:::-;-1:-1:-1;;;;;1634:15:25;;1626:51;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;-1:-1:-1;;;1626:51:25;;;;;;;;;;;;;;;1694:59;;;;;;;;;;-1:-1:-1;;;;;1704:48:25;;-1:-1:-1;1705:32:25;;;-1:-1:-1;;;;;;;1705:32:25;1704:48;;;;;;-1:-1:-1;;;;;1694:59:25;;;1687:66;;-1:-1:-1;;;1517:243:25:o;434:5362:14:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;434:5362:14;;;:::o;715:470:35:-;804:12;829:14;845;863:26;874:6;882;863:10;:26::i;:::-;1023:32;;;-1:-1:-1;;1023:32:35;;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;1023:32:35;;;;;1013:43;;;;;;-1:-1:-1;;;;;;929:246:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;929:246:35;;;;;;;919:257;;;;;;;;;;-1:-1:-1;;;;;715:470:35:o;281:345::-;356:14;;-1:-1:-1;;;;;406:16:35;;;;;;;;398:66;;;;-1:-1:-1;;;398:66:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;493:15:35;;;;;;;:53;;531:6;539;493:53;;;512:6;520;493:53;474:72;;-1:-1:-1;474:72:35;-1:-1:-1;;;;;;564:20:35;;556:63;;;;;-1:-1:-1;;;556:63:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:345;;;;;:::o", "source": "pragma solidity ^0.6.2;\n\nimport \"openzeppelin-solidity/contracts/access/Ownable.sol\";\nimport \"@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol\";\nimport \"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\";\nimport \"@uniswap/lib/contracts/libraries/FixedPoint.sol\";\nimport \"@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol\";\nimport \"@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol\";\n\ncontract UniswapOracleInstance is Ownable {\n using SafeMath for uint256;\n\n // fixed window oracle that recomputes the average price for the entire period once every period\n // note that the price average is only guaranteed to be over at least 1 period, but may be over a longer period\n\n using FixedPoint for *;\n\n uint256 public constant PERIOD = 24 hours;\n\n IUniswapV2Pair public pair;\n address public token0;\n address public token1;\n address public tokenA;\n bool public firstRun;\n\n uint256 public price0CumulativeLast;\n uint256 public price1CumulativeLast;\n uint256 public runs;\n uint32 public blockTimestampLast;\n FixedPoint.uq112x112 public price0Average;\n FixedPoint.uq112x112 public price1Average;\n\n /**\n@notice the constructor function is fired once during token creation to initialize the oracle contract to a specific token pair\n@param _factory is the address of the Uniswap factory contract\n@param _tokenA is the address of the asset being looked up\n@param _tokenB is the address of the USDC token\n**/\n\n constructor(\n address _factory,\n address _tokenA,\n address _tokenB\n ) public {\n IUniswapV2Pair _pair = IUniswapV2Pair(\n UniswapV2Library.pairFor(_factory, _tokenA, _tokenB)\n );\n tokenA = _tokenA;\n pair = _pair;\n token0 = _pair.token0();\n token1 = _pair.token1();\n if (token0 == _tokenA) {\n price0CumulativeLast = _pair.price0CumulativeLast(); // fetch the current accumulated price value (1 / 0)\n price1CumulativeLast = _pair.price1CumulativeLast();\n } else {\n price0CumulativeLast = _pair.price1CumulativeLast(); // fetch the current accumulated price value (0 / 1)\n price1CumulativeLast = _pair.price0CumulativeLast();\n }\n uint112 reserve0;\n uint112 reserve1;\n (reserve0, reserve1, blockTimestampLast) = _pair.getReserves();\n require(\n reserve0 != 0 && reserve1 != 0,\n \"ExampleOracleSimple: NO_RESERVES\"\n ); // ensure that there's liquidity in the pair\n firstRun = true;\n update();\n firstRun = false;\n }\n\n /**\n@notice update updates the prices for the input token pair over a set 24hour period\n@dev this is an internal function called by consult if the timeElapsed is greater than 24 hours\n**/\n function update() public {\n (\n uint256 price0Cumulative,\n uint256 price1Cumulative,\n uint32 blockTimestamp\n ) = UniswapV2OracleLibrary.currentCumulativePrices(address(pair));\n uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired\n\n //check if this is the first update\n if (timeElapsed >= PERIOD || firstRun == true) {\n // ensure that at least one full period has passed since the last update\n // cumulative price is in (uq112x112 price * seconds) units so we simply wrap it after division by time elapsed\n if (token0 == tokenA) {\n price0Average = FixedPoint.uq112x112(\n uint224(\n (price0Cumulative - price0CumulativeLast) / timeElapsed\n )\n );\n price1Average = FixedPoint.uq112x112(\n uint224(\n (price1Cumulative - price1CumulativeLast) / timeElapsed\n )\n );\n price0CumulativeLast = price0Cumulative;\n price1CumulativeLast = price1Cumulative;\n } else {\n price0Average = FixedPoint.uq112x112(\n uint224(\n (price1Cumulative - price0CumulativeLast) / timeElapsed\n )\n );\n price1Average = FixedPoint.uq112x112(\n uint224(\n (price0Cumulative - price1CumulativeLast) / timeElapsed\n )\n );\n price0CumulativeLast = price1Cumulative;\n price1CumulativeLast = price0Cumulative;\n }\n\n blockTimestampLast = blockTimestamp;\n }\n }\n\n /**\n@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)\n**/\n function consult(uint256 _amount) external returns (uint256 price) {\n update();\n price = price0Average.mul(_amount).decode144();\n }\n\n /**\n @notice consult returns the price of a token in USDC\n @return price is the price of one asset in USDC(example 1WETH in USDC)\n **/\n function viewPrice(uint256 _amount) external view returns (uint256 price) {\n price = price0Average.mul(_amount).decode144();\n }\n\n /**\n@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)\n**/\n function consultUSDC(uint256 _amount) external returns (uint256 price) {\n update();\n price = price1Average.mul(_amount).decode144();\n }\n\n /**\n @notice consult returns the price of a token in USDC\n @return price is the price of one asset in USDC(example 1WETH in USDC)\n **/\n function viewUSDC(uint256 _amount) external view returns (uint256 price) {\n price = price1Average.mul(_amount).decode144();\n }\n}\n", - "sourcePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", + "sourcePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", "ast": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", "exportedSymbols": { "UniswapOracleInstance": [ - 4545 + 4678 ] }, - "id": 4546, + "id": 4679, "nodeType": "SourceUnit", "nodes": [ { - "id": 4199, + "id": 4332, "literals": [ "solidity", "^", @@ -346,10 +346,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 4200, + "id": 4333, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10599, + "scope": 4679, + "sourceUnit": 10762, "src": "25:60:14", "symbolAliases": [], "unitAlias": "" @@ -357,10 +357,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", - "id": 4201, + "id": 4334, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 7033, + "scope": 4679, + "sourceUnit": 7196, "src": "86:69:14", "symbolAliases": [], "unitAlias": "" @@ -368,10 +368,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 4202, + "id": 4335, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 7275, + "scope": 4679, + "sourceUnit": 7438, "src": "156:66:14", "symbolAliases": [], "unitAlias": "" @@ -379,10 +379,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "file": "@uniswap/lib/contracts/libraries/FixedPoint.sol", - "id": 4203, + "id": 4336, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 6810, + "scope": 4679, + "sourceUnit": 6973, "src": "223:57:14", "symbolAliases": [], "unitAlias": "" @@ -390,10 +390,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", "file": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", - "id": 4204, + "id": 4337, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10467, + "scope": 4679, + "sourceUnit": 10630, "src": "281:78:14", "symbolAliases": [], "unitAlias": "" @@ -401,10 +401,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "file": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", - "id": 4205, + "id": 4338, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10360, + "scope": 4679, + "sourceUnit": 10523, "src": "360:72:14", "symbolAliases": [], "unitAlias": "" @@ -416,55 +416,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4206, + "id": 4339, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "468:7:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 4207, + "id": 4340, "nodeType": "InheritanceSpecifier", "src": "468:7:14" } ], "contractDependencies": [ - 10489, - 10598 + 10652, + 10761 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4545, + "id": 4678, "linearizedBaseContracts": [ - 4545, - 10598, - 10489 + 4678, + 10761, + 10652 ], "name": "UniswapOracleInstance", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4210, + "id": 4343, "libraryName": { "contractScope": null, - "id": 4208, + "id": 4341, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "488:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "482:27:14", "typeName": { - "id": 4209, + "id": 4342, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "501:7:14", @@ -475,16 +475,16 @@ } }, { - "id": 4212, + "id": 4345, "libraryName": { "contractScope": null, - "id": 4211, + "id": 4344, "name": "FixedPoint", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "739:10:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedPoint_$6809", + "typeIdentifier": "t_contract$_FixedPoint_$6972", "typeString": "library FixedPoint" } }, @@ -495,12 +495,12 @@ { "constant": true, "functionSelector": "b4d1d795", - "id": 4215, + "id": 4348, "mutability": "constant", "name": "PERIOD", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "762:41:14", "stateVariable": true, "storageLocation": "default", @@ -509,7 +509,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4213, + "id": 4346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "762:7:14", @@ -521,7 +521,7 @@ "value": { "argumentTypes": null, "hexValue": "3234", - "id": 4214, + "id": 4347, "isConstant": false, "isLValue": false, "isPure": true, @@ -541,28 +541,28 @@ { "constant": false, "functionSelector": "a8aa1b31", - "id": 4217, + "id": 4350, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "810:26:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 4216, + "id": 4349, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "810:14:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -572,12 +572,12 @@ { "constant": false, "functionSelector": "0dfe1681", - "id": 4219, + "id": 4352, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "842:21:14", "stateVariable": true, "storageLocation": "default", @@ -586,7 +586,7 @@ "typeString": "address" }, "typeName": { - "id": 4218, + "id": 4351, "name": "address", "nodeType": "ElementaryTypeName", "src": "842:7:14", @@ -602,12 +602,12 @@ { "constant": false, "functionSelector": "d21220a7", - "id": 4221, + "id": 4354, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "869:21:14", "stateVariable": true, "storageLocation": "default", @@ -616,7 +616,7 @@ "typeString": "address" }, "typeName": { - "id": 4220, + "id": 4353, "name": "address", "nodeType": "ElementaryTypeName", "src": "869:7:14", @@ -632,12 +632,12 @@ { "constant": false, "functionSelector": "0fc63d10", - "id": 4223, + "id": 4356, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "896:21:14", "stateVariable": true, "storageLocation": "default", @@ -646,7 +646,7 @@ "typeString": "address" }, "typeName": { - "id": 4222, + "id": 4355, "name": "address", "nodeType": "ElementaryTypeName", "src": "896:7:14", @@ -662,12 +662,12 @@ { "constant": false, "functionSelector": "c3e75bda", - "id": 4225, + "id": 4358, "mutability": "mutable", "name": "firstRun", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "923:20:14", "stateVariable": true, "storageLocation": "default", @@ -676,7 +676,7 @@ "typeString": "bool" }, "typeName": { - "id": 4224, + "id": 4357, "name": "bool", "nodeType": "ElementaryTypeName", "src": "923:4:14", @@ -691,12 +691,12 @@ { "constant": false, "functionSelector": "5909c0d5", - "id": 4227, + "id": 4360, "mutability": "mutable", "name": "price0CumulativeLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "950:35:14", "stateVariable": true, "storageLocation": "default", @@ -705,7 +705,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4226, + "id": 4359, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "950:7:14", @@ -720,12 +720,12 @@ { "constant": false, "functionSelector": "5a3d5493", - "id": 4229, + "id": 4362, "mutability": "mutable", "name": "price1CumulativeLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "991:35:14", "stateVariable": true, "storageLocation": "default", @@ -734,7 +734,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4228, + "id": 4361, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "991:7:14", @@ -749,12 +749,12 @@ { "constant": false, "functionSelector": "b5b24fd4", - "id": 4231, + "id": 4364, "mutability": "mutable", "name": "runs", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1032:19:14", "stateVariable": true, "storageLocation": "default", @@ -763,7 +763,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4230, + "id": 4363, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1032:7:14", @@ -778,12 +778,12 @@ { "constant": false, "functionSelector": "c5700a02", - "id": 4233, + "id": 4366, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1057:32:14", "stateVariable": true, "storageLocation": "default", @@ -792,7 +792,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4232, + "id": 4365, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1057:6:14", @@ -807,28 +807,28 @@ { "constant": false, "functionSelector": "a6bb4539", - "id": 4235, + "id": 4368, "mutability": "mutable", "name": "price0Average", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1095:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 4234, + "id": 4367, "name": "FixedPoint.uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1095:20:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -838,28 +838,28 @@ { "constant": false, "functionSelector": "5e6aaf2c", - "id": 4237, + "id": 4370, "mutability": "mutable", "name": "price1Average", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1142:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 4236, + "id": 4369, "name": "FixedPoint.uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1142:20:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -868,39 +868,39 @@ }, { "body": { - "id": 4345, + "id": 4478, "nodeType": "Block", "src": "1602:1027:14", "statements": [ { "assignments": [ - 4248 + 4381 ], "declarations": [ { "constant": false, - "id": 4248, + "id": 4381, "mutability": "mutable", "name": "_pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "1612:20:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 4247, + "id": 4380, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1612:14:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -908,7 +908,7 @@ "visibility": "internal" } ], - "id": 4257, + "id": 4390, "initialValue": { "argumentTypes": null, "arguments": [ @@ -917,11 +917,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4252, + "id": 4385, "name": "_factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4240, + "referencedDeclaration": 4373, "src": "1688:8:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -930,11 +930,11 @@ }, { "argumentTypes": null, - "id": 4253, + "id": 4386, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1698:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -943,11 +943,11 @@ }, { "argumentTypes": null, - "id": 4254, + "id": 4387, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4244, + "referencedDeclaration": 4377, "src": "1707:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -972,32 +972,32 @@ ], "expression": { "argumentTypes": null, - "id": 4250, + "id": 4383, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1663:16:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 4251, + "id": 4384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "1663:24:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 4255, + "id": 4388, "isConstant": false, "isLValue": false, "isPure": false, @@ -1020,18 +1020,18 @@ "typeString": "address" } ], - "id": 4249, + "id": 4382, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1635:14:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 4256, + "id": 4389, "isConstant": false, "isLValue": false, "isPure": false, @@ -1042,7 +1042,7 @@ "src": "1635:90:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -1052,18 +1052,18 @@ { "expression": { "argumentTypes": null, - "id": 4260, + "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4258, + "id": 4391, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4223, + "referencedDeclaration": 4356, "src": "1735:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1074,11 +1074,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4259, + "id": 4392, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1744:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1091,28 +1091,28 @@ "typeString": "address" } }, - "id": 4261, + "id": 4394, "nodeType": "ExpressionStatement", "src": "1735:16:14" }, { "expression": { "argumentTypes": null, - "id": 4264, + "id": 4397, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4262, + "id": 4395, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4350, "src": "1761:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -1120,42 +1120,42 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4263, + "id": 4396, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1768:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, "src": "1761:12:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4265, + "id": 4398, "nodeType": "ExpressionStatement", "src": "1761:12:14" }, { "expression": { "argumentTypes": null, - "id": 4270, + "id": 4403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4266, + "id": 4399, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "1783:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1171,32 +1171,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4267, + "id": 4400, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1792:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4268, + "id": 4401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "token0", "nodeType": "MemberAccess", - "referencedDeclaration": 7202, + "referencedDeclaration": 7365, "src": "1792:12:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4269, + "id": 4402, "isConstant": false, "isLValue": false, "isPure": false, @@ -1217,25 +1217,25 @@ "typeString": "address" } }, - "id": 4271, + "id": 4404, "nodeType": "ExpressionStatement", "src": "1783:23:14" }, { "expression": { "argumentTypes": null, - "id": 4276, + "id": 4409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4272, + "id": 4405, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4221, + "referencedDeclaration": 4354, "src": "1816:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1251,32 +1251,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4273, + "id": 4406, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1825:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4274, + "id": 4407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "token1", "nodeType": "MemberAccess", - "referencedDeclaration": 7207, + "referencedDeclaration": 7370, "src": "1825:12:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4275, + "id": 4408, "isConstant": false, "isLValue": false, "isPure": false, @@ -1297,7 +1297,7 @@ "typeString": "address" } }, - "id": 4277, + "id": 4410, "nodeType": "ExpressionStatement", "src": "1816:23:14" }, @@ -1308,18 +1308,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4280, + "id": 4413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4278, + "id": 4411, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "1853:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1330,11 +1330,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4279, + "id": 4412, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1863:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1348,25 +1348,25 @@ } }, "falseBody": { - "id": 4306, + "id": 4439, "nodeType": "Block", "src": "2072:194:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4298, + "id": 4431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4294, + "id": 4427, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "2086:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1382,32 +1382,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4295, + "id": 4428, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2109:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4296, + "id": 4429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "2109:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4297, + "id": 4430, "isConstant": false, "isLValue": false, "isPure": false, @@ -1428,25 +1428,25 @@ "typeString": "uint256" } }, - "id": 4299, + "id": 4432, "nodeType": "ExpressionStatement", "src": "2086:51:14" }, { "expression": { "argumentTypes": null, - "id": 4304, + "id": 4437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4300, + "id": 4433, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "2204:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1462,32 +1462,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4301, + "id": 4434, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2227:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4302, + "id": 4435, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "2227:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4303, + "id": 4436, "isConstant": false, "isLValue": false, "isPure": false, @@ -1508,35 +1508,35 @@ "typeString": "uint256" } }, - "id": 4305, + "id": 4438, "nodeType": "ExpressionStatement", "src": "2204:51:14" } ] }, - "id": 4307, + "id": 4440, "nodeType": "IfStatement", "src": "1849:417:14", "trueBody": { - "id": 4293, + "id": 4426, "nodeType": "Block", "src": "1872:194:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4285, + "id": 4418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4281, + "id": 4414, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "1886:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1552,32 +1552,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4282, + "id": 4415, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1909:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4283, + "id": 4416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "1909:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4284, + "id": 4417, "isConstant": false, "isLValue": false, "isPure": false, @@ -1598,25 +1598,25 @@ "typeString": "uint256" } }, - "id": 4286, + "id": 4419, "nodeType": "ExpressionStatement", "src": "1886:51:14" }, { "expression": { "argumentTypes": null, - "id": 4291, + "id": 4424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4287, + "id": 4420, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "2004:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1632,32 +1632,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4288, + "id": 4421, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2027:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4289, + "id": 4422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "2027:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4290, + "id": 4423, "isConstant": false, "isLValue": false, "isPure": false, @@ -1678,7 +1678,7 @@ "typeString": "uint256" } }, - "id": 4292, + "id": 4425, "nodeType": "ExpressionStatement", "src": "2004:51:14" } @@ -1687,17 +1687,17 @@ }, { "assignments": [ - 4309 + 4442 ], "declarations": [ { "constant": false, - "id": 4309, + "id": 4442, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "2275:16:14", "stateVariable": false, "storageLocation": "default", @@ -1706,7 +1706,7 @@ "typeString": "uint112" }, "typeName": { - "id": 4308, + "id": 4441, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "2275:7:14", @@ -1719,24 +1719,24 @@ "visibility": "internal" } ], - "id": 4310, + "id": 4443, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2275:16:14" }, { "assignments": [ - 4312 + 4445 ], "declarations": [ { "constant": false, - "id": 4312, + "id": 4445, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "2301:16:14", "stateVariable": false, "storageLocation": "default", @@ -1745,7 +1745,7 @@ "typeString": "uint112" }, "typeName": { - "id": 4311, + "id": 4444, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "2301:7:14", @@ -1758,7 +1758,7 @@ "visibility": "internal" } ], - "id": 4313, + "id": 4446, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2301:16:14" @@ -1766,7 +1766,7 @@ { "expression": { "argumentTypes": null, - "id": 4321, + "id": 4454, "isConstant": false, "isLValue": false, "isPure": false, @@ -1776,11 +1776,11 @@ "components": [ { "argumentTypes": null, - "id": 4314, + "id": 4447, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4309, + "referencedDeclaration": 4442, "src": "2328:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1789,11 +1789,11 @@ }, { "argumentTypes": null, - "id": 4315, + "id": 4448, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, + "referencedDeclaration": 4445, "src": "2338:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1802,11 +1802,11 @@ }, { "argumentTypes": null, - "id": 4316, + "id": 4449, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "2348:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1814,7 +1814,7 @@ } } ], - "id": 4317, + "id": 4450, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -1836,32 +1836,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4318, + "id": 4451, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2370:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4319, + "id": 4452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "2370:17:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 4320, + "id": 4453, "isConstant": false, "isLValue": false, "isPure": false, @@ -1882,7 +1882,7 @@ "typeString": "tuple()" } }, - "id": 4322, + "id": 4455, "nodeType": "ExpressionStatement", "src": "2327:62:14" }, @@ -1896,7 +1896,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4330, + "id": 4463, "isConstant": false, "isLValue": false, "isPure": false, @@ -1907,18 +1907,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 4326, + "id": 4459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4324, + "id": 4457, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4309, + "referencedDeclaration": 4442, "src": "2420:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1930,7 +1930,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4325, + "id": 4458, "isConstant": false, "isLValue": false, "isPure": true, @@ -1959,18 +1959,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 4329, + "id": 4462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4327, + "id": 4460, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, + "referencedDeclaration": 4445, "src": "2437:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1982,7 +1982,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4328, + "id": 4461, "isConstant": false, "isLValue": false, "isPure": true, @@ -2012,7 +2012,7 @@ { "argumentTypes": null, "hexValue": "4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553", - "id": 4331, + "id": 4464, "isConstant": false, "isLValue": false, "isPure": true, @@ -2039,7 +2039,7 @@ "typeString": "literal_string \"ExampleOracleSimple: NO_RESERVES\"" } ], - "id": 4323, + "id": 4456, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2053,7 +2053,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4332, + "id": 4465, "isConstant": false, "isLValue": false, "isPure": false, @@ -2068,25 +2068,25 @@ "typeString": "tuple()" } }, - "id": 4333, + "id": 4466, "nodeType": "ExpressionStatement", "src": "2399:109:14" }, { "expression": { "argumentTypes": null, - "id": 4336, + "id": 4469, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4334, + "id": 4467, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "2563:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2098,7 +2098,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 4335, + "id": 4468, "isConstant": false, "isLValue": false, "isPure": true, @@ -2119,7 +2119,7 @@ "typeString": "bool" } }, - "id": 4337, + "id": 4470, "nodeType": "ExpressionStatement", "src": "2563:15:14" }, @@ -2129,18 +2129,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4338, + "id": 4471, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "2588:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4339, + "id": 4472, "isConstant": false, "isLValue": false, "isPure": false, @@ -2155,25 +2155,25 @@ "typeString": "tuple()" } }, - "id": 4340, + "id": 4473, "nodeType": "ExpressionStatement", "src": "2588:8:14" }, { "expression": { "argumentTypes": null, - "id": 4343, + "id": 4476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4341, + "id": 4474, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "2606:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2185,7 +2185,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 4342, + "id": 4475, "isConstant": false, "isLValue": false, "isPure": true, @@ -2206,19 +2206,19 @@ "typeString": "bool" } }, - "id": 4344, + "id": 4477, "nodeType": "ExpressionStatement", "src": "2606:16:14" } ] }, "documentation": { - "id": 4238, + "id": 4371, "nodeType": "StructuredDocumentation", "src": "1190:305:14", "text": "@notice the constructor function is fired once during token creation to initialize the oracle contract to a specific token pair\n@param _factory is the address of the Uniswap factory contract\n@param _tokenA is the address of the asset being looked up\n@param _tokenB is the address of the USDC token*" }, - "id": 4346, + "id": 4479, "implemented": true, "kind": "constructor", "modifiers": [], @@ -2226,17 +2226,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4245, + "id": 4378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4240, + "id": 4373, "mutability": "mutable", "name": "_factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1522:16:14", "stateVariable": false, "storageLocation": "default", @@ -2245,7 +2245,7 @@ "typeString": "address" }, "typeName": { - "id": 4239, + "id": 4372, "name": "address", "nodeType": "ElementaryTypeName", "src": "1522:7:14", @@ -2260,12 +2260,12 @@ }, { "constant": false, - "id": 4242, + "id": 4375, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1548:15:14", "stateVariable": false, "storageLocation": "default", @@ -2274,7 +2274,7 @@ "typeString": "address" }, "typeName": { - "id": 4241, + "id": 4374, "name": "address", "nodeType": "ElementaryTypeName", "src": "1548:7:14", @@ -2289,12 +2289,12 @@ }, { "constant": false, - "id": 4244, + "id": 4377, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1573:15:14", "stateVariable": false, "storageLocation": "default", @@ -2303,7 +2303,7 @@ "typeString": "address" }, "typeName": { - "id": 4243, + "id": 4376, "name": "address", "nodeType": "ElementaryTypeName", "src": "1573:7:14", @@ -2320,12 +2320,12 @@ "src": "1512:82:14" }, "returnParameters": { - "id": 4246, + "id": 4379, "nodeType": "ParameterList", "parameters": [], "src": "1602:0:14" }, - "scope": 4545, + "scope": 4678, "src": "1501:1128:14", "stateMutability": "nonpayable", "virtual": false, @@ -2333,25 +2333,25 @@ }, { "body": { - "id": 4465, + "id": 4598, "nodeType": "Block", "src": "2852:1777:14", "statements": [ { "assignments": [ - 4351, - 4353, - 4355 + 4484, + 4486, + 4488 ], "declarations": [ { "constant": false, - "id": 4351, + "id": 4484, "mutability": "mutable", "name": "price0Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2876:24:14", "stateVariable": false, "storageLocation": "default", @@ -2360,7 +2360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4350, + "id": 4483, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2876:7:14", @@ -2374,12 +2374,12 @@ }, { "constant": false, - "id": 4353, + "id": 4486, "mutability": "mutable", "name": "price1Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2914:24:14", "stateVariable": false, "storageLocation": "default", @@ -2388,7 +2388,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4352, + "id": 4485, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2914:7:14", @@ -2402,12 +2402,12 @@ }, { "constant": false, - "id": 4355, + "id": 4488, "mutability": "mutable", "name": "blockTimestamp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2952:21:14", "stateVariable": false, "storageLocation": "default", @@ -2416,7 +2416,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4354, + "id": 4487, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2952:6:14", @@ -2429,7 +2429,7 @@ "visibility": "internal" } ], - "id": 4363, + "id": 4496, "initialValue": { "argumentTypes": null, "arguments": [ @@ -2438,14 +2438,14 @@ "arguments": [ { "argumentTypes": null, - "id": 4360, + "id": 4493, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4350, "src": "3041:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } } @@ -2453,11 +2453,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } ], - "id": 4359, + "id": 4492, "isConstant": false, "isLValue": false, "isPure": true, @@ -2469,7 +2469,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 4358, + "id": 4491, "name": "address", "nodeType": "ElementaryTypeName", "src": "3033:7:14", @@ -2479,7 +2479,7 @@ } } }, - "id": 4361, + "id": 4494, "isConstant": false, "isLValue": false, "isPure": false, @@ -2504,32 +2504,32 @@ ], "expression": { "argumentTypes": null, - "id": 4356, + "id": 4489, "name": "UniswapV2OracleLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10466, + "referencedDeclaration": 10629, "src": "2986:22:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2OracleLibrary_$10466_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2OracleLibrary_$10629_$", "typeString": "type(library UniswapV2OracleLibrary)" } }, - "id": 4357, + "id": 4490, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "currentCumulativePrices", "nodeType": "MemberAccess", - "referencedDeclaration": 10465, + "referencedDeclaration": 10628, "src": "2986:46:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$_t_uint32_$", "typeString": "function (address) view returns (uint256,uint256,uint32)" } }, - "id": 4362, + "id": 4495, "isConstant": false, "isLValue": false, "isPure": false, @@ -2549,17 +2549,17 @@ }, { "assignments": [ - 4365 + 4498 ], "declarations": [ { "constant": false, - "id": 4365, + "id": 4498, "mutability": "mutable", "name": "timeElapsed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "3057:18:14", "stateVariable": false, "storageLocation": "default", @@ -2568,7 +2568,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4364, + "id": 4497, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3057:6:14", @@ -2581,25 +2581,25 @@ "visibility": "internal" } ], - "id": 4369, + "id": 4502, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 4368, + "id": 4501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4366, + "id": 4499, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4355, + "referencedDeclaration": 4488, "src": "3078:14:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2610,11 +2610,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4367, + "id": 4500, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "3095:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2637,7 +2637,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4376, + "id": 4509, "isConstant": false, "isLValue": false, "isPure": false, @@ -2648,18 +2648,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4372, + "id": 4505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4370, + "id": 4503, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3195:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2670,11 +2670,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4371, + "id": 4504, "name": "PERIOD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4215, + "referencedDeclaration": 4348, "src": "3210:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2695,18 +2695,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4375, + "id": 4508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4373, + "id": 4506, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "3220:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2718,7 +2718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "74727565", - "id": 4374, + "id": 4507, "isConstant": false, "isLValue": false, "isPure": true, @@ -2746,11 +2746,11 @@ } }, "falseBody": null, - "id": 4464, + "id": 4597, "nodeType": "IfStatement", "src": "3191:1432:14", "trueBody": { - "id": 4463, + "id": 4596, "nodeType": "Block", "src": "3238:1385:14", "statements": [ @@ -2761,18 +2761,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4379, + "id": 4512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4377, + "id": 4510, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "3465:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2783,11 +2783,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4378, + "id": 4511, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4223, + "referencedDeclaration": 4356, "src": "3475:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2801,28 +2801,28 @@ } }, "falseBody": { - "id": 4457, + "id": 4590, "nodeType": "Block", "src": "4026:537:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4432, + "id": 4565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4419, + "id": 4552, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "4044:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -2840,7 +2840,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4429, + "id": 4562, "isConstant": false, "isLValue": false, "isPure": false, @@ -2854,18 +2854,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4426, + "id": 4559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4424, + "id": 4557, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "4136:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2876,11 +2876,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4425, + "id": 4558, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "4155:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2894,7 +2894,7 @@ } } ], - "id": 4427, + "id": 4560, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -2911,11 +2911,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4428, + "id": 4561, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "4179:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2936,7 +2936,7 @@ "typeString": "uint256" } ], - "id": 4423, + "id": 4556, "isConstant": false, "isLValue": false, "isPure": true, @@ -2948,7 +2948,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4422, + "id": 4555, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "4102:7:14", @@ -2958,7 +2958,7 @@ } } }, - "id": 4430, + "id": 4563, "isConstant": false, "isLValue": false, "isPure": false, @@ -2983,32 +2983,32 @@ ], "expression": { "argumentTypes": null, - "id": 4420, + "id": 4553, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "4060:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4421, + "id": 4554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "4060:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4431, + "id": 4564, "isConstant": false, "isLValue": false, "isPure": false, @@ -3019,38 +3019,38 @@ "src": "4060:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "4044:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4433, + "id": 4566, "nodeType": "ExpressionStatement", "src": "4044:186:14" }, { "expression": { "argumentTypes": null, - "id": 4447, + "id": 4580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4434, + "id": 4567, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "4248:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -3068,7 +3068,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4444, + "id": 4577, "isConstant": false, "isLValue": false, "isPure": false, @@ -3082,18 +3082,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4441, + "id": 4574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4439, + "id": 4572, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "4340:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3104,11 +3104,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4440, + "id": 4573, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "4359:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3122,7 +3122,7 @@ } } ], - "id": 4442, + "id": 4575, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3139,11 +3139,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4443, + "id": 4576, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "4383:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3164,7 +3164,7 @@ "typeString": "uint256" } ], - "id": 4438, + "id": 4571, "isConstant": false, "isLValue": false, "isPure": true, @@ -3176,7 +3176,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4437, + "id": 4570, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "4306:7:14", @@ -3186,7 +3186,7 @@ } } }, - "id": 4445, + "id": 4578, "isConstant": false, "isLValue": false, "isPure": false, @@ -3211,32 +3211,32 @@ ], "expression": { "argumentTypes": null, - "id": 4435, + "id": 4568, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "4264:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4436, + "id": 4569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "4264:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4446, + "id": 4579, "isConstant": false, "isLValue": false, "isPure": false, @@ -3247,35 +3247,35 @@ "src": "4264:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "4248:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4448, + "id": 4581, "nodeType": "ExpressionStatement", "src": "4248:186:14" }, { "expression": { "argumentTypes": null, - "id": 4451, + "id": 4584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4449, + "id": 4582, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "4452:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3286,11 +3286,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4450, + "id": 4583, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "4475:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3303,25 +3303,25 @@ "typeString": "uint256" } }, - "id": 4452, + "id": 4585, "nodeType": "ExpressionStatement", "src": "4452:39:14" }, { "expression": { "argumentTypes": null, - "id": 4455, + "id": 4588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4453, + "id": 4586, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "4509:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3332,11 +3332,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4454, + "id": 4587, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "4532:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3349,38 +3349,38 @@ "typeString": "uint256" } }, - "id": 4456, + "id": 4589, "nodeType": "ExpressionStatement", "src": "4509:39:14" } ] }, - "id": 4458, + "id": 4591, "nodeType": "IfStatement", "src": "3461:1102:14", "trueBody": { - "id": 4418, + "id": 4551, "nodeType": "Block", "src": "3483:537:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4393, + "id": 4526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4380, + "id": 4513, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "3501:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -3398,7 +3398,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4390, + "id": 4523, "isConstant": false, "isLValue": false, "isPure": false, @@ -3412,18 +3412,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4387, + "id": 4520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4385, + "id": 4518, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "3593:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3434,11 +3434,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4386, + "id": 4519, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "3612:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3452,7 +3452,7 @@ } } ], - "id": 4388, + "id": 4521, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3469,11 +3469,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4389, + "id": 4522, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3636:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3494,7 +3494,7 @@ "typeString": "uint256" } ], - "id": 4384, + "id": 4517, "isConstant": false, "isLValue": false, "isPure": true, @@ -3506,7 +3506,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4383, + "id": 4516, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "3559:7:14", @@ -3516,7 +3516,7 @@ } } }, - "id": 4391, + "id": 4524, "isConstant": false, "isLValue": false, "isPure": false, @@ -3541,32 +3541,32 @@ ], "expression": { "argumentTypes": null, - "id": 4381, + "id": 4514, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "3517:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4382, + "id": 4515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "3517:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4392, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": false, @@ -3577,38 +3577,38 @@ "src": "3517:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "3501:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4394, + "id": 4527, "nodeType": "ExpressionStatement", "src": "3501:186:14" }, { "expression": { "argumentTypes": null, - "id": 4408, + "id": 4541, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4395, + "id": 4528, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "3705:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -3626,7 +3626,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4405, + "id": 4538, "isConstant": false, "isLValue": false, "isPure": false, @@ -3640,18 +3640,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4402, + "id": 4535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4400, + "id": 4533, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "3797:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3662,11 +3662,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4401, + "id": 4534, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "3816:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3680,7 +3680,7 @@ } } ], - "id": 4403, + "id": 4536, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3697,11 +3697,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4404, + "id": 4537, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3840:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3722,7 +3722,7 @@ "typeString": "uint256" } ], - "id": 4399, + "id": 4532, "isConstant": false, "isLValue": false, "isPure": true, @@ -3734,7 +3734,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4398, + "id": 4531, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "3763:7:14", @@ -3744,7 +3744,7 @@ } } }, - "id": 4406, + "id": 4539, "isConstant": false, "isLValue": false, "isPure": false, @@ -3769,32 +3769,32 @@ ], "expression": { "argumentTypes": null, - "id": 4396, + "id": 4529, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "3721:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4397, + "id": 4530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "3721:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4407, + "id": 4540, "isConstant": false, "isLValue": false, "isPure": false, @@ -3805,35 +3805,35 @@ "src": "3721:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "3705:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4409, + "id": 4542, "nodeType": "ExpressionStatement", "src": "3705:186:14" }, { "expression": { "argumentTypes": null, - "id": 4412, + "id": 4545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4410, + "id": 4543, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "3909:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3844,11 +3844,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4411, + "id": 4544, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "3932:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3861,25 +3861,25 @@ "typeString": "uint256" } }, - "id": 4413, + "id": 4546, "nodeType": "ExpressionStatement", "src": "3909:39:14" }, { "expression": { "argumentTypes": null, - "id": 4416, + "id": 4549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4414, + "id": 4547, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "3966:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3890,11 +3890,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4415, + "id": 4548, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "3989:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3907,7 +3907,7 @@ "typeString": "uint256" } }, - "id": 4417, + "id": 4550, "nodeType": "ExpressionStatement", "src": "3966:39:14" } @@ -3917,18 +3917,18 @@ { "expression": { "argumentTypes": null, - "id": 4461, + "id": 4594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4459, + "id": 4592, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "4577:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3939,11 +3939,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4460, + "id": 4593, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4355, + "referencedDeclaration": 4488, "src": "4598:14:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3956,7 +3956,7 @@ "typeString": "uint32" } }, - "id": 4462, + "id": 4595, "nodeType": "ExpressionStatement", "src": "4577:35:14" } @@ -3966,13 +3966,13 @@ ] }, "documentation": { - "id": 4347, + "id": 4480, "nodeType": "StructuredDocumentation", "src": "2635:187:14", "text": "@notice update updates the prices for the input token pair over a set 24hour period\n@dev this is an internal function called by consult if the timeElapsed is greater than 24 hours*" }, "functionSelector": "a2e62045", - "id": 4466, + "id": 4599, "implemented": true, "kind": "function", "modifiers": [], @@ -3980,18 +3980,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4348, + "id": 4481, "nodeType": "ParameterList", "parameters": [], "src": "2842:2:14" }, "returnParameters": { - "id": 4349, + "id": 4482, "nodeType": "ParameterList", "parameters": [], "src": "2852:0:14" }, - "scope": 4545, + "scope": 4678, "src": "2827:1802:14", "stateMutability": "nonpayable", "virtual": false, @@ -3999,7 +3999,7 @@ }, { "body": { - "id": 4486, + "id": 4619, "nodeType": "Block", "src": "4838:81:14", "statements": [ @@ -4009,18 +4009,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4474, + "id": 4607, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "4848:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4475, + "id": 4608, "isConstant": false, "isLValue": false, "isPure": false, @@ -4035,25 +4035,25 @@ "typeString": "tuple()" } }, - "id": 4476, + "id": 4609, "nodeType": "ExpressionStatement", "src": "4848:8:14" }, { "expression": { "argumentTypes": null, - "id": 4484, + "id": 4617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4477, + "id": 4610, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4472, + "referencedDeclaration": 4605, "src": "4866:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4072,11 +4072,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4480, + "id": 4613, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4469, + "referencedDeclaration": 4602, "src": "4892:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4093,32 +4093,32 @@ ], "expression": { "argumentTypes": null, - "id": 4478, + "id": 4611, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "4874:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4479, + "id": 4612, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "4874:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4481, + "id": 4614, "isConstant": false, "isLValue": false, "isPure": false, @@ -4129,25 +4129,25 @@ "src": "4874:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4482, + "id": 4615, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "4874:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4483, + "id": 4616, "isConstant": false, "isLValue": false, "isPure": false, @@ -4168,20 +4168,20 @@ "typeString": "uint256" } }, - "id": 4485, + "id": 4618, "nodeType": "ExpressionStatement", "src": "4866:46:14" } ] }, "documentation": { - "id": 4467, + "id": 4600, "nodeType": "StructuredDocumentation", "src": "4635:131:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "61e25d83", - "id": 4487, + "id": 4620, "implemented": true, "kind": "function", "modifiers": [], @@ -4189,17 +4189,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4470, + "id": 4603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4469, + "id": 4602, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4487, + "scope": 4620, "src": "4788:15:14", "stateVariable": false, "storageLocation": "default", @@ -4208,7 +4208,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4468, + "id": 4601, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4788:7:14", @@ -4224,17 +4224,17 @@ "src": "4787:17:14" }, "returnParameters": { - "id": 4473, + "id": 4606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4472, + "id": 4605, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4487, + "scope": 4620, "src": "4823:13:14", "stateVariable": false, "storageLocation": "default", @@ -4243,7 +4243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4471, + "id": 4604, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4823:7:14", @@ -4258,7 +4258,7 @@ ], "src": "4822:15:14" }, - "scope": 4545, + "scope": 4678, "src": "4771:148:14", "stateMutability": "nonpayable", "virtual": false, @@ -4266,25 +4266,25 @@ }, { "body": { - "id": 4504, + "id": 4637, "nodeType": "Block", "src": "5147:63:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4502, + "id": 4635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4495, + "id": 4628, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4493, + "referencedDeclaration": 4626, "src": "5157:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4303,11 +4303,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4498, + "id": 4631, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4490, + "referencedDeclaration": 4623, "src": "5183:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4324,32 +4324,32 @@ ], "expression": { "argumentTypes": null, - "id": 4496, + "id": 4629, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "5165:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4497, + "id": 4630, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5165:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4499, + "id": 4632, "isConstant": false, "isLValue": false, "isPure": false, @@ -4360,25 +4360,25 @@ "src": "5165:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4500, + "id": 4633, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5165:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4501, + "id": 4634, "isConstant": false, "isLValue": false, "isPure": false, @@ -4399,20 +4399,20 @@ "typeString": "uint256" } }, - "id": 4503, + "id": 4636, "nodeType": "ExpressionStatement", "src": "5157:46:14" } ] }, "documentation": { - "id": 4488, + "id": 4621, "nodeType": "StructuredDocumentation", "src": "4925:143:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "e865579f", - "id": 4505, + "id": 4638, "implemented": true, "kind": "function", "modifiers": [], @@ -4420,17 +4420,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4491, + "id": 4624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4490, + "id": 4623, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4505, + "scope": 4638, "src": "5092:15:14", "stateVariable": false, "storageLocation": "default", @@ -4439,7 +4439,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4489, + "id": 4622, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5092:7:14", @@ -4455,17 +4455,17 @@ "src": "5091:17:14" }, "returnParameters": { - "id": 4494, + "id": 4627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4493, + "id": 4626, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4505, + "scope": 4638, "src": "5132:13:14", "stateVariable": false, "storageLocation": "default", @@ -4474,7 +4474,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4492, + "id": 4625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5132:7:14", @@ -4489,7 +4489,7 @@ ], "src": "5131:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5073:137:14", "stateMutability": "view", "virtual": false, @@ -4497,7 +4497,7 @@ }, { "body": { - "id": 4525, + "id": 4658, "nodeType": "Block", "src": "5423:81:14", "statements": [ @@ -4507,18 +4507,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4513, + "id": 4646, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "5433:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4514, + "id": 4647, "isConstant": false, "isLValue": false, "isPure": false, @@ -4533,25 +4533,25 @@ "typeString": "tuple()" } }, - "id": 4515, + "id": 4648, "nodeType": "ExpressionStatement", "src": "5433:8:14" }, { "expression": { "argumentTypes": null, - "id": 4523, + "id": 4656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4516, + "id": 4649, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4511, + "referencedDeclaration": 4644, "src": "5451:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4570,11 +4570,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4519, + "id": 4652, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4641, "src": "5477:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4591,32 +4591,32 @@ ], "expression": { "argumentTypes": null, - "id": 4517, + "id": 4650, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "5459:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4518, + "id": 4651, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5459:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4520, + "id": 4653, "isConstant": false, "isLValue": false, "isPure": false, @@ -4627,25 +4627,25 @@ "src": "5459:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4521, + "id": 4654, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5459:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4522, + "id": 4655, "isConstant": false, "isLValue": false, "isPure": false, @@ -4666,20 +4666,20 @@ "typeString": "uint256" } }, - "id": 4524, + "id": 4657, "nodeType": "ExpressionStatement", "src": "5451:46:14" } ] }, "documentation": { - "id": 4506, + "id": 4639, "nodeType": "StructuredDocumentation", "src": "5216:131:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "0c644d29", - "id": 4526, + "id": 4659, "implemented": true, "kind": "function", "modifiers": [], @@ -4687,17 +4687,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4509, + "id": 4642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4508, + "id": 4641, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4526, + "scope": 4659, "src": "5373:15:14", "stateVariable": false, "storageLocation": "default", @@ -4706,7 +4706,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4507, + "id": 4640, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5373:7:14", @@ -4722,17 +4722,17 @@ "src": "5372:17:14" }, "returnParameters": { - "id": 4512, + "id": 4645, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4511, + "id": 4644, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4526, + "scope": 4659, "src": "5408:13:14", "stateVariable": false, "storageLocation": "default", @@ -4741,7 +4741,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4510, + "id": 4643, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5408:7:14", @@ -4756,7 +4756,7 @@ ], "src": "5407:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5352:152:14", "stateMutability": "nonpayable", "virtual": false, @@ -4764,25 +4764,25 @@ }, { "body": { - "id": 4543, + "id": 4676, "nodeType": "Block", "src": "5731:63:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4541, + "id": 4674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4534, + "id": 4667, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4532, + "referencedDeclaration": 4665, "src": "5741:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4801,11 +4801,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4537, + "id": 4670, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4529, + "referencedDeclaration": 4662, "src": "5767:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4822,32 +4822,32 @@ ], "expression": { "argumentTypes": null, - "id": 4535, + "id": 4668, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "5749:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4536, + "id": 4669, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5749:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4538, + "id": 4671, "isConstant": false, "isLValue": false, "isPure": false, @@ -4858,25 +4858,25 @@ "src": "5749:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4539, + "id": 4672, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5749:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4540, + "id": 4673, "isConstant": false, "isLValue": false, "isPure": false, @@ -4897,20 +4897,20 @@ "typeString": "uint256" } }, - "id": 4542, + "id": 4675, "nodeType": "ExpressionStatement", "src": "5741:46:14" } ] }, "documentation": { - "id": 4527, + "id": 4660, "nodeType": "StructuredDocumentation", "src": "5510:143:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "75309b6e", - "id": 4544, + "id": 4677, "implemented": true, "kind": "function", "modifiers": [], @@ -4918,17 +4918,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4530, + "id": 4663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4529, + "id": 4662, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4544, + "scope": 4677, "src": "5676:15:14", "stateVariable": false, "storageLocation": "default", @@ -4937,7 +4937,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4528, + "id": 4661, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5676:7:14", @@ -4953,17 +4953,17 @@ "src": "5675:17:14" }, "returnParameters": { - "id": 4533, + "id": 4666, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4532, + "id": 4665, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4544, + "scope": 4677, "src": "5716:13:14", "stateVariable": false, "storageLocation": "default", @@ -4972,7 +4972,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4531, + "id": 4664, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5716:7:14", @@ -4987,31 +4987,31 @@ ], "src": "5715:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5658:136:14", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 4546, + "scope": 4679, "src": "434:5362:14" } ], "src": "0:5797:14" }, "legacyAST": { - "absolutePath": "/home/stan36/repos/Askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", + "absolutePath": "/home/memec/code/askolend/AskoLend-contracts/contracts/UniswapOracleInstance.sol", "exportedSymbols": { "UniswapOracleInstance": [ - 4545 + 4678 ] }, - "id": 4546, + "id": 4679, "nodeType": "SourceUnit", "nodes": [ { - "id": 4199, + "id": 4332, "literals": [ "solidity", "^", @@ -5024,10 +5024,10 @@ { "absolutePath": "openzeppelin-solidity/contracts/access/Ownable.sol", "file": "openzeppelin-solidity/contracts/access/Ownable.sol", - "id": 4200, + "id": 4333, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10599, + "scope": 4679, + "sourceUnit": 10762, "src": "25:60:14", "symbolAliases": [], "unitAlias": "" @@ -5035,10 +5035,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", - "id": 4201, + "id": 4334, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 7033, + "scope": 4679, + "sourceUnit": 7196, "src": "86:69:14", "symbolAliases": [], "unitAlias": "" @@ -5046,10 +5046,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 4202, + "id": 4335, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 7275, + "scope": 4679, + "sourceUnit": 7438, "src": "156:66:14", "symbolAliases": [], "unitAlias": "" @@ -5057,10 +5057,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "file": "@uniswap/lib/contracts/libraries/FixedPoint.sol", - "id": 4203, + "id": 4336, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 6810, + "scope": 4679, + "sourceUnit": 6973, "src": "223:57:14", "symbolAliases": [], "unitAlias": "" @@ -5068,10 +5068,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", "file": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", - "id": 4204, + "id": 4337, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10467, + "scope": 4679, + "sourceUnit": 10630, "src": "281:78:14", "symbolAliases": [], "unitAlias": "" @@ -5079,10 +5079,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "file": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", - "id": 4205, + "id": 4338, "nodeType": "ImportDirective", - "scope": 4546, - "sourceUnit": 10360, + "scope": 4679, + "sourceUnit": 10523, "src": "360:72:14", "symbolAliases": [], "unitAlias": "" @@ -5094,55 +5094,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4206, + "id": 4339, "name": "Ownable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10598, + "referencedDeclaration": 10761, "src": "468:7:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$10598", + "typeIdentifier": "t_contract$_Ownable_$10761", "typeString": "contract Ownable" } }, - "id": 4207, + "id": 4340, "nodeType": "InheritanceSpecifier", "src": "468:7:14" } ], "contractDependencies": [ - 10489, - 10598 + 10652, + 10761 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 4545, + "id": 4678, "linearizedBaseContracts": [ - 4545, - 10598, - 10489 + 4678, + 10761, + 10652 ], "name": "UniswapOracleInstance", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4210, + "id": 4343, "libraryName": { "contractScope": null, - "id": 4208, + "id": 4341, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "488:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "482:27:14", "typeName": { - "id": 4209, + "id": 4342, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "501:7:14", @@ -5153,16 +5153,16 @@ } }, { - "id": 4212, + "id": 4345, "libraryName": { "contractScope": null, - "id": 4211, + "id": 4344, "name": "FixedPoint", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "739:10:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedPoint_$6809", + "typeIdentifier": "t_contract$_FixedPoint_$6972", "typeString": "library FixedPoint" } }, @@ -5173,12 +5173,12 @@ { "constant": true, "functionSelector": "b4d1d795", - "id": 4215, + "id": 4348, "mutability": "constant", "name": "PERIOD", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "762:41:14", "stateVariable": true, "storageLocation": "default", @@ -5187,7 +5187,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4213, + "id": 4346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "762:7:14", @@ -5199,7 +5199,7 @@ "value": { "argumentTypes": null, "hexValue": "3234", - "id": 4214, + "id": 4347, "isConstant": false, "isLValue": false, "isPure": true, @@ -5219,28 +5219,28 @@ { "constant": false, "functionSelector": "a8aa1b31", - "id": 4217, + "id": 4350, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "810:26:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 4216, + "id": 4349, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "810:14:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -5250,12 +5250,12 @@ { "constant": false, "functionSelector": "0dfe1681", - "id": 4219, + "id": 4352, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "842:21:14", "stateVariable": true, "storageLocation": "default", @@ -5264,7 +5264,7 @@ "typeString": "address" }, "typeName": { - "id": 4218, + "id": 4351, "name": "address", "nodeType": "ElementaryTypeName", "src": "842:7:14", @@ -5280,12 +5280,12 @@ { "constant": false, "functionSelector": "d21220a7", - "id": 4221, + "id": 4354, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "869:21:14", "stateVariable": true, "storageLocation": "default", @@ -5294,7 +5294,7 @@ "typeString": "address" }, "typeName": { - "id": 4220, + "id": 4353, "name": "address", "nodeType": "ElementaryTypeName", "src": "869:7:14", @@ -5310,12 +5310,12 @@ { "constant": false, "functionSelector": "0fc63d10", - "id": 4223, + "id": 4356, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "896:21:14", "stateVariable": true, "storageLocation": "default", @@ -5324,7 +5324,7 @@ "typeString": "address" }, "typeName": { - "id": 4222, + "id": 4355, "name": "address", "nodeType": "ElementaryTypeName", "src": "896:7:14", @@ -5340,12 +5340,12 @@ { "constant": false, "functionSelector": "c3e75bda", - "id": 4225, + "id": 4358, "mutability": "mutable", "name": "firstRun", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "923:20:14", "stateVariable": true, "storageLocation": "default", @@ -5354,7 +5354,7 @@ "typeString": "bool" }, "typeName": { - "id": 4224, + "id": 4357, "name": "bool", "nodeType": "ElementaryTypeName", "src": "923:4:14", @@ -5369,12 +5369,12 @@ { "constant": false, "functionSelector": "5909c0d5", - "id": 4227, + "id": 4360, "mutability": "mutable", "name": "price0CumulativeLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "950:35:14", "stateVariable": true, "storageLocation": "default", @@ -5383,7 +5383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4226, + "id": 4359, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "950:7:14", @@ -5398,12 +5398,12 @@ { "constant": false, "functionSelector": "5a3d5493", - "id": 4229, + "id": 4362, "mutability": "mutable", "name": "price1CumulativeLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "991:35:14", "stateVariable": true, "storageLocation": "default", @@ -5412,7 +5412,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4228, + "id": 4361, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "991:7:14", @@ -5427,12 +5427,12 @@ { "constant": false, "functionSelector": "b5b24fd4", - "id": 4231, + "id": 4364, "mutability": "mutable", "name": "runs", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1032:19:14", "stateVariable": true, "storageLocation": "default", @@ -5441,7 +5441,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4230, + "id": 4363, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1032:7:14", @@ -5456,12 +5456,12 @@ { "constant": false, "functionSelector": "c5700a02", - "id": 4233, + "id": 4366, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1057:32:14", "stateVariable": true, "storageLocation": "default", @@ -5470,7 +5470,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4232, + "id": 4365, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1057:6:14", @@ -5485,28 +5485,28 @@ { "constant": false, "functionSelector": "a6bb4539", - "id": 4235, + "id": 4368, "mutability": "mutable", "name": "price0Average", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1095:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 4234, + "id": 4367, "name": "FixedPoint.uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1095:20:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -5516,28 +5516,28 @@ { "constant": false, "functionSelector": "5e6aaf2c", - "id": 4237, + "id": 4370, "mutability": "mutable", "name": "price1Average", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4545, + "scope": 4678, "src": "1142:41:14", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112" }, "typeName": { "contractScope": null, - "id": 4236, + "id": 4369, "name": "FixedPoint.uq112x112", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "1142:20:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage_ptr", "typeString": "struct FixedPoint.uq112x112" } }, @@ -5546,39 +5546,39 @@ }, { "body": { - "id": 4345, + "id": 4478, "nodeType": "Block", "src": "1602:1027:14", "statements": [ { "assignments": [ - 4248 + 4381 ], "declarations": [ { "constant": false, - "id": 4248, + "id": 4381, "mutability": "mutable", "name": "_pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "1612:20:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 4247, + "id": 4380, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1612:14:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -5586,7 +5586,7 @@ "visibility": "internal" } ], - "id": 4257, + "id": 4390, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5595,11 +5595,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4252, + "id": 4385, "name": "_factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4240, + "referencedDeclaration": 4373, "src": "1688:8:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5608,11 +5608,11 @@ }, { "argumentTypes": null, - "id": 4253, + "id": 4386, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1698:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5621,11 +5621,11 @@ }, { "argumentTypes": null, - "id": 4254, + "id": 4387, "name": "_tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4244, + "referencedDeclaration": 4377, "src": "1707:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5650,32 +5650,32 @@ ], "expression": { "argumentTypes": null, - "id": 4250, + "id": 4383, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1663:16:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 4251, + "id": 4384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "1663:24:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 4255, + "id": 4388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5698,18 +5698,18 @@ "typeString": "address" } ], - "id": 4249, + "id": 4382, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1635:14:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 4256, + "id": 4389, "isConstant": false, "isLValue": false, "isPure": false, @@ -5720,7 +5720,7 @@ "src": "1635:90:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -5730,18 +5730,18 @@ { "expression": { "argumentTypes": null, - "id": 4260, + "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4258, + "id": 4391, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4223, + "referencedDeclaration": 4356, "src": "1735:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5752,11 +5752,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4259, + "id": 4392, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1744:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5769,28 +5769,28 @@ "typeString": "address" } }, - "id": 4261, + "id": 4394, "nodeType": "ExpressionStatement", "src": "1735:16:14" }, { "expression": { "argumentTypes": null, - "id": 4264, + "id": 4397, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4262, + "id": 4395, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4350, "src": "1761:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -5798,42 +5798,42 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4263, + "id": 4396, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1768:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, "src": "1761:12:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4265, + "id": 4398, "nodeType": "ExpressionStatement", "src": "1761:12:14" }, { "expression": { "argumentTypes": null, - "id": 4270, + "id": 4403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4266, + "id": 4399, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "1783:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5849,32 +5849,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4267, + "id": 4400, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1792:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4268, + "id": 4401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "token0", "nodeType": "MemberAccess", - "referencedDeclaration": 7202, + "referencedDeclaration": 7365, "src": "1792:12:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4269, + "id": 4402, "isConstant": false, "isLValue": false, "isPure": false, @@ -5895,25 +5895,25 @@ "typeString": "address" } }, - "id": 4271, + "id": 4404, "nodeType": "ExpressionStatement", "src": "1783:23:14" }, { "expression": { "argumentTypes": null, - "id": 4276, + "id": 4409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4272, + "id": 4405, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4221, + "referencedDeclaration": 4354, "src": "1816:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5929,32 +5929,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4273, + "id": 4406, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1825:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4274, + "id": 4407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "token1", "nodeType": "MemberAccess", - "referencedDeclaration": 7207, + "referencedDeclaration": 7370, "src": "1825:12:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4275, + "id": 4408, "isConstant": false, "isLValue": false, "isPure": false, @@ -5975,7 +5975,7 @@ "typeString": "address" } }, - "id": 4277, + "id": 4410, "nodeType": "ExpressionStatement", "src": "1816:23:14" }, @@ -5986,18 +5986,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4280, + "id": 4413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4278, + "id": 4411, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "1853:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6008,11 +6008,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4279, + "id": 4412, "name": "_tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4242, + "referencedDeclaration": 4375, "src": "1863:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6026,25 +6026,25 @@ } }, "falseBody": { - "id": 4306, + "id": 4439, "nodeType": "Block", "src": "2072:194:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4298, + "id": 4431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4294, + "id": 4427, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "2086:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6060,32 +6060,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4295, + "id": 4428, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2109:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4296, + "id": 4429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "2109:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4297, + "id": 4430, "isConstant": false, "isLValue": false, "isPure": false, @@ -6106,25 +6106,25 @@ "typeString": "uint256" } }, - "id": 4299, + "id": 4432, "nodeType": "ExpressionStatement", "src": "2086:51:14" }, { "expression": { "argumentTypes": null, - "id": 4304, + "id": 4437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4300, + "id": 4433, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "2204:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6140,32 +6140,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4301, + "id": 4434, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2227:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4302, + "id": 4435, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "2227:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4303, + "id": 4436, "isConstant": false, "isLValue": false, "isPure": false, @@ -6186,35 +6186,35 @@ "typeString": "uint256" } }, - "id": 4305, + "id": 4438, "nodeType": "ExpressionStatement", "src": "2204:51:14" } ] }, - "id": 4307, + "id": 4440, "nodeType": "IfStatement", "src": "1849:417:14", "trueBody": { - "id": 4293, + "id": 4426, "nodeType": "Block", "src": "1872:194:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4285, + "id": 4418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4281, + "id": 4414, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "1886:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6230,32 +6230,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4282, + "id": 4415, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "1909:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4283, + "id": 4416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "1909:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4284, + "id": 4417, "isConstant": false, "isLValue": false, "isPure": false, @@ -6276,25 +6276,25 @@ "typeString": "uint256" } }, - "id": 4286, + "id": 4419, "nodeType": "ExpressionStatement", "src": "1886:51:14" }, { "expression": { "argumentTypes": null, - "id": 4291, + "id": 4424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4287, + "id": 4420, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "2004:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6310,32 +6310,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4288, + "id": 4421, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2027:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4289, + "id": 4422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "2027:26:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 4290, + "id": 4423, "isConstant": false, "isLValue": false, "isPure": false, @@ -6356,7 +6356,7 @@ "typeString": "uint256" } }, - "id": 4292, + "id": 4425, "nodeType": "ExpressionStatement", "src": "2004:51:14" } @@ -6365,17 +6365,17 @@ }, { "assignments": [ - 4309 + 4442 ], "declarations": [ { "constant": false, - "id": 4309, + "id": 4442, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "2275:16:14", "stateVariable": false, "storageLocation": "default", @@ -6384,7 +6384,7 @@ "typeString": "uint112" }, "typeName": { - "id": 4308, + "id": 4441, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "2275:7:14", @@ -6397,24 +6397,24 @@ "visibility": "internal" } ], - "id": 4310, + "id": 4443, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2275:16:14" }, { "assignments": [ - 4312 + 4445 ], "declarations": [ { "constant": false, - "id": 4312, + "id": 4445, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4345, + "scope": 4478, "src": "2301:16:14", "stateVariable": false, "storageLocation": "default", @@ -6423,7 +6423,7 @@ "typeString": "uint112" }, "typeName": { - "id": 4311, + "id": 4444, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "2301:7:14", @@ -6436,7 +6436,7 @@ "visibility": "internal" } ], - "id": 4313, + "id": 4446, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2301:16:14" @@ -6444,7 +6444,7 @@ { "expression": { "argumentTypes": null, - "id": 4321, + "id": 4454, "isConstant": false, "isLValue": false, "isPure": false, @@ -6454,11 +6454,11 @@ "components": [ { "argumentTypes": null, - "id": 4314, + "id": 4447, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4309, + "referencedDeclaration": 4442, "src": "2328:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -6467,11 +6467,11 @@ }, { "argumentTypes": null, - "id": 4315, + "id": 4448, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, + "referencedDeclaration": 4445, "src": "2338:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -6480,11 +6480,11 @@ }, { "argumentTypes": null, - "id": 4316, + "id": 4449, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "2348:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -6492,7 +6492,7 @@ } } ], - "id": 4317, + "id": 4450, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -6514,32 +6514,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4318, + "id": 4451, "name": "_pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4248, + "referencedDeclaration": 4381, "src": "2370:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 4319, + "id": 4452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "2370:17:14", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 4320, + "id": 4453, "isConstant": false, "isLValue": false, "isPure": false, @@ -6560,7 +6560,7 @@ "typeString": "tuple()" } }, - "id": 4322, + "id": 4455, "nodeType": "ExpressionStatement", "src": "2327:62:14" }, @@ -6574,7 +6574,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4330, + "id": 4463, "isConstant": false, "isLValue": false, "isPure": false, @@ -6585,18 +6585,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 4326, + "id": 4459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4324, + "id": 4457, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4309, + "referencedDeclaration": 4442, "src": "2420:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -6608,7 +6608,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4325, + "id": 4458, "isConstant": false, "isLValue": false, "isPure": true, @@ -6637,18 +6637,18 @@ "typeIdentifier": "t_uint112", "typeString": "uint112" }, - "id": 4329, + "id": 4462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4327, + "id": 4460, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, + "referencedDeclaration": 4445, "src": "2437:8:14", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -6660,7 +6660,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 4328, + "id": 4461, "isConstant": false, "isLValue": false, "isPure": true, @@ -6690,7 +6690,7 @@ { "argumentTypes": null, "hexValue": "4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553", - "id": 4331, + "id": 4464, "isConstant": false, "isLValue": false, "isPure": true, @@ -6717,7 +6717,7 @@ "typeString": "literal_string \"ExampleOracleSimple: NO_RESERVES\"" } ], - "id": 4323, + "id": 4456, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6731,7 +6731,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4332, + "id": 4465, "isConstant": false, "isLValue": false, "isPure": false, @@ -6746,25 +6746,25 @@ "typeString": "tuple()" } }, - "id": 4333, + "id": 4466, "nodeType": "ExpressionStatement", "src": "2399:109:14" }, { "expression": { "argumentTypes": null, - "id": 4336, + "id": 4469, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4334, + "id": 4467, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "2563:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6776,7 +6776,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 4335, + "id": 4468, "isConstant": false, "isLValue": false, "isPure": true, @@ -6797,7 +6797,7 @@ "typeString": "bool" } }, - "id": 4337, + "id": 4470, "nodeType": "ExpressionStatement", "src": "2563:15:14" }, @@ -6807,18 +6807,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4338, + "id": 4471, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "2588:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4339, + "id": 4472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6833,25 +6833,25 @@ "typeString": "tuple()" } }, - "id": 4340, + "id": 4473, "nodeType": "ExpressionStatement", "src": "2588:8:14" }, { "expression": { "argumentTypes": null, - "id": 4343, + "id": 4476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4341, + "id": 4474, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "2606:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6863,7 +6863,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 4342, + "id": 4475, "isConstant": false, "isLValue": false, "isPure": true, @@ -6884,19 +6884,19 @@ "typeString": "bool" } }, - "id": 4344, + "id": 4477, "nodeType": "ExpressionStatement", "src": "2606:16:14" } ] }, "documentation": { - "id": 4238, + "id": 4371, "nodeType": "StructuredDocumentation", "src": "1190:305:14", "text": "@notice the constructor function is fired once during token creation to initialize the oracle contract to a specific token pair\n@param _factory is the address of the Uniswap factory contract\n@param _tokenA is the address of the asset being looked up\n@param _tokenB is the address of the USDC token*" }, - "id": 4346, + "id": 4479, "implemented": true, "kind": "constructor", "modifiers": [], @@ -6904,17 +6904,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4245, + "id": 4378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4240, + "id": 4373, "mutability": "mutable", "name": "_factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1522:16:14", "stateVariable": false, "storageLocation": "default", @@ -6923,7 +6923,7 @@ "typeString": "address" }, "typeName": { - "id": 4239, + "id": 4372, "name": "address", "nodeType": "ElementaryTypeName", "src": "1522:7:14", @@ -6938,12 +6938,12 @@ }, { "constant": false, - "id": 4242, + "id": 4375, "mutability": "mutable", "name": "_tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1548:15:14", "stateVariable": false, "storageLocation": "default", @@ -6952,7 +6952,7 @@ "typeString": "address" }, "typeName": { - "id": 4241, + "id": 4374, "name": "address", "nodeType": "ElementaryTypeName", "src": "1548:7:14", @@ -6967,12 +6967,12 @@ }, { "constant": false, - "id": 4244, + "id": 4377, "mutability": "mutable", "name": "_tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4346, + "scope": 4479, "src": "1573:15:14", "stateVariable": false, "storageLocation": "default", @@ -6981,7 +6981,7 @@ "typeString": "address" }, "typeName": { - "id": 4243, + "id": 4376, "name": "address", "nodeType": "ElementaryTypeName", "src": "1573:7:14", @@ -6998,12 +6998,12 @@ "src": "1512:82:14" }, "returnParameters": { - "id": 4246, + "id": 4379, "nodeType": "ParameterList", "parameters": [], "src": "1602:0:14" }, - "scope": 4545, + "scope": 4678, "src": "1501:1128:14", "stateMutability": "nonpayable", "virtual": false, @@ -7011,25 +7011,25 @@ }, { "body": { - "id": 4465, + "id": 4598, "nodeType": "Block", "src": "2852:1777:14", "statements": [ { "assignments": [ - 4351, - 4353, - 4355 + 4484, + 4486, + 4488 ], "declarations": [ { "constant": false, - "id": 4351, + "id": 4484, "mutability": "mutable", "name": "price0Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2876:24:14", "stateVariable": false, "storageLocation": "default", @@ -7038,7 +7038,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4350, + "id": 4483, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2876:7:14", @@ -7052,12 +7052,12 @@ }, { "constant": false, - "id": 4353, + "id": 4486, "mutability": "mutable", "name": "price1Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2914:24:14", "stateVariable": false, "storageLocation": "default", @@ -7066,7 +7066,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4352, + "id": 4485, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2914:7:14", @@ -7080,12 +7080,12 @@ }, { "constant": false, - "id": 4355, + "id": 4488, "mutability": "mutable", "name": "blockTimestamp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "2952:21:14", "stateVariable": false, "storageLocation": "default", @@ -7094,7 +7094,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4354, + "id": 4487, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2952:6:14", @@ -7107,7 +7107,7 @@ "visibility": "internal" } ], - "id": 4363, + "id": 4496, "initialValue": { "argumentTypes": null, "arguments": [ @@ -7116,14 +7116,14 @@ "arguments": [ { "argumentTypes": null, - "id": 4360, + "id": 4493, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4217, + "referencedDeclaration": 4350, "src": "3041:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } } @@ -7131,11 +7131,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } ], - "id": 4359, + "id": 4492, "isConstant": false, "isLValue": false, "isPure": true, @@ -7147,7 +7147,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 4358, + "id": 4491, "name": "address", "nodeType": "ElementaryTypeName", "src": "3033:7:14", @@ -7157,7 +7157,7 @@ } } }, - "id": 4361, + "id": 4494, "isConstant": false, "isLValue": false, "isPure": false, @@ -7182,32 +7182,32 @@ ], "expression": { "argumentTypes": null, - "id": 4356, + "id": 4489, "name": "UniswapV2OracleLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10466, + "referencedDeclaration": 10629, "src": "2986:22:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2OracleLibrary_$10466_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2OracleLibrary_$10629_$", "typeString": "type(library UniswapV2OracleLibrary)" } }, - "id": 4357, + "id": 4490, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "currentCumulativePrices", "nodeType": "MemberAccess", - "referencedDeclaration": 10465, + "referencedDeclaration": 10628, "src": "2986:46:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$_t_uint32_$", "typeString": "function (address) view returns (uint256,uint256,uint32)" } }, - "id": 4362, + "id": 4495, "isConstant": false, "isLValue": false, "isPure": false, @@ -7227,17 +7227,17 @@ }, { "assignments": [ - 4365 + 4498 ], "declarations": [ { "constant": false, - "id": 4365, + "id": 4498, "mutability": "mutable", "name": "timeElapsed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4465, + "scope": 4598, "src": "3057:18:14", "stateVariable": false, "storageLocation": "default", @@ -7246,7 +7246,7 @@ "typeString": "uint32" }, "typeName": { - "id": 4364, + "id": 4497, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3057:6:14", @@ -7259,25 +7259,25 @@ "visibility": "internal" } ], - "id": 4369, + "id": 4502, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 4368, + "id": 4501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4366, + "id": 4499, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4355, + "referencedDeclaration": 4488, "src": "3078:14:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -7288,11 +7288,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4367, + "id": 4500, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "3095:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -7315,7 +7315,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4376, + "id": 4509, "isConstant": false, "isLValue": false, "isPure": false, @@ -7326,18 +7326,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4372, + "id": 4505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4370, + "id": 4503, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3195:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -7348,11 +7348,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 4371, + "id": 4504, "name": "PERIOD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4215, + "referencedDeclaration": 4348, "src": "3210:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7373,18 +7373,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 4375, + "id": 4508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4373, + "id": 4506, "name": "firstRun", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4225, + "referencedDeclaration": 4358, "src": "3220:8:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7396,7 +7396,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "74727565", - "id": 4374, + "id": 4507, "isConstant": false, "isLValue": false, "isPure": true, @@ -7424,11 +7424,11 @@ } }, "falseBody": null, - "id": 4464, + "id": 4597, "nodeType": "IfStatement", "src": "3191:1432:14", "trueBody": { - "id": 4463, + "id": 4596, "nodeType": "Block", "src": "3238:1385:14", "statements": [ @@ -7439,18 +7439,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4379, + "id": 4512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4377, + "id": 4510, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4219, + "referencedDeclaration": 4352, "src": "3465:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7461,11 +7461,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 4378, + "id": 4511, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4223, + "referencedDeclaration": 4356, "src": "3475:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7479,28 +7479,28 @@ } }, "falseBody": { - "id": 4457, + "id": 4590, "nodeType": "Block", "src": "4026:537:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4432, + "id": 4565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4419, + "id": 4552, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "4044:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -7518,7 +7518,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4429, + "id": 4562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7532,18 +7532,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4426, + "id": 4559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4424, + "id": 4557, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "4136:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7554,11 +7554,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4425, + "id": 4558, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "4155:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7572,7 +7572,7 @@ } } ], - "id": 4427, + "id": 4560, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7589,11 +7589,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4428, + "id": 4561, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "4179:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -7614,7 +7614,7 @@ "typeString": "uint256" } ], - "id": 4423, + "id": 4556, "isConstant": false, "isLValue": false, "isPure": true, @@ -7626,7 +7626,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4422, + "id": 4555, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "4102:7:14", @@ -7636,7 +7636,7 @@ } } }, - "id": 4430, + "id": 4563, "isConstant": false, "isLValue": false, "isPure": false, @@ -7661,32 +7661,32 @@ ], "expression": { "argumentTypes": null, - "id": 4420, + "id": 4553, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "4060:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4421, + "id": 4554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "4060:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4431, + "id": 4564, "isConstant": false, "isLValue": false, "isPure": false, @@ -7697,38 +7697,38 @@ "src": "4060:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "4044:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4433, + "id": 4566, "nodeType": "ExpressionStatement", "src": "4044:186:14" }, { "expression": { "argumentTypes": null, - "id": 4447, + "id": 4580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4434, + "id": 4567, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "4248:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -7746,7 +7746,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4444, + "id": 4577, "isConstant": false, "isLValue": false, "isPure": false, @@ -7760,18 +7760,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4441, + "id": 4574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4439, + "id": 4572, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "4340:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7782,11 +7782,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4440, + "id": 4573, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "4359:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7800,7 +7800,7 @@ } } ], - "id": 4442, + "id": 4575, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7817,11 +7817,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4443, + "id": 4576, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "4383:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -7842,7 +7842,7 @@ "typeString": "uint256" } ], - "id": 4438, + "id": 4571, "isConstant": false, "isLValue": false, "isPure": true, @@ -7854,7 +7854,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4437, + "id": 4570, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "4306:7:14", @@ -7864,7 +7864,7 @@ } } }, - "id": 4445, + "id": 4578, "isConstant": false, "isLValue": false, "isPure": false, @@ -7889,32 +7889,32 @@ ], "expression": { "argumentTypes": null, - "id": 4435, + "id": 4568, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "4264:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4436, + "id": 4569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "4264:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4446, + "id": 4579, "isConstant": false, "isLValue": false, "isPure": false, @@ -7925,35 +7925,35 @@ "src": "4264:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "4248:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4448, + "id": 4581, "nodeType": "ExpressionStatement", "src": "4248:186:14" }, { "expression": { "argumentTypes": null, - "id": 4451, + "id": 4584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4449, + "id": 4582, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "4452:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7964,11 +7964,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4450, + "id": 4583, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "4475:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7981,25 +7981,25 @@ "typeString": "uint256" } }, - "id": 4452, + "id": 4585, "nodeType": "ExpressionStatement", "src": "4452:39:14" }, { "expression": { "argumentTypes": null, - "id": 4455, + "id": 4588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4453, + "id": 4586, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "4509:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8010,11 +8010,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4454, + "id": 4587, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "4532:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8027,38 +8027,38 @@ "typeString": "uint256" } }, - "id": 4456, + "id": 4589, "nodeType": "ExpressionStatement", "src": "4509:39:14" } ] }, - "id": 4458, + "id": 4591, "nodeType": "IfStatement", "src": "3461:1102:14", "trueBody": { - "id": 4418, + "id": 4551, "nodeType": "Block", "src": "3483:537:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4393, + "id": 4526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4380, + "id": 4513, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "3501:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -8076,7 +8076,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4390, + "id": 4523, "isConstant": false, "isLValue": false, "isPure": false, @@ -8090,18 +8090,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4387, + "id": 4520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4385, + "id": 4518, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "3593:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8112,11 +8112,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4386, + "id": 4519, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "3612:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8130,7 +8130,7 @@ } } ], - "id": 4388, + "id": 4521, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8147,11 +8147,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4389, + "id": 4522, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3636:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -8172,7 +8172,7 @@ "typeString": "uint256" } ], - "id": 4384, + "id": 4517, "isConstant": false, "isLValue": false, "isPure": true, @@ -8184,7 +8184,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4383, + "id": 4516, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "3559:7:14", @@ -8194,7 +8194,7 @@ } } }, - "id": 4391, + "id": 4524, "isConstant": false, "isLValue": false, "isPure": false, @@ -8219,32 +8219,32 @@ ], "expression": { "argumentTypes": null, - "id": 4381, + "id": 4514, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "3517:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4382, + "id": 4515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "3517:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4392, + "id": 4525, "isConstant": false, "isLValue": false, "isPure": false, @@ -8255,38 +8255,38 @@ "src": "3517:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "3501:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4394, + "id": 4527, "nodeType": "ExpressionStatement", "src": "3501:186:14" }, { "expression": { "argumentTypes": null, - "id": 4408, + "id": 4541, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4395, + "id": 4528, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "3705:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, @@ -8304,7 +8304,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4405, + "id": 4538, "isConstant": false, "isLValue": false, "isPure": false, @@ -8318,18 +8318,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4402, + "id": 4535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4400, + "id": 4533, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "3797:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8340,11 +8340,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 4401, + "id": 4534, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "3816:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8358,7 +8358,7 @@ } } ], - "id": 4403, + "id": 4536, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8375,11 +8375,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 4404, + "id": 4537, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4365, + "referencedDeclaration": 4498, "src": "3840:11:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -8400,7 +8400,7 @@ "typeString": "uint256" } ], - "id": 4399, + "id": 4532, "isConstant": false, "isLValue": false, "isPure": true, @@ -8412,7 +8412,7 @@ "typeString": "type(uint224)" }, "typeName": { - "id": 4398, + "id": 4531, "name": "uint224", "nodeType": "ElementaryTypeName", "src": "3763:7:14", @@ -8422,7 +8422,7 @@ } } }, - "id": 4406, + "id": 4539, "isConstant": false, "isLValue": false, "isPure": false, @@ -8447,32 +8447,32 @@ ], "expression": { "argumentTypes": null, - "id": 4396, + "id": 4529, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "3721:10:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 4397, + "id": 4530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "uq112x112", "nodeType": "MemberAccess", - "referencedDeclaration": 6637, + "referencedDeclaration": 6800, "src": "3721:20:14", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_uq112x112_$6637_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_uq112x112_$6800_storage_ptr_$", "typeString": "type(struct FixedPoint.uq112x112 storage pointer)" } }, - "id": 4407, + "id": 4540, "isConstant": false, "isLValue": false, "isPure": false, @@ -8483,35 +8483,35 @@ "src": "3721:170:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, "src": "3705:186:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4409, + "id": 4542, "nodeType": "ExpressionStatement", "src": "3705:186:14" }, { "expression": { "argumentTypes": null, - "id": 4412, + "id": 4545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4410, + "id": 4543, "name": "price0CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4227, + "referencedDeclaration": 4360, "src": "3909:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8522,11 +8522,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4411, + "id": 4544, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4351, + "referencedDeclaration": 4484, "src": "3932:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8539,25 +8539,25 @@ "typeString": "uint256" } }, - "id": 4413, + "id": 4546, "nodeType": "ExpressionStatement", "src": "3909:39:14" }, { "expression": { "argumentTypes": null, - "id": 4416, + "id": 4549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4414, + "id": 4547, "name": "price1CumulativeLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4229, + "referencedDeclaration": 4362, "src": "3966:20:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8568,11 +8568,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4415, + "id": 4548, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4353, + "referencedDeclaration": 4486, "src": "3989:16:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8585,7 +8585,7 @@ "typeString": "uint256" } }, - "id": 4417, + "id": 4550, "nodeType": "ExpressionStatement", "src": "3966:39:14" } @@ -8595,18 +8595,18 @@ { "expression": { "argumentTypes": null, - "id": 4461, + "id": 4594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4459, + "id": 4592, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4233, + "referencedDeclaration": 4366, "src": "4577:18:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -8617,11 +8617,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4460, + "id": 4593, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4355, + "referencedDeclaration": 4488, "src": "4598:14:14", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -8634,7 +8634,7 @@ "typeString": "uint32" } }, - "id": 4462, + "id": 4595, "nodeType": "ExpressionStatement", "src": "4577:35:14" } @@ -8644,13 +8644,13 @@ ] }, "documentation": { - "id": 4347, + "id": 4480, "nodeType": "StructuredDocumentation", "src": "2635:187:14", "text": "@notice update updates the prices for the input token pair over a set 24hour period\n@dev this is an internal function called by consult if the timeElapsed is greater than 24 hours*" }, "functionSelector": "a2e62045", - "id": 4466, + "id": 4599, "implemented": true, "kind": "function", "modifiers": [], @@ -8658,18 +8658,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4348, + "id": 4481, "nodeType": "ParameterList", "parameters": [], "src": "2842:2:14" }, "returnParameters": { - "id": 4349, + "id": 4482, "nodeType": "ParameterList", "parameters": [], "src": "2852:0:14" }, - "scope": 4545, + "scope": 4678, "src": "2827:1802:14", "stateMutability": "nonpayable", "virtual": false, @@ -8677,7 +8677,7 @@ }, { "body": { - "id": 4486, + "id": 4619, "nodeType": "Block", "src": "4838:81:14", "statements": [ @@ -8687,18 +8687,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4474, + "id": 4607, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "4848:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4475, + "id": 4608, "isConstant": false, "isLValue": false, "isPure": false, @@ -8713,25 +8713,25 @@ "typeString": "tuple()" } }, - "id": 4476, + "id": 4609, "nodeType": "ExpressionStatement", "src": "4848:8:14" }, { "expression": { "argumentTypes": null, - "id": 4484, + "id": 4617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4477, + "id": 4610, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4472, + "referencedDeclaration": 4605, "src": "4866:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8750,11 +8750,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4480, + "id": 4613, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4469, + "referencedDeclaration": 4602, "src": "4892:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8771,32 +8771,32 @@ ], "expression": { "argumentTypes": null, - "id": 4478, + "id": 4611, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "4874:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4479, + "id": 4612, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "4874:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4481, + "id": 4614, "isConstant": false, "isLValue": false, "isPure": false, @@ -8807,25 +8807,25 @@ "src": "4874:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4482, + "id": 4615, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "4874:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4483, + "id": 4616, "isConstant": false, "isLValue": false, "isPure": false, @@ -8846,20 +8846,20 @@ "typeString": "uint256" } }, - "id": 4485, + "id": 4618, "nodeType": "ExpressionStatement", "src": "4866:46:14" } ] }, "documentation": { - "id": 4467, + "id": 4600, "nodeType": "StructuredDocumentation", "src": "4635:131:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "61e25d83", - "id": 4487, + "id": 4620, "implemented": true, "kind": "function", "modifiers": [], @@ -8867,17 +8867,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4470, + "id": 4603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4469, + "id": 4602, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4487, + "scope": 4620, "src": "4788:15:14", "stateVariable": false, "storageLocation": "default", @@ -8886,7 +8886,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4468, + "id": 4601, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4788:7:14", @@ -8902,17 +8902,17 @@ "src": "4787:17:14" }, "returnParameters": { - "id": 4473, + "id": 4606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4472, + "id": 4605, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4487, + "scope": 4620, "src": "4823:13:14", "stateVariable": false, "storageLocation": "default", @@ -8921,7 +8921,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4471, + "id": 4604, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4823:7:14", @@ -8936,7 +8936,7 @@ ], "src": "4822:15:14" }, - "scope": 4545, + "scope": 4678, "src": "4771:148:14", "stateMutability": "nonpayable", "virtual": false, @@ -8944,25 +8944,25 @@ }, { "body": { - "id": 4504, + "id": 4637, "nodeType": "Block", "src": "5147:63:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4502, + "id": 4635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4495, + "id": 4628, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4493, + "referencedDeclaration": 4626, "src": "5157:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8981,11 +8981,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4498, + "id": 4631, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4490, + "referencedDeclaration": 4623, "src": "5183:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9002,32 +9002,32 @@ ], "expression": { "argumentTypes": null, - "id": 4496, + "id": 4629, "name": "price0Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4235, + "referencedDeclaration": 4368, "src": "5165:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4497, + "id": 4630, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5165:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4499, + "id": 4632, "isConstant": false, "isLValue": false, "isPure": false, @@ -9038,25 +9038,25 @@ "src": "5165:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4500, + "id": 4633, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5165:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4501, + "id": 4634, "isConstant": false, "isLValue": false, "isPure": false, @@ -9077,20 +9077,20 @@ "typeString": "uint256" } }, - "id": 4503, + "id": 4636, "nodeType": "ExpressionStatement", "src": "5157:46:14" } ] }, "documentation": { - "id": 4488, + "id": 4621, "nodeType": "StructuredDocumentation", "src": "4925:143:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "e865579f", - "id": 4505, + "id": 4638, "implemented": true, "kind": "function", "modifiers": [], @@ -9098,17 +9098,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4491, + "id": 4624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4490, + "id": 4623, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4505, + "scope": 4638, "src": "5092:15:14", "stateVariable": false, "storageLocation": "default", @@ -9117,7 +9117,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4489, + "id": 4622, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5092:7:14", @@ -9133,17 +9133,17 @@ "src": "5091:17:14" }, "returnParameters": { - "id": 4494, + "id": 4627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4493, + "id": 4626, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4505, + "scope": 4638, "src": "5132:13:14", "stateVariable": false, "storageLocation": "default", @@ -9152,7 +9152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4492, + "id": 4625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5132:7:14", @@ -9167,7 +9167,7 @@ ], "src": "5131:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5073:137:14", "stateMutability": "view", "virtual": false, @@ -9175,7 +9175,7 @@ }, { "body": { - "id": 4525, + "id": 4658, "nodeType": "Block", "src": "5423:81:14", "statements": [ @@ -9185,18 +9185,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4513, + "id": 4646, "name": "update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4466, + "referencedDeclaration": 4599, "src": "5433:6:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4514, + "id": 4647, "isConstant": false, "isLValue": false, "isPure": false, @@ -9211,25 +9211,25 @@ "typeString": "tuple()" } }, - "id": 4515, + "id": 4648, "nodeType": "ExpressionStatement", "src": "5433:8:14" }, { "expression": { "argumentTypes": null, - "id": 4523, + "id": 4656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4516, + "id": 4649, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4511, + "referencedDeclaration": 4644, "src": "5451:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9248,11 +9248,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4519, + "id": 4652, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4508, + "referencedDeclaration": 4641, "src": "5477:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9269,32 +9269,32 @@ ], "expression": { "argumentTypes": null, - "id": 4517, + "id": 4650, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "5459:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4518, + "id": 4651, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5459:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4520, + "id": 4653, "isConstant": false, "isLValue": false, "isPure": false, @@ -9305,25 +9305,25 @@ "src": "5459:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4521, + "id": 4654, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5459:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4522, + "id": 4655, "isConstant": false, "isLValue": false, "isPure": false, @@ -9344,20 +9344,20 @@ "typeString": "uint256" } }, - "id": 4524, + "id": 4657, "nodeType": "ExpressionStatement", "src": "5451:46:14" } ] }, "documentation": { - "id": 4506, + "id": 4639, "nodeType": "StructuredDocumentation", "src": "5216:131:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "0c644d29", - "id": 4526, + "id": 4659, "implemented": true, "kind": "function", "modifiers": [], @@ -9365,17 +9365,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4509, + "id": 4642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4508, + "id": 4641, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4526, + "scope": 4659, "src": "5373:15:14", "stateVariable": false, "storageLocation": "default", @@ -9384,7 +9384,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4507, + "id": 4640, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5373:7:14", @@ -9400,17 +9400,17 @@ "src": "5372:17:14" }, "returnParameters": { - "id": 4512, + "id": 4645, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4511, + "id": 4644, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4526, + "scope": 4659, "src": "5408:13:14", "stateVariable": false, "storageLocation": "default", @@ -9419,7 +9419,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4510, + "id": 4643, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5408:7:14", @@ -9434,7 +9434,7 @@ ], "src": "5407:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5352:152:14", "stateMutability": "nonpayable", "virtual": false, @@ -9442,25 +9442,25 @@ }, { "body": { - "id": 4543, + "id": 4676, "nodeType": "Block", "src": "5731:63:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 4541, + "id": 4674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4534, + "id": 4667, "name": "price", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4532, + "referencedDeclaration": 4665, "src": "5741:5:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9479,11 +9479,11 @@ "arguments": [ { "argumentTypes": null, - "id": 4537, + "id": 4670, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4529, + "referencedDeclaration": 4662, "src": "5767:7:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9500,32 +9500,32 @@ ], "expression": { "argumentTypes": null, - "id": 4535, + "id": 4668, "name": "price1Average", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4237, + "referencedDeclaration": 4370, "src": "5749:13:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_storage", + "typeIdentifier": "t_struct$_uq112x112_$6800_storage", "typeString": "struct FixedPoint.uq112x112 storage ref" } }, - "id": 4536, + "id": 4669, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 6747, + "referencedDeclaration": 6910, "src": "5749:17:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6637_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6640_memory_ptr_$bound_to$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq112x112_$6800_memory_ptr_$_t_uint256_$returns$_t_struct$_uq144x112_$6803_memory_ptr_$bound_to$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (struct FixedPoint.uq112x112 memory,uint256) pure returns (struct FixedPoint.uq144x112 memory)" } }, - "id": 4538, + "id": 4671, "isConstant": false, "isLValue": false, "isPure": false, @@ -9536,25 +9536,25 @@ "src": "5749:26:14", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq144x112_$6640_memory_ptr", + "typeIdentifier": "t_struct$_uq144x112_$6803_memory_ptr", "typeString": "struct FixedPoint.uq144x112 memory" } }, - "id": 4539, + "id": 4672, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decode144", "nodeType": "MemberAccess", - "referencedDeclaration": 6808, + "referencedDeclaration": 6971, "src": "5749:36:14", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6640_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6640_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_uq144x112_$6803_memory_ptr_$returns$_t_uint144_$bound_to$_t_struct$_uq144x112_$6803_memory_ptr_$", "typeString": "function (struct FixedPoint.uq144x112 memory) pure returns (uint144)" } }, - "id": 4540, + "id": 4673, "isConstant": false, "isLValue": false, "isPure": false, @@ -9575,20 +9575,20 @@ "typeString": "uint256" } }, - "id": 4542, + "id": 4675, "nodeType": "ExpressionStatement", "src": "5741:46:14" } ] }, "documentation": { - "id": 4527, + "id": 4660, "nodeType": "StructuredDocumentation", "src": "5510:143:14", "text": "@notice consult returns the price of a token in USDC\n@return price is the price of one asset in USDC(example 1WETH in USDC)*" }, "functionSelector": "75309b6e", - "id": 4544, + "id": 4677, "implemented": true, "kind": "function", "modifiers": [], @@ -9596,17 +9596,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 4530, + "id": 4663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4529, + "id": 4662, "mutability": "mutable", "name": "_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4544, + "scope": 4677, "src": "5676:15:14", "stateVariable": false, "storageLocation": "default", @@ -9615,7 +9615,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4528, + "id": 4661, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5676:7:14", @@ -9631,17 +9631,17 @@ "src": "5675:17:14" }, "returnParameters": { - "id": 4533, + "id": 4666, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4532, + "id": 4665, "mutability": "mutable", "name": "price", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 4544, + "scope": 4677, "src": "5716:13:14", "stateVariable": false, "storageLocation": "default", @@ -9650,7 +9650,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4531, + "id": 4664, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5716:7:14", @@ -9665,14 +9665,14 @@ ], "src": "5715:15:14" }, - "scope": 4545, + "scope": 4678, "src": "5658:136:14", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 4546, + "scope": 4679, "src": "434:5362:14" } ], @@ -9684,7 +9684,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:17.980Z", + "updatedAt": "2020-12-12T01:13:52.497Z", "devdoc": { "methods": { "constructor": { diff --git a/AskoLend-contracts/build/contracts/UniswapV2Library.json b/AskoLend-contracts/build/contracts/UniswapV2Library.json index 822f554f..6fe51fe5 100644 --- a/AskoLend-contracts/build/contracts/UniswapV2Library.json +++ b/AskoLend-contracts/build/contracts/UniswapV2Library.json @@ -13,14 +13,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "exportedSymbols": { "UniswapV2Library": [ - 10359 + 10522 ] }, - "id": 10360, + "id": 10523, "nodeType": "SourceUnit", "nodes": [ { - "id": 9889, + "id": 10052, "literals": [ "solidity", ">=", @@ -33,10 +33,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 9890, + "id": 10053, "nodeType": "ImportDirective", - "scope": 10360, - "sourceUnit": 7275, + "scope": 10523, + "sourceUnit": 7438, "src": "26:66:35", "symbolAliases": [], "unitAlias": "" @@ -44,10 +44,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/SafeMath.sol", "file": "./SafeMath.sol", - "id": 9891, + "id": 10054, "nodeType": "ImportDirective", - "scope": 10360, - "sourceUnit": 9888, + "scope": 10523, + "sourceUnit": 10051, "src": "94:24:35", "symbolAliases": [], "unitAlias": "" @@ -59,31 +59,31 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 10359, + "id": 10522, "linearizedBaseContracts": [ - 10359 + 10522 ], "name": "UniswapV2Library", "nodeType": "ContractDefinition", "nodes": [ { - "id": 9894, + "id": 10057, "libraryName": { "contractScope": null, - "id": 9892, + "id": 10055, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "157:8:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "151:24:35", "typeName": { - "id": 9893, + "id": 10056, "name": "uint", "nodeType": "ElementaryTypeName", "src": "170:4:35", @@ -95,7 +95,7 @@ }, { "body": { - "id": 9937, + "id": 10100, "nodeType": "Block", "src": "388:238:35", "statements": [ @@ -109,18 +109,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9908, + "id": 10071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9906, + "id": 10069, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "406:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131,11 +131,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 9907, + "id": 10070, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "416:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151,7 +151,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", - "id": 9909, + "id": 10072, "isConstant": false, "isLValue": false, "isPure": true, @@ -178,7 +178,7 @@ "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], - "id": 9905, + "id": 10068, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -192,7 +192,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9910, + "id": 10073, "isConstant": false, "isLValue": false, "isPure": false, @@ -207,14 +207,14 @@ "typeString": "tuple()" } }, - "id": 9911, + "id": 10074, "nodeType": "ExpressionStatement", "src": "398:66:35" }, { "expression": { "argumentTypes": null, - "id": 9925, + "id": 10088, "isConstant": false, "isLValue": false, "isPure": false, @@ -224,11 +224,11 @@ "components": [ { "argumentTypes": null, - "id": 9912, + "id": 10075, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9901, + "referencedDeclaration": 10064, "src": "475:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -237,11 +237,11 @@ }, { "argumentTypes": null, - "id": 9913, + "id": 10076, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9903, + "referencedDeclaration": 10066, "src": "483:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -249,7 +249,7 @@ } } ], - "id": 9914, + "id": 10077, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -272,18 +272,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9917, + "id": 10080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9915, + "id": 10078, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "493:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -294,11 +294,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 9916, + "id": 10079, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "502:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -316,11 +316,11 @@ "components": [ { "argumentTypes": null, - "id": 9921, + "id": 10084, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "531:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -329,11 +329,11 @@ }, { "argumentTypes": null, - "id": 9922, + "id": 10085, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "539:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -341,7 +341,7 @@ } } ], - "id": 9923, + "id": 10086, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -354,7 +354,7 @@ "typeString": "tuple(address,address)" } }, - "id": 9924, + "id": 10087, "isConstant": false, "isLValue": false, "isPure": false, @@ -366,11 +366,11 @@ "components": [ { "argumentTypes": null, - "id": 9918, + "id": 10081, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "512:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -379,11 +379,11 @@ }, { "argumentTypes": null, - "id": 9919, + "id": 10082, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "520:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -391,7 +391,7 @@ } } ], - "id": 9920, + "id": 10083, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -415,7 +415,7 @@ "typeString": "tuple()" } }, - "id": 9926, + "id": 10089, "nodeType": "ExpressionStatement", "src": "474:72:35" }, @@ -429,18 +429,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9933, + "id": 10096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9928, + "id": 10091, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9901, + "referencedDeclaration": 10064, "src": "564:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -455,7 +455,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9931, + "id": 10094, "isConstant": false, "isLValue": false, "isPure": true, @@ -478,7 +478,7 @@ "typeString": "int_const 0" } ], - "id": 9930, + "id": 10093, "isConstant": false, "isLValue": false, "isPure": true, @@ -490,7 +490,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9929, + "id": 10092, "name": "address", "nodeType": "ElementaryTypeName", "src": "574:7:35", @@ -500,7 +500,7 @@ } } }, - "id": 9932, + "id": 10095, "isConstant": false, "isLValue": false, "isPure": true, @@ -524,7 +524,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a205a45524f5f41444452455353", - "id": 9934, + "id": 10097, "isConstant": false, "isLValue": false, "isPure": true, @@ -551,7 +551,7 @@ "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" } ], - "id": 9927, + "id": 10090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -565,7 +565,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9935, + "id": 10098, "isConstant": false, "isLValue": false, "isPure": false, @@ -580,14 +580,14 @@ "typeString": "tuple()" } }, - "id": 9936, + "id": 10099, "nodeType": "ExpressionStatement", "src": "556:63:35" } ] }, "documentation": null, - "id": 9938, + "id": 10101, "implemented": true, "kind": "function", "modifiers": [], @@ -595,17 +595,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9899, + "id": 10062, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9896, + "id": 10059, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "301:14:35", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "address" }, "typeName": { - "id": 9895, + "id": 10058, "name": "address", "nodeType": "ElementaryTypeName", "src": "301:7:35", @@ -629,12 +629,12 @@ }, { "constant": false, - "id": 9898, + "id": 10061, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "317:14:35", "stateVariable": false, "storageLocation": "default", @@ -643,7 +643,7 @@ "typeString": "address" }, "typeName": { - "id": 9897, + "id": 10060, "name": "address", "nodeType": "ElementaryTypeName", "src": "317:7:35", @@ -660,17 +660,17 @@ "src": "300:32:35" }, "returnParameters": { - "id": 9904, + "id": 10067, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9901, + "id": 10064, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "356:14:35", "stateVariable": false, "storageLocation": "default", @@ -679,7 +679,7 @@ "typeString": "address" }, "typeName": { - "id": 9900, + "id": 10063, "name": "address", "nodeType": "ElementaryTypeName", "src": "356:7:35", @@ -694,12 +694,12 @@ }, { "constant": false, - "id": 9903, + "id": 10066, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "372:14:35", "stateVariable": false, "storageLocation": "default", @@ -708,7 +708,7 @@ "typeString": "address" }, "typeName": { - "id": 9902, + "id": 10065, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:35", @@ -724,7 +724,7 @@ ], "src": "355:32:35" }, - "scope": 10359, + "scope": 10522, "src": "281:345:35", "stateMutability": "pure", "virtual": false, @@ -732,24 +732,24 @@ }, { "body": { - "id": 9982, + "id": 10145, "nodeType": "Block", "src": "818:367:35", "statements": [ { "assignments": [ - 9950, - 9952 + 10113, + 10115 ], "declarations": [ { "constant": false, - "id": 9950, + "id": 10113, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9982, + "scope": 10145, "src": "829:14:35", "stateVariable": false, "storageLocation": "default", @@ -758,7 +758,7 @@ "typeString": "address" }, "typeName": { - "id": 9949, + "id": 10112, "name": "address", "nodeType": "ElementaryTypeName", "src": "829:7:35", @@ -773,12 +773,12 @@ }, { "constant": false, - "id": 9952, + "id": 10115, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9982, + "scope": 10145, "src": "845:14:35", "stateVariable": false, "storageLocation": "default", @@ -787,7 +787,7 @@ "typeString": "address" }, "typeName": { - "id": 9951, + "id": 10114, "name": "address", "nodeType": "ElementaryTypeName", "src": "845:7:35", @@ -801,17 +801,17 @@ "visibility": "internal" } ], - "id": 9957, + "id": 10120, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9954, + "id": 10117, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9942, + "referencedDeclaration": 10105, "src": "874:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -820,11 +820,11 @@ }, { "argumentTypes": null, - "id": 9955, + "id": 10118, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9944, + "referencedDeclaration": 10107, "src": "882:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -843,18 +843,18 @@ "typeString": "address" } ], - "id": 9953, + "id": 10116, "name": "sortTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "863:10:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 9956, + "id": 10119, "isConstant": false, "isLValue": false, "isPure": false, @@ -875,18 +875,18 @@ { "expression": { "argumentTypes": null, - "id": 9980, + "id": 10143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9958, + "id": 10121, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9947, + "referencedDeclaration": 10110, "src": "899:4:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -910,7 +910,7 @@ { "argumentTypes": null, "hexValue": "ff", - "id": 9966, + "id": 10129, "isConstant": false, "isLValue": false, "isPure": true, @@ -927,11 +927,11 @@ }, { "argumentTypes": null, - "id": 9967, + "id": 10130, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9940, + "referencedDeclaration": 10103, "src": "988:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -946,11 +946,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9971, + "id": 10134, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9950, + "referencedDeclaration": 10113, "src": "1040:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -959,11 +959,11 @@ }, { "argumentTypes": null, - "id": 9972, + "id": 10135, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9952, + "referencedDeclaration": 10115, "src": "1048:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -984,7 +984,7 @@ ], "expression": { "argumentTypes": null, - "id": 9969, + "id": 10132, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -995,7 +995,7 @@ "typeString": "abi" } }, - "id": 9970, + "id": 10133, "isConstant": false, "isLValue": false, "isPure": true, @@ -1009,7 +1009,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 9973, + "id": 10136, "isConstant": false, "isLValue": false, "isPure": false, @@ -1032,7 +1032,7 @@ "typeString": "bytes memory" } ], - "id": 9968, + "id": 10131, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1043,7 +1043,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 9974, + "id": 10137, "isConstant": false, "isLValue": false, "isPure": false, @@ -1061,7 +1061,7 @@ { "argumentTypes": null, "hexValue": "96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", - "id": 9975, + "id": 10138, "isConstant": false, "isLValue": false, "isPure": true, @@ -1098,7 +1098,7 @@ ], "expression": { "argumentTypes": null, - "id": 9964, + "id": 10127, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1109,7 +1109,7 @@ "typeString": "abi" } }, - "id": 9965, + "id": 10128, "isConstant": false, "isLValue": false, "isPure": true, @@ -1123,7 +1123,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 9976, + "id": 10139, "isConstant": false, "isLValue": false, "isPure": false, @@ -1146,7 +1146,7 @@ "typeString": "bytes memory" } ], - "id": 9963, + "id": 10126, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1157,7 +1157,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 9977, + "id": 10140, "isConstant": false, "isLValue": false, "isPure": false, @@ -1180,7 +1180,7 @@ "typeString": "bytes32" } ], - "id": 9962, + "id": 10125, "isConstant": false, "isLValue": false, "isPure": true, @@ -1192,7 +1192,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 9961, + "id": 10124, "name": "uint", "nodeType": "ElementaryTypeName", "src": "914:4:35", @@ -1202,7 +1202,7 @@ } } }, - "id": 9978, + "id": 10141, "isConstant": false, "isLValue": false, "isPure": false, @@ -1225,7 +1225,7 @@ "typeString": "uint256" } ], - "id": 9960, + "id": 10123, "isConstant": false, "isLValue": false, "isPure": true, @@ -1237,7 +1237,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9959, + "id": 10122, "name": "address", "nodeType": "ElementaryTypeName", "src": "906:7:35", @@ -1247,7 +1247,7 @@ } } }, - "id": 9979, + "id": 10142, "isConstant": false, "isLValue": false, "isPure": false, @@ -1268,14 +1268,14 @@ "typeString": "address" } }, - "id": 9981, + "id": 10144, "nodeType": "ExpressionStatement", "src": "899:279:35" } ] }, "documentation": null, - "id": 9983, + "id": 10146, "implemented": true, "kind": "function", "modifiers": [], @@ -1283,17 +1283,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9945, + "id": 10108, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9940, + "id": 10103, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "732:15:35", "stateVariable": false, "storageLocation": "default", @@ -1302,7 +1302,7 @@ "typeString": "address" }, "typeName": { - "id": 9939, + "id": 10102, "name": "address", "nodeType": "ElementaryTypeName", "src": "732:7:35", @@ -1317,12 +1317,12 @@ }, { "constant": false, - "id": 9942, + "id": 10105, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "749:14:35", "stateVariable": false, "storageLocation": "default", @@ -1331,7 +1331,7 @@ "typeString": "address" }, "typeName": { - "id": 9941, + "id": 10104, "name": "address", "nodeType": "ElementaryTypeName", "src": "749:7:35", @@ -1346,12 +1346,12 @@ }, { "constant": false, - "id": 9944, + "id": 10107, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "765:14:35", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "address" }, "typeName": { - "id": 9943, + "id": 10106, "name": "address", "nodeType": "ElementaryTypeName", "src": "765:7:35", @@ -1377,17 +1377,17 @@ "src": "731:49:35" }, "returnParameters": { - "id": 9948, + "id": 10111, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9947, + "id": 10110, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "804:12:35", "stateVariable": false, "storageLocation": "default", @@ -1396,7 +1396,7 @@ "typeString": "address" }, "typeName": { - "id": 9946, + "id": 10109, "name": "address", "nodeType": "ElementaryTypeName", "src": "804:7:35", @@ -1412,7 +1412,7 @@ ], "src": "803:14:35" }, - "scope": 10359, + "scope": 10522, "src": "715:470:35", "stateMutability": "pure", "virtual": false, @@ -1420,24 +1420,24 @@ }, { "body": { - "id": 10032, + "id": 10195, "nodeType": "Block", "src": "1363:264:35", "statements": [ { "assignments": [ - 9997, + 10160, null ], "declarations": [ { "constant": false, - "id": 9997, + "id": 10160, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1374:14:35", "stateVariable": false, "storageLocation": "default", @@ -1446,7 +1446,7 @@ "typeString": "address" }, "typeName": { - "id": 9996, + "id": 10159, "name": "address", "nodeType": "ElementaryTypeName", "src": "1374:7:35", @@ -1461,17 +1461,17 @@ }, null ], - "id": 10002, + "id": 10165, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9999, + "id": 10162, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1404:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1480,11 +1480,11 @@ }, { "argumentTypes": null, - "id": 10000, + "id": 10163, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9989, + "referencedDeclaration": 10152, "src": "1412:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1503,18 +1503,18 @@ "typeString": "address" } ], - "id": 9998, + "id": 10161, "name": "sortTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "1393:10:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 10001, + "id": 10164, "isConstant": false, "isLValue": false, "isPure": false, @@ -1534,19 +1534,19 @@ }, { "assignments": [ - 10004, - 10006, + 10167, + 10169, null ], "declarations": [ { "constant": false, - "id": 10004, + "id": 10167, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1430:13:35", "stateVariable": false, "storageLocation": "default", @@ -1555,7 +1555,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10003, + "id": 10166, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1430:4:35", @@ -1569,12 +1569,12 @@ }, { "constant": false, - "id": 10006, + "id": 10169, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1445:13:35", "stateVariable": false, "storageLocation": "default", @@ -1583,7 +1583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10005, + "id": 10168, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1445:4:35", @@ -1597,7 +1597,7 @@ }, null ], - "id": 10016, + "id": 10179, "initialValue": { "argumentTypes": null, "arguments": [], @@ -1611,11 +1611,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10009, + "id": 10172, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9985, + "referencedDeclaration": 10148, "src": "1486:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1624,11 +1624,11 @@ }, { "argumentTypes": null, - "id": 10010, + "id": 10173, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1495:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1637,11 +1637,11 @@ }, { "argumentTypes": null, - "id": 10011, + "id": 10174, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9989, + "referencedDeclaration": 10152, "src": "1503:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1664,18 +1664,18 @@ "typeString": "address" } ], - "id": 10008, + "id": 10171, "name": "pairFor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "1478:7:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 10012, + "id": 10175, "isConstant": false, "isLValue": false, "isPure": false, @@ -1698,18 +1698,18 @@ "typeString": "address" } ], - "id": 10007, + "id": 10170, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1463:14:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10013, + "id": 10176, "isConstant": false, "isLValue": false, "isPure": false, @@ -1720,25 +1720,25 @@ "src": "1463:48:35", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10014, + "id": 10177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "1463:60:35", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 10015, + "id": 10178, "isConstant": false, "isLValue": false, "isPure": false, @@ -1759,7 +1759,7 @@ { "expression": { "argumentTypes": null, - "id": 10030, + "id": 10193, "isConstant": false, "isLValue": false, "isPure": false, @@ -1769,11 +1769,11 @@ "components": [ { "argumentTypes": null, - "id": 10017, + "id": 10180, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9992, + "referencedDeclaration": 10155, "src": "1536:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1782,11 +1782,11 @@ }, { "argumentTypes": null, - "id": 10018, + "id": 10181, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9994, + "referencedDeclaration": 10157, "src": "1546:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1794,7 +1794,7 @@ } } ], - "id": 10019, + "id": 10182, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -1817,18 +1817,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10022, + "id": 10185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10020, + "id": 10183, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1558:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1839,11 +1839,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 10021, + "id": 10184, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9997, + "referencedDeclaration": 10160, "src": "1568:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1861,11 +1861,11 @@ "components": [ { "argumentTypes": null, - "id": 10026, + "id": 10189, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10006, + "referencedDeclaration": 10169, "src": "1601:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1874,11 +1874,11 @@ }, { "argumentTypes": null, - "id": 10027, + "id": 10190, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10004, + "referencedDeclaration": 10167, "src": "1611:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1886,7 +1886,7 @@ } } ], - "id": 10028, + "id": 10191, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1899,7 +1899,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 10029, + "id": 10192, "isConstant": false, "isLValue": false, "isPure": false, @@ -1911,11 +1911,11 @@ "components": [ { "argumentTypes": null, - "id": 10023, + "id": 10186, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10004, + "referencedDeclaration": 10167, "src": "1578:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1924,11 +1924,11 @@ }, { "argumentTypes": null, - "id": 10024, + "id": 10187, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10006, + "referencedDeclaration": 10169, "src": "1588:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1936,7 +1936,7 @@ } } ], - "id": 10025, + "id": 10188, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -1960,14 +1960,14 @@ "typeString": "tuple()" } }, - "id": 10031, + "id": 10194, "nodeType": "ExpressionStatement", "src": "1535:85:35" } ] }, "documentation": null, - "id": 10033, + "id": 10196, "implemented": true, "kind": "function", "modifiers": [], @@ -1975,17 +1975,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9990, + "id": 10153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9985, + "id": 10148, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1261:15:35", "stateVariable": false, "storageLocation": "default", @@ -1994,7 +1994,7 @@ "typeString": "address" }, "typeName": { - "id": 9984, + "id": 10147, "name": "address", "nodeType": "ElementaryTypeName", "src": "1261:7:35", @@ -2009,12 +2009,12 @@ }, { "constant": false, - "id": 9987, + "id": 10150, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1278:14:35", "stateVariable": false, "storageLocation": "default", @@ -2023,7 +2023,7 @@ "typeString": "address" }, "typeName": { - "id": 9986, + "id": 10149, "name": "address", "nodeType": "ElementaryTypeName", "src": "1278:7:35", @@ -2038,12 +2038,12 @@ }, { "constant": false, - "id": 9989, + "id": 10152, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1294:14:35", "stateVariable": false, "storageLocation": "default", @@ -2052,7 +2052,7 @@ "typeString": "address" }, "typeName": { - "id": 9988, + "id": 10151, "name": "address", "nodeType": "ElementaryTypeName", "src": "1294:7:35", @@ -2069,17 +2069,17 @@ "src": "1260:49:35" }, "returnParameters": { - "id": 9995, + "id": 10158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9992, + "id": 10155, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1333:13:35", "stateVariable": false, "storageLocation": "default", @@ -2088,7 +2088,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9991, + "id": 10154, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1333:4:35", @@ -2102,12 +2102,12 @@ }, { "constant": false, - "id": 9994, + "id": 10157, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1348:13:35", "stateVariable": false, "storageLocation": "default", @@ -2116,7 +2116,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9993, + "id": 10156, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1348:4:35", @@ -2131,7 +2131,7 @@ ], "src": "1332:30:35" }, - "scope": 10359, + "scope": 10522, "src": "1240:387:35", "stateMutability": "view", "virtual": false, @@ -2139,7 +2139,7 @@ }, { "body": { - "id": 10071, + "id": 10234, "nodeType": "Block", "src": "1833:221:35", "statements": [ @@ -2153,18 +2153,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10047, + "id": 10210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10045, + "id": 10208, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, + "referencedDeclaration": 10198, "src": "1851:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2176,7 +2176,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10046, + "id": 10209, "isConstant": false, "isLValue": false, "isPure": true, @@ -2200,7 +2200,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", - "id": 10048, + "id": 10211, "isConstant": false, "isLValue": false, "isPure": true, @@ -2227,7 +2227,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" } ], - "id": 10044, + "id": 10207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2241,7 +2241,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10049, + "id": 10212, "isConstant": false, "isLValue": false, "isPure": false, @@ -2256,7 +2256,7 @@ "typeString": "tuple()" } }, - "id": 10050, + "id": 10213, "nodeType": "ExpressionStatement", "src": "1843:61:35" }, @@ -2270,7 +2270,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10058, + "id": 10221, "isConstant": false, "isLValue": false, "isPure": false, @@ -2281,18 +2281,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10054, + "id": 10217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10052, + "id": 10215, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10037, + "referencedDeclaration": 10200, "src": "1922:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2304,7 +2304,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10053, + "id": 10216, "isConstant": false, "isLValue": false, "isPure": true, @@ -2333,18 +2333,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10057, + "id": 10220, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10055, + "id": 10218, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10039, + "referencedDeclaration": 10202, "src": "1938:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2356,7 +2356,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10056, + "id": 10219, "isConstant": false, "isLValue": false, "isPure": true, @@ -2386,7 +2386,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10059, + "id": 10222, "isConstant": false, "isLValue": false, "isPure": true, @@ -2413,7 +2413,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10051, + "id": 10214, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2427,7 +2427,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10060, + "id": 10223, "isConstant": false, "isLValue": false, "isPure": false, @@ -2442,25 +2442,25 @@ "typeString": "tuple()" } }, - "id": 10061, + "id": 10224, "nodeType": "ExpressionStatement", "src": "1914:81:35" }, { "expression": { "argumentTypes": null, - "id": 10069, + "id": 10232, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10062, + "id": 10225, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10042, + "referencedDeclaration": 10205, "src": "2005:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2475,7 +2475,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10068, + "id": 10231, "isConstant": false, "isLValue": false, "isPure": false, @@ -2485,11 +2485,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10065, + "id": 10228, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10039, + "referencedDeclaration": 10202, "src": "2027:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2506,32 +2506,32 @@ ], "expression": { "argumentTypes": null, - "id": 10063, + "id": 10226, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, + "referencedDeclaration": 10198, "src": "2015:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10064, + "id": 10227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2015:11: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": 10066, + "id": 10229, "isConstant": false, "isLValue": false, "isPure": false, @@ -2550,11 +2550,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10067, + "id": 10230, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10037, + "referencedDeclaration": 10200, "src": "2039:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2573,14 +2573,14 @@ "typeString": "uint256" } }, - "id": 10070, + "id": 10233, "nodeType": "ExpressionStatement", "src": "2005:42:35" } ] }, "documentation": null, - "id": 10072, + "id": 10235, "implemented": true, "kind": "function", "modifiers": [], @@ -2588,17 +2588,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10040, + "id": 10203, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10035, + "id": 10198, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1752:12:35", "stateVariable": false, "storageLocation": "default", @@ -2607,7 +2607,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10034, + "id": 10197, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1752:4:35", @@ -2621,12 +2621,12 @@ }, { "constant": false, - "id": 10037, + "id": 10200, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1766:13:35", "stateVariable": false, "storageLocation": "default", @@ -2635,7 +2635,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10036, + "id": 10199, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1766:4:35", @@ -2649,12 +2649,12 @@ }, { "constant": false, - "id": 10039, + "id": 10202, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1781:13:35", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10038, + "id": 10201, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1781:4:35", @@ -2679,17 +2679,17 @@ "src": "1751:44:35" }, "returnParameters": { - "id": 10043, + "id": 10206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10042, + "id": 10205, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1819:12:35", "stateVariable": false, "storageLocation": "default", @@ -2698,7 +2698,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10041, + "id": 10204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1819:4:35", @@ -2713,7 +2713,7 @@ ], "src": "1818:14:35" }, - "scope": 10359, + "scope": 10522, "src": "1737:317:35", "stateMutability": "pure", "virtual": false, @@ -2721,7 +2721,7 @@ }, { "body": { - "id": 10131, + "id": 10294, "nodeType": "Block", "src": "2282:401:35", "statements": [ @@ -2735,18 +2735,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10086, + "id": 10249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10084, + "id": 10247, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10074, + "referencedDeclaration": 10237, "src": "2300:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2758,7 +2758,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10085, + "id": 10248, "isConstant": false, "isLValue": false, "isPure": true, @@ -2782,7 +2782,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 10087, + "id": 10250, "isConstant": false, "isLValue": false, "isPure": true, @@ -2809,7 +2809,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" } ], - "id": 10083, + "id": 10246, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2823,7 +2823,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10088, + "id": 10251, "isConstant": false, "isLValue": false, "isPure": false, @@ -2838,7 +2838,7 @@ "typeString": "tuple()" } }, - "id": 10089, + "id": 10252, "nodeType": "ExpressionStatement", "src": "2292:68:35" }, @@ -2852,7 +2852,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10097, + "id": 10260, "isConstant": false, "isLValue": false, "isPure": false, @@ -2863,18 +2863,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10093, + "id": 10256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10091, + "id": 10254, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10076, + "referencedDeclaration": 10239, "src": "2378:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2886,7 +2886,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10092, + "id": 10255, "isConstant": false, "isLValue": false, "isPure": true, @@ -2915,18 +2915,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10096, + "id": 10259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10094, + "id": 10257, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10078, + "referencedDeclaration": 10241, "src": "2395:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2938,7 +2938,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10095, + "id": 10258, "isConstant": false, "isLValue": false, "isPure": true, @@ -2968,7 +2968,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10098, + "id": 10261, "isConstant": false, "isLValue": false, "isPure": true, @@ -2995,7 +2995,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10090, + "id": 10253, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3009,7 +3009,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10099, + "id": 10262, "isConstant": false, "isLValue": false, "isPure": false, @@ -3024,23 +3024,23 @@ "typeString": "tuple()" } }, - "id": 10100, + "id": 10263, "nodeType": "ExpressionStatement", "src": "2370:84:35" }, { "assignments": [ - 10102 + 10265 ], "declarations": [ { "constant": false, - "id": 10102, + "id": 10265, "mutability": "mutable", "name": "amountInWithFee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2464:20:35", "stateVariable": false, "storageLocation": "default", @@ -3049,7 +3049,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10101, + "id": 10264, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2464:4:35", @@ -3062,14 +3062,14 @@ "visibility": "internal" } ], - "id": 10107, + "id": 10270, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "393937", - "id": 10105, + "id": 10268, "isConstant": false, "isLValue": false, "isPure": true, @@ -3094,32 +3094,32 @@ ], "expression": { "argumentTypes": null, - "id": 10103, + "id": 10266, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10074, + "referencedDeclaration": 10237, "src": "2487:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10104, + "id": 10267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2487: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": 10106, + "id": 10269, "isConstant": false, "isLValue": false, "isPure": false, @@ -3139,17 +3139,17 @@ }, { "assignments": [ - 10109 + 10272 ], "declarations": [ { "constant": false, - "id": 10109, + "id": 10272, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2514:14:35", "stateVariable": false, "storageLocation": "default", @@ -3158,7 +3158,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10108, + "id": 10271, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2514:4:35", @@ -3171,17 +3171,17 @@ "visibility": "internal" } ], - "id": 10114, + "id": 10277, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10112, + "id": 10275, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10078, + "referencedDeclaration": 10241, "src": "2551:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3198,32 +3198,32 @@ ], "expression": { "argumentTypes": null, - "id": 10110, + "id": 10273, "name": "amountInWithFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10102, + "referencedDeclaration": 10265, "src": "2531:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10111, + "id": 10274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2531: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": 10113, + "id": 10276, "isConstant": false, "isLValue": false, "isPure": false, @@ -3243,17 +3243,17 @@ }, { "assignments": [ - 10116 + 10279 ], "declarations": [ { "constant": false, - "id": 10116, + "id": 10279, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2572:16:35", "stateVariable": false, "storageLocation": "default", @@ -3262,7 +3262,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10115, + "id": 10278, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2572:4:35", @@ -3275,17 +3275,17 @@ "visibility": "internal" } ], - "id": 10124, + "id": 10287, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10122, + "id": 10285, "name": "amountInWithFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10102, + "referencedDeclaration": 10265, "src": "2615:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3306,7 +3306,7 @@ { "argumentTypes": null, "hexValue": "31303030", - "id": 10119, + "id": 10282, "isConstant": false, "isLValue": false, "isPure": true, @@ -3331,32 +3331,32 @@ ], "expression": { "argumentTypes": null, - "id": 10117, + "id": 10280, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10076, + "referencedDeclaration": 10239, "src": "2591:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10118, + "id": 10281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2591:13: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": 10120, + "id": 10283, "isConstant": false, "isLValue": false, "isPure": false, @@ -3371,21 +3371,21 @@ "typeString": "uint256" } }, - "id": 10121, + "id": 10284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 9836, + "referencedDeclaration": 9999, "src": "2591:23: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": 10123, + "id": 10286, "isConstant": false, "isLValue": false, "isPure": false, @@ -3406,18 +3406,18 @@ { "expression": { "argumentTypes": null, - "id": 10129, + "id": 10292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10125, + "id": 10288, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10081, + "referencedDeclaration": 10244, "src": "2641:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3432,18 +3432,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10128, + "id": 10291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10126, + "id": 10289, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10109, + "referencedDeclaration": 10272, "src": "2653:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3454,11 +3454,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10127, + "id": 10290, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10116, + "referencedDeclaration": 10279, "src": "2665:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3477,14 +3477,14 @@ "typeString": "uint256" } }, - "id": 10130, + "id": 10293, "nodeType": "ExpressionStatement", "src": "2641:35:35" } ] }, "documentation": null, - "id": 10132, + "id": 10295, "implemented": true, "kind": "function", "modifiers": [], @@ -3492,17 +3492,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10079, + "id": 10242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10074, + "id": 10237, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2195:13:35", "stateVariable": false, "storageLocation": "default", @@ -3511,7 +3511,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10073, + "id": 10236, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2195:4:35", @@ -3525,12 +3525,12 @@ }, { "constant": false, - "id": 10076, + "id": 10239, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2210:14:35", "stateVariable": false, "storageLocation": "default", @@ -3539,7 +3539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10075, + "id": 10238, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2210:4:35", @@ -3553,12 +3553,12 @@ }, { "constant": false, - "id": 10078, + "id": 10241, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2226:15:35", "stateVariable": false, "storageLocation": "default", @@ -3567,7 +3567,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10077, + "id": 10240, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2226:4:35", @@ -3583,17 +3583,17 @@ "src": "2194:48:35" }, "returnParameters": { - "id": 10082, + "id": 10245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10081, + "id": 10244, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2266:14:35", "stateVariable": false, "storageLocation": "default", @@ -3602,7 +3602,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10080, + "id": 10243, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2266:4:35", @@ -3617,7 +3617,7 @@ ], "src": "2265:16:35" }, - "scope": 10359, + "scope": 10522, "src": "2173:510:35", "stateMutability": "pure", "virtual": false, @@ -3625,7 +3625,7 @@ }, { "body": { - "id": 10191, + "id": 10354, "nodeType": "Block", "src": "2909:358:35", "statements": [ @@ -3639,18 +3639,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10146, + "id": 10309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10144, + "id": 10307, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "2927:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3662,7 +3662,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10145, + "id": 10308, "isConstant": false, "isLValue": false, "isPure": true, @@ -3686,7 +3686,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 10147, + "id": 10310, "isConstant": false, "isLValue": false, "isPure": true, @@ -3713,7 +3713,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 10143, + "id": 10306, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3727,7 +3727,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10148, + "id": 10311, "isConstant": false, "isLValue": false, "isPure": false, @@ -3742,7 +3742,7 @@ "typeString": "tuple()" } }, - "id": 10149, + "id": 10312, "nodeType": "ExpressionStatement", "src": "2919:70:35" }, @@ -3756,7 +3756,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10157, + "id": 10320, "isConstant": false, "isLValue": false, "isPure": false, @@ -3767,18 +3767,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10153, + "id": 10316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10151, + "id": 10314, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10136, + "referencedDeclaration": 10299, "src": "3007:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3790,7 +3790,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10152, + "id": 10315, "isConstant": false, "isLValue": false, "isPure": true, @@ -3819,18 +3819,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10156, + "id": 10319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10154, + "id": 10317, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10138, + "referencedDeclaration": 10301, "src": "3024:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3842,7 +3842,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10155, + "id": 10318, "isConstant": false, "isLValue": false, "isPure": true, @@ -3872,7 +3872,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10158, + "id": 10321, "isConstant": false, "isLValue": false, "isPure": true, @@ -3899,7 +3899,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10150, + "id": 10313, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3913,7 +3913,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10159, + "id": 10322, "isConstant": false, "isLValue": false, "isPure": false, @@ -3928,23 +3928,23 @@ "typeString": "tuple()" } }, - "id": 10160, + "id": 10323, "nodeType": "ExpressionStatement", "src": "2999:84:35" }, { "assignments": [ - 10162 + 10325 ], "declarations": [ { "constant": false, - "id": 10162, + "id": 10325, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10191, + "scope": 10354, "src": "3093:14:35", "stateVariable": false, "storageLocation": "default", @@ -3953,7 +3953,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10161, + "id": 10324, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3093:4:35", @@ -3966,14 +3966,14 @@ "visibility": "internal" } ], - "id": 10170, + "id": 10333, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31303030", - "id": 10168, + "id": 10331, "isConstant": false, "isLValue": false, "isPure": true, @@ -4001,11 +4001,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10165, + "id": 10328, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "3124:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4022,32 +4022,32 @@ ], "expression": { "argumentTypes": null, - "id": 10163, + "id": 10326, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10136, + "referencedDeclaration": 10299, "src": "3110:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10164, + "id": 10327, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3110:13: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": 10166, + "id": 10329, "isConstant": false, "isLValue": false, "isPure": false, @@ -4062,21 +4062,21 @@ "typeString": "uint256" } }, - "id": 10167, + "id": 10330, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3110:28: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": 10169, + "id": 10332, "isConstant": false, "isLValue": false, "isPure": false, @@ -4096,17 +4096,17 @@ }, { "assignments": [ - 10172 + 10335 ], "declarations": [ { "constant": false, - "id": 10172, + "id": 10335, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10191, + "scope": 10354, "src": "3154:16:35", "stateVariable": false, "storageLocation": "default", @@ -4115,7 +4115,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10171, + "id": 10334, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3154:4:35", @@ -4128,14 +4128,14 @@ "visibility": "internal" } ], - "id": 10180, + "id": 10343, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "393937", - "id": 10178, + "id": 10341, "isConstant": false, "isLValue": false, "isPure": true, @@ -4163,11 +4163,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10175, + "id": 10338, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "3188:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4184,32 +4184,32 @@ ], "expression": { "argumentTypes": null, - "id": 10173, + "id": 10336, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10138, + "referencedDeclaration": 10301, "src": "3173:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10174, + "id": 10337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "3173: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": 10176, + "id": 10339, "isConstant": false, "isLValue": false, "isPure": false, @@ -4224,21 +4224,21 @@ "typeString": "uint256" } }, - "id": 10177, + "id": 10340, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3173: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": 10179, + "id": 10342, "isConstant": false, "isLValue": false, "isPure": false, @@ -4259,18 +4259,18 @@ { "expression": { "argumentTypes": null, - "id": 10189, + "id": 10352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10181, + "id": 10344, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10141, + "referencedDeclaration": 10304, "src": "3217:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4285,7 +4285,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 10187, + "id": 10350, "isConstant": false, "isLValue": false, "isPure": true, @@ -4317,18 +4317,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10184, + "id": 10347, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10182, + "id": 10345, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10162, + "referencedDeclaration": 10325, "src": "3229:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4339,11 +4339,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10183, + "id": 10346, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10172, + "referencedDeclaration": 10335, "src": "3241:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4357,7 +4357,7 @@ } } ], - "id": 10185, + "id": 10348, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4370,21 +4370,21 @@ "typeString": "uint256" } }, - "id": 10186, + "id": 10349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 9836, + "referencedDeclaration": 9999, "src": "3228: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": 10188, + "id": 10351, "isConstant": false, "isLValue": false, "isPure": false, @@ -4405,14 +4405,14 @@ "typeString": "uint256" } }, - "id": 10190, + "id": 10353, "nodeType": "ExpressionStatement", "src": "3217:43:35" } ] }, "documentation": null, - "id": 10192, + "id": 10355, "implemented": true, "kind": "function", "modifiers": [], @@ -4420,17 +4420,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10139, + "id": 10302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10134, + "id": 10297, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2822:14:35", "stateVariable": false, "storageLocation": "default", @@ -4439,7 +4439,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10133, + "id": 10296, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2822:4:35", @@ -4453,12 +4453,12 @@ }, { "constant": false, - "id": 10136, + "id": 10299, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2838:14:35", "stateVariable": false, "storageLocation": "default", @@ -4467,7 +4467,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10135, + "id": 10298, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2838:4:35", @@ -4481,12 +4481,12 @@ }, { "constant": false, - "id": 10138, + "id": 10301, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2854:15:35", "stateVariable": false, "storageLocation": "default", @@ -4495,7 +4495,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10137, + "id": 10300, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2854:4:35", @@ -4511,17 +4511,17 @@ "src": "2821:49:35" }, "returnParameters": { - "id": 10142, + "id": 10305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10141, + "id": 10304, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2894:13:35", "stateVariable": false, "storageLocation": "default", @@ -4530,7 +4530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10140, + "id": 10303, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2894:4:35", @@ -4545,7 +4545,7 @@ ], "src": "2893:15:35" }, - "scope": 10359, + "scope": 10522, "src": "2801:466:35", "stateMutability": "pure", "virtual": false, @@ -4553,7 +4553,7 @@ }, { "body": { - "id": 10272, + "id": 10435, "nodeType": "Block", "src": "3470:379:35", "statements": [ @@ -4567,7 +4567,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10209, + "id": 10372, "isConstant": false, "isLValue": false, "isPure": false, @@ -4576,18 +4576,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10206, + "id": 10369, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3488:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10207, + "id": 10370, "isConstant": false, "isLValue": false, "isPure": false, @@ -4606,7 +4606,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10208, + "id": 10371, "isConstant": false, "isLValue": false, "isPure": true, @@ -4630,7 +4630,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": 10210, + "id": 10373, "isConstant": false, "isLValue": false, "isPure": true, @@ -4657,7 +4657,7 @@ "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" } ], - "id": 10205, + "id": 10368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4671,7 +4671,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10211, + "id": 10374, "isConstant": false, "isLValue": false, "isPure": false, @@ -4686,25 +4686,25 @@ "typeString": "tuple()" } }, - "id": 10212, + "id": 10375, "nodeType": "ExpressionStatement", "src": "3480:59:35" }, { "expression": { "argumentTypes": null, - "id": 10220, + "id": 10383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10213, + "id": 10376, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3549:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -4720,18 +4720,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10217, + "id": 10380, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3570:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10218, + "id": 10381, "isConstant": false, "isLValue": false, "isPure": false, @@ -4753,7 +4753,7 @@ "typeString": "uint256" } ], - "id": 10216, + "id": 10379, "isConstant": false, "isLValue": false, "isPure": true, @@ -4766,7 +4766,7 @@ }, "typeName": { "baseType": { - "id": 10214, + "id": 10377, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3563:4:35", @@ -4775,7 +4775,7 @@ "typeString": "uint256" } }, - "id": 10215, + "id": 10378, "length": null, "nodeType": "ArrayTypeName", "src": "3563:6:35", @@ -4785,7 +4785,7 @@ } } }, - "id": 10219, + "id": 10382, "isConstant": false, "isLValue": false, "isPure": false, @@ -4806,14 +4806,14 @@ "typeString": "uint256[] memory" } }, - "id": 10221, + "id": 10384, "nodeType": "ExpressionStatement", "src": "3549:33:35" }, { "expression": { "argumentTypes": null, - "id": 10226, + "id": 10389, "isConstant": false, "isLValue": false, "isPure": false, @@ -4822,22 +4822,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10222, + "id": 10385, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3592:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10224, + "id": 10387, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10223, + "id": 10386, "isConstant": false, "isLValue": false, "isPure": true, @@ -4867,11 +4867,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10225, + "id": 10388, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10196, + "referencedDeclaration": 10359, "src": "3605:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4884,30 +4884,30 @@ "typeString": "uint256" } }, - "id": 10227, + "id": 10390, "nodeType": "ExpressionStatement", "src": "3592:21:35" }, { "body": { - "id": 10270, + "id": 10433, "nodeType": "Block", "src": "3662:181:35", "statements": [ { "assignments": [ - 10241, - 10243 + 10404, + 10406 ], "declarations": [ { "constant": false, - "id": 10241, + "id": 10404, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10270, + "scope": 10433, "src": "3677:14:35", "stateVariable": false, "storageLocation": "default", @@ -4916,7 +4916,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10240, + "id": 10403, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3677:4:35", @@ -4930,12 +4930,12 @@ }, { "constant": false, - "id": 10243, + "id": 10406, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10270, + "scope": 10433, "src": "3693:15:35", "stateVariable": false, "storageLocation": "default", @@ -4944,7 +4944,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10242, + "id": 10405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3693:4:35", @@ -4957,17 +4957,17 @@ "visibility": "internal" } ], - "id": 10255, + "id": 10418, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10245, + "id": 10408, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10194, + "referencedDeclaration": 10357, "src": "3724:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4978,25 +4978,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10246, + "id": 10409, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3733:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10248, + "id": 10411, "indexExpression": { "argumentTypes": null, - "id": 10247, + "id": 10410, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3738:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5018,36 +5018,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10249, + "id": 10412, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3742:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10253, + "id": 10416, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10252, + "id": 10415, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10250, + "id": 10413, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3747:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5059,7 +5059,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10251, + "id": 10414, "isConstant": false, "isLValue": false, "isPure": true, @@ -5107,18 +5107,18 @@ "typeString": "address" } ], - "id": 10244, + "id": 10407, "name": "getReserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "3712:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 10254, + "id": 10417, "isConstant": false, "isLValue": false, "isPure": false, @@ -5139,7 +5139,7 @@ { "expression": { "argumentTypes": null, - "id": 10268, + "id": 10431, "isConstant": false, "isLValue": false, "isPure": false, @@ -5148,36 +5148,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10256, + "id": 10419, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3768:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10260, + "id": 10423, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10259, + "id": 10422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10257, + "id": 10420, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3776:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5189,7 +5189,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10258, + "id": 10421, "isConstant": false, "isLValue": false, "isPure": true, @@ -5230,25 +5230,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10262, + "id": 10425, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3798:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10264, + "id": 10427, "indexExpression": { "argumentTypes": null, - "id": 10263, + "id": 10426, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3806:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5268,11 +5268,11 @@ }, { "argumentTypes": null, - "id": 10265, + "id": 10428, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10241, + "referencedDeclaration": 10404, "src": "3810:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5281,11 +5281,11 @@ }, { "argumentTypes": null, - "id": 10266, + "id": 10429, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10243, + "referencedDeclaration": 10406, "src": "3821:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5308,18 +5308,18 @@ "typeString": "uint256" } ], - "id": 10261, + "id": 10424, "name": "getAmountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "3785:12:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 10267, + "id": 10430, "isConstant": false, "isLValue": false, "isPure": false, @@ -5340,7 +5340,7 @@ "typeString": "uint256" } }, - "id": 10269, + "id": 10432, "nodeType": "ExpressionStatement", "src": "3768:64:35" } @@ -5352,18 +5352,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10236, + "id": 10399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10231, + "id": 10394, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3636:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5378,7 +5378,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10235, + "id": 10398, "isConstant": false, "isLValue": false, "isPure": false, @@ -5387,18 +5387,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10232, + "id": 10395, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3640:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10233, + "id": 10396, "isConstant": false, "isLValue": false, "isPure": false, @@ -5417,7 +5417,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10234, + "id": 10397, "isConstant": false, "isLValue": false, "isPure": true, @@ -5444,20 +5444,20 @@ "typeString": "bool" } }, - "id": 10271, + "id": 10434, "initializationExpression": { "assignments": [ - 10229 + 10392 ], "declarations": [ { "constant": false, - "id": 10229, + "id": 10392, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10271, + "scope": 10434, "src": "3628:6:35", "stateVariable": false, "storageLocation": "default", @@ -5466,7 +5466,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10228, + "id": 10391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3628:4:35", @@ -5479,7 +5479,7 @@ "visibility": "internal" } ], - "id": 10230, + "id": 10393, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3628:6:35" @@ -5487,7 +5487,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 10238, + "id": 10401, "isConstant": false, "isLValue": false, "isPure": false, @@ -5498,11 +5498,11 @@ "src": "3657:3:35", "subExpression": { "argumentTypes": null, - "id": 10237, + "id": 10400, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3657:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5514,7 +5514,7 @@ "typeString": "uint256" } }, - "id": 10239, + "id": 10402, "nodeType": "ExpressionStatement", "src": "3657:3:35" }, @@ -5524,7 +5524,7 @@ ] }, "documentation": null, - "id": 10273, + "id": 10436, "implemented": true, "kind": "function", "modifiers": [], @@ -5532,17 +5532,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10200, + "id": 10363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10194, + "id": 10357, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3369:15:35", "stateVariable": false, "storageLocation": "default", @@ -5551,7 +5551,7 @@ "typeString": "address" }, "typeName": { - "id": 10193, + "id": 10356, "name": "address", "nodeType": "ElementaryTypeName", "src": "3369:7:35", @@ -5566,12 +5566,12 @@ }, { "constant": false, - "id": 10196, + "id": 10359, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3386:13:35", "stateVariable": false, "storageLocation": "default", @@ -5580,7 +5580,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10195, + "id": 10358, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3386:4:35", @@ -5594,12 +5594,12 @@ }, { "constant": false, - "id": 10199, + "id": 10362, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3401:21:35", "stateVariable": false, "storageLocation": "memory", @@ -5609,7 +5609,7 @@ }, "typeName": { "baseType": { - "id": 10197, + "id": 10360, "name": "address", "nodeType": "ElementaryTypeName", "src": "3401:7:35", @@ -5619,7 +5619,7 @@ "typeString": "address" } }, - "id": 10198, + "id": 10361, "length": null, "nodeType": "ArrayTypeName", "src": "3401:9:35", @@ -5635,17 +5635,17 @@ "src": "3368:55:35" }, "returnParameters": { - "id": 10204, + "id": 10367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10203, + "id": 10366, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3447:21:35", "stateVariable": false, "storageLocation": "memory", @@ -5655,7 +5655,7 @@ }, "typeName": { "baseType": { - "id": 10201, + "id": 10364, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3447:4:35", @@ -5664,7 +5664,7 @@ "typeString": "uint256" } }, - "id": 10202, + "id": 10365, "length": null, "nodeType": "ArrayTypeName", "src": "3447:6:35", @@ -5679,7 +5679,7 @@ ], "src": "3446:23:35" }, - "scope": 10359, + "scope": 10522, "src": "3346:503:35", "stateMutability": "view", "virtual": false, @@ -5687,7 +5687,7 @@ }, { "body": { - "id": 10357, + "id": 10520, "nodeType": "Block", "src": "4051:400:35", "statements": [ @@ -5701,7 +5701,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10290, + "id": 10453, "isConstant": false, "isLValue": false, "isPure": false, @@ -5710,18 +5710,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10287, + "id": 10450, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4069:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10288, + "id": 10451, "isConstant": false, "isLValue": false, "isPure": false, @@ -5740,7 +5740,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10289, + "id": 10452, "isConstant": false, "isLValue": false, "isPure": true, @@ -5764,7 +5764,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": 10291, + "id": 10454, "isConstant": false, "isLValue": false, "isPure": true, @@ -5791,7 +5791,7 @@ "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" } ], - "id": 10286, + "id": 10449, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5805,7 +5805,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10292, + "id": 10455, "isConstant": false, "isLValue": false, "isPure": false, @@ -5820,25 +5820,25 @@ "typeString": "tuple()" } }, - "id": 10293, + "id": 10456, "nodeType": "ExpressionStatement", "src": "4061:59:35" }, { "expression": { "argumentTypes": null, - "id": 10301, + "id": 10464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10294, + "id": 10457, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4130:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -5854,18 +5854,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10298, + "id": 10461, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4151:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10299, + "id": 10462, "isConstant": false, "isLValue": false, "isPure": false, @@ -5887,7 +5887,7 @@ "typeString": "uint256" } ], - "id": 10297, + "id": 10460, "isConstant": false, "isLValue": false, "isPure": true, @@ -5900,7 +5900,7 @@ }, "typeName": { "baseType": { - "id": 10295, + "id": 10458, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4144:4:35", @@ -5909,7 +5909,7 @@ "typeString": "uint256" } }, - "id": 10296, + "id": 10459, "length": null, "nodeType": "ArrayTypeName", "src": "4144:6:35", @@ -5919,7 +5919,7 @@ } } }, - "id": 10300, + "id": 10463, "isConstant": false, "isLValue": false, "isPure": false, @@ -5940,14 +5940,14 @@ "typeString": "uint256[] memory" } }, - "id": 10302, + "id": 10465, "nodeType": "ExpressionStatement", "src": "4130:33:35" }, { "expression": { "argumentTypes": null, - "id": 10310, + "id": 10473, "isConstant": false, "isLValue": false, "isPure": false, @@ -5956,25 +5956,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10303, + "id": 10466, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4173:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10308, + "id": 10471, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10307, + "id": 10470, "isConstant": false, "isLValue": false, "isPure": false, @@ -5983,18 +5983,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10304, + "id": 10467, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4181:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10305, + "id": 10468, "isConstant": false, "isLValue": false, "isPure": false, @@ -6013,7 +6013,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10306, + "id": 10469, "isConstant": false, "isLValue": false, "isPure": true, @@ -6049,11 +6049,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10309, + "id": 10472, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10277, + "referencedDeclaration": 10440, "src": "4203:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6066,30 +6066,30 @@ "typeString": "uint256" } }, - "id": 10311, + "id": 10474, "nodeType": "ExpressionStatement", "src": "4173:39:35" }, { "body": { - "id": 10355, + "id": 10518, "nodeType": "Block", "src": "4265:180:35", "statements": [ { "assignments": [ - 10326, - 10328 + 10489, + 10491 ], "declarations": [ { "constant": false, - "id": 10326, + "id": 10489, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10355, + "scope": 10518, "src": "4280:14:35", "stateVariable": false, "storageLocation": "default", @@ -6098,7 +6098,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10325, + "id": 10488, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4280:4:35", @@ -6112,12 +6112,12 @@ }, { "constant": false, - "id": 10328, + "id": 10491, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10355, + "scope": 10518, "src": "4296:15:35", "stateVariable": false, "storageLocation": "default", @@ -6126,7 +6126,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10327, + "id": 10490, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4296:4:35", @@ -6139,17 +6139,17 @@ "visibility": "internal" } ], - "id": 10340, + "id": 10503, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10330, + "id": 10493, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10275, + "referencedDeclaration": 10438, "src": "4327:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6160,36 +6160,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10331, + "id": 10494, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4336:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10335, + "id": 10498, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10334, + "id": 10497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10332, + "id": 10495, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4341:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6201,7 +6201,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10333, + "id": 10496, "isConstant": false, "isLValue": false, "isPure": true, @@ -6237,25 +6237,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10336, + "id": 10499, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4349:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10338, + "id": 10501, "indexExpression": { "argumentTypes": null, - "id": 10337, + "id": 10500, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4354:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6289,18 +6289,18 @@ "typeString": "address" } ], - "id": 10329, + "id": 10492, "name": "getReserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "4315:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 10339, + "id": 10502, "isConstant": false, "isLValue": false, "isPure": false, @@ -6321,7 +6321,7 @@ { "expression": { "argumentTypes": null, - "id": 10353, + "id": 10516, "isConstant": false, "isLValue": false, "isPure": false, @@ -6330,36 +6330,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10341, + "id": 10504, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4371:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10345, + "id": 10508, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10344, + "id": 10507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10342, + "id": 10505, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4379:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6371,7 +6371,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10343, + "id": 10506, "isConstant": false, "isLValue": false, "isPure": true, @@ -6412,25 +6412,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10347, + "id": 10510, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4400:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10349, + "id": 10512, "indexExpression": { "argumentTypes": null, - "id": 10348, + "id": 10511, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4408:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6450,11 +6450,11 @@ }, { "argumentTypes": null, - "id": 10350, + "id": 10513, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10326, + "referencedDeclaration": 10489, "src": "4412:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6463,11 +6463,11 @@ }, { "argumentTypes": null, - "id": 10351, + "id": 10514, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10328, + "referencedDeclaration": 10491, "src": "4423:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6490,18 +6490,18 @@ "typeString": "uint256" } ], - "id": 10346, + "id": 10509, "name": "getAmountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10192, + "referencedDeclaration": 10355, "src": "4388:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 10352, + "id": 10515, "isConstant": false, "isLValue": false, "isPure": false, @@ -6522,7 +6522,7 @@ "typeString": "uint256" } }, - "id": 10354, + "id": 10517, "nodeType": "ExpressionStatement", "src": "4371:63:35" } @@ -6534,18 +6534,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10321, + "id": 10484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10319, + "id": 10482, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4253:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6557,7 +6557,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10320, + "id": 10483, "isConstant": false, "isLValue": false, "isPure": true, @@ -6578,20 +6578,20 @@ "typeString": "bool" } }, - "id": 10356, + "id": 10519, "initializationExpression": { "assignments": [ - 10313 + 10476 ], "declarations": [ { "constant": false, - "id": 10313, + "id": 10476, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10356, + "scope": 10519, "src": "4227:6:35", "stateVariable": false, "storageLocation": "default", @@ -6600,7 +6600,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10312, + "id": 10475, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4227:4:35", @@ -6613,14 +6613,14 @@ "visibility": "internal" } ], - "id": 10318, + "id": 10481, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10317, + "id": 10480, "isConstant": false, "isLValue": false, "isPure": false, @@ -6629,18 +6629,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10314, + "id": 10477, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4236:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10315, + "id": 10478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6659,7 +6659,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10316, + "id": 10479, "isConstant": false, "isLValue": false, "isPure": true, @@ -6686,7 +6686,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 10323, + "id": 10486, "isConstant": false, "isLValue": false, "isPure": false, @@ -6697,11 +6697,11 @@ "src": "4260:3:35", "subExpression": { "argumentTypes": null, - "id": 10322, + "id": 10485, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4260:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6713,7 +6713,7 @@ "typeString": "uint256" } }, - "id": 10324, + "id": 10487, "nodeType": "ExpressionStatement", "src": "4260:3:35" }, @@ -6723,7 +6723,7 @@ ] }, "documentation": null, - "id": 10358, + "id": 10521, "implemented": true, "kind": "function", "modifiers": [], @@ -6731,17 +6731,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10281, + "id": 10444, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10275, + "id": 10438, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3949:15:35", "stateVariable": false, "storageLocation": "default", @@ -6750,7 +6750,7 @@ "typeString": "address" }, "typeName": { - "id": 10274, + "id": 10437, "name": "address", "nodeType": "ElementaryTypeName", "src": "3949:7:35", @@ -6765,12 +6765,12 @@ }, { "constant": false, - "id": 10277, + "id": 10440, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3966:14:35", "stateVariable": false, "storageLocation": "default", @@ -6779,7 +6779,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10276, + "id": 10439, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3966:4:35", @@ -6793,12 +6793,12 @@ }, { "constant": false, - "id": 10280, + "id": 10443, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3982:21:35", "stateVariable": false, "storageLocation": "memory", @@ -6808,7 +6808,7 @@ }, "typeName": { "baseType": { - "id": 10278, + "id": 10441, "name": "address", "nodeType": "ElementaryTypeName", "src": "3982:7:35", @@ -6818,7 +6818,7 @@ "typeString": "address" } }, - "id": 10279, + "id": 10442, "length": null, "nodeType": "ArrayTypeName", "src": "3982:9:35", @@ -6834,17 +6834,17 @@ "src": "3948:56:35" }, "returnParameters": { - "id": 10285, + "id": 10448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10284, + "id": 10447, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "4028:21:35", "stateVariable": false, "storageLocation": "memory", @@ -6854,7 +6854,7 @@ }, "typeName": { "baseType": { - "id": 10282, + "id": 10445, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4028:4:35", @@ -6863,7 +6863,7 @@ "typeString": "uint256" } }, - "id": 10283, + "id": 10446, "length": null, "nodeType": "ArrayTypeName", "src": "4028:6:35", @@ -6878,14 +6878,14 @@ ], "src": "4027:23:35" }, - "scope": 10359, + "scope": 10522, "src": "3927:524:35", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 10360, + "scope": 10523, "src": "120:4333:35" } ], @@ -6895,14 +6895,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "exportedSymbols": { "UniswapV2Library": [ - 10359 + 10522 ] }, - "id": 10360, + "id": 10523, "nodeType": "SourceUnit", "nodes": [ { - "id": 9889, + "id": 10052, "literals": [ "solidity", ">=", @@ -6915,10 +6915,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 9890, + "id": 10053, "nodeType": "ImportDirective", - "scope": 10360, - "sourceUnit": 7275, + "scope": 10523, + "sourceUnit": 7438, "src": "26:66:35", "symbolAliases": [], "unitAlias": "" @@ -6926,10 +6926,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/SafeMath.sol", "file": "./SafeMath.sol", - "id": 9891, + "id": 10054, "nodeType": "ImportDirective", - "scope": 10360, - "sourceUnit": 9888, + "scope": 10523, + "sourceUnit": 10051, "src": "94:24:35", "symbolAliases": [], "unitAlias": "" @@ -6941,31 +6941,31 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 10359, + "id": 10522, "linearizedBaseContracts": [ - 10359 + 10522 ], "name": "UniswapV2Library", "nodeType": "ContractDefinition", "nodes": [ { - "id": 9894, + "id": 10057, "libraryName": { "contractScope": null, - "id": 9892, + "id": 10055, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "157:8:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "151:24:35", "typeName": { - "id": 9893, + "id": 10056, "name": "uint", "nodeType": "ElementaryTypeName", "src": "170:4:35", @@ -6977,7 +6977,7 @@ }, { "body": { - "id": 9937, + "id": 10100, "nodeType": "Block", "src": "388:238:35", "statements": [ @@ -6991,18 +6991,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9908, + "id": 10071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9906, + "id": 10069, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "406:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7013,11 +7013,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 9907, + "id": 10070, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "416:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7033,7 +7033,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553", - "id": 9909, + "id": 10072, "isConstant": false, "isLValue": false, "isPure": true, @@ -7060,7 +7060,7 @@ "typeString": "literal_string \"UniswapV2Library: IDENTICAL_ADDRESSES\"" } ], - "id": 9905, + "id": 10068, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7074,7 +7074,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9910, + "id": 10073, "isConstant": false, "isLValue": false, "isPure": false, @@ -7089,14 +7089,14 @@ "typeString": "tuple()" } }, - "id": 9911, + "id": 10074, "nodeType": "ExpressionStatement", "src": "398:66:35" }, { "expression": { "argumentTypes": null, - "id": 9925, + "id": 10088, "isConstant": false, "isLValue": false, "isPure": false, @@ -7106,11 +7106,11 @@ "components": [ { "argumentTypes": null, - "id": 9912, + "id": 10075, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9901, + "referencedDeclaration": 10064, "src": "475:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7119,11 +7119,11 @@ }, { "argumentTypes": null, - "id": 9913, + "id": 10076, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9903, + "referencedDeclaration": 10066, "src": "483:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7131,7 +7131,7 @@ } } ], - "id": 9914, + "id": 10077, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -7154,18 +7154,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9917, + "id": 10080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9915, + "id": 10078, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "493:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7176,11 +7176,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 9916, + "id": 10079, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "502:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7198,11 +7198,11 @@ "components": [ { "argumentTypes": null, - "id": 9921, + "id": 10084, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "531:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7211,11 +7211,11 @@ }, { "argumentTypes": null, - "id": 9922, + "id": 10085, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "539:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7223,7 +7223,7 @@ } } ], - "id": 9923, + "id": 10086, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7236,7 +7236,7 @@ "typeString": "tuple(address,address)" } }, - "id": 9924, + "id": 10087, "isConstant": false, "isLValue": false, "isPure": false, @@ -7248,11 +7248,11 @@ "components": [ { "argumentTypes": null, - "id": 9918, + "id": 10081, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9896, + "referencedDeclaration": 10059, "src": "512:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7261,11 +7261,11 @@ }, { "argumentTypes": null, - "id": 9919, + "id": 10082, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, + "referencedDeclaration": 10061, "src": "520:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7273,7 +7273,7 @@ } } ], - "id": 9920, + "id": 10083, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7297,7 +7297,7 @@ "typeString": "tuple()" } }, - "id": 9926, + "id": 10089, "nodeType": "ExpressionStatement", "src": "474:72:35" }, @@ -7311,18 +7311,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9933, + "id": 10096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9928, + "id": 10091, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9901, + "referencedDeclaration": 10064, "src": "564:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7337,7 +7337,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 9931, + "id": 10094, "isConstant": false, "isLValue": false, "isPure": true, @@ -7360,7 +7360,7 @@ "typeString": "int_const 0" } ], - "id": 9930, + "id": 10093, "isConstant": false, "isLValue": false, "isPure": true, @@ -7372,7 +7372,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9929, + "id": 10092, "name": "address", "nodeType": "ElementaryTypeName", "src": "574:7:35", @@ -7382,7 +7382,7 @@ } } }, - "id": 9932, + "id": 10095, "isConstant": false, "isLValue": false, "isPure": true, @@ -7406,7 +7406,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a205a45524f5f41444452455353", - "id": 9934, + "id": 10097, "isConstant": false, "isLValue": false, "isPure": true, @@ -7433,7 +7433,7 @@ "typeString": "literal_string \"UniswapV2Library: ZERO_ADDRESS\"" } ], - "id": 9927, + "id": 10090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7447,7 +7447,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9935, + "id": 10098, "isConstant": false, "isLValue": false, "isPure": false, @@ -7462,14 +7462,14 @@ "typeString": "tuple()" } }, - "id": 9936, + "id": 10099, "nodeType": "ExpressionStatement", "src": "556:63:35" } ] }, "documentation": null, - "id": 9938, + "id": 10101, "implemented": true, "kind": "function", "modifiers": [], @@ -7477,17 +7477,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9899, + "id": 10062, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9896, + "id": 10059, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "301:14:35", "stateVariable": false, "storageLocation": "default", @@ -7496,7 +7496,7 @@ "typeString": "address" }, "typeName": { - "id": 9895, + "id": 10058, "name": "address", "nodeType": "ElementaryTypeName", "src": "301:7:35", @@ -7511,12 +7511,12 @@ }, { "constant": false, - "id": 9898, + "id": 10061, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "317:14:35", "stateVariable": false, "storageLocation": "default", @@ -7525,7 +7525,7 @@ "typeString": "address" }, "typeName": { - "id": 9897, + "id": 10060, "name": "address", "nodeType": "ElementaryTypeName", "src": "317:7:35", @@ -7542,17 +7542,17 @@ "src": "300:32:35" }, "returnParameters": { - "id": 9904, + "id": 10067, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9901, + "id": 10064, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "356:14:35", "stateVariable": false, "storageLocation": "default", @@ -7561,7 +7561,7 @@ "typeString": "address" }, "typeName": { - "id": 9900, + "id": 10063, "name": "address", "nodeType": "ElementaryTypeName", "src": "356:7:35", @@ -7576,12 +7576,12 @@ }, { "constant": false, - "id": 9903, + "id": 10066, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9938, + "scope": 10101, "src": "372:14:35", "stateVariable": false, "storageLocation": "default", @@ -7590,7 +7590,7 @@ "typeString": "address" }, "typeName": { - "id": 9902, + "id": 10065, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:35", @@ -7606,7 +7606,7 @@ ], "src": "355:32:35" }, - "scope": 10359, + "scope": 10522, "src": "281:345:35", "stateMutability": "pure", "virtual": false, @@ -7614,24 +7614,24 @@ }, { "body": { - "id": 9982, + "id": 10145, "nodeType": "Block", "src": "818:367:35", "statements": [ { "assignments": [ - 9950, - 9952 + 10113, + 10115 ], "declarations": [ { "constant": false, - "id": 9950, + "id": 10113, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9982, + "scope": 10145, "src": "829:14:35", "stateVariable": false, "storageLocation": "default", @@ -7640,7 +7640,7 @@ "typeString": "address" }, "typeName": { - "id": 9949, + "id": 10112, "name": "address", "nodeType": "ElementaryTypeName", "src": "829:7:35", @@ -7655,12 +7655,12 @@ }, { "constant": false, - "id": 9952, + "id": 10115, "mutability": "mutable", "name": "token1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9982, + "scope": 10145, "src": "845:14:35", "stateVariable": false, "storageLocation": "default", @@ -7669,7 +7669,7 @@ "typeString": "address" }, "typeName": { - "id": 9951, + "id": 10114, "name": "address", "nodeType": "ElementaryTypeName", "src": "845:7:35", @@ -7683,17 +7683,17 @@ "visibility": "internal" } ], - "id": 9957, + "id": 10120, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9954, + "id": 10117, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9942, + "referencedDeclaration": 10105, "src": "874:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7702,11 +7702,11 @@ }, { "argumentTypes": null, - "id": 9955, + "id": 10118, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9944, + "referencedDeclaration": 10107, "src": "882:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7725,18 +7725,18 @@ "typeString": "address" } ], - "id": 9953, + "id": 10116, "name": "sortTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "863:10:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 9956, + "id": 10119, "isConstant": false, "isLValue": false, "isPure": false, @@ -7757,18 +7757,18 @@ { "expression": { "argumentTypes": null, - "id": 9980, + "id": 10143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 9958, + "id": 10121, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9947, + "referencedDeclaration": 10110, "src": "899:4:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7792,7 +7792,7 @@ { "argumentTypes": null, "hexValue": "ff", - "id": 9966, + "id": 10129, "isConstant": false, "isLValue": false, "isPure": true, @@ -7809,11 +7809,11 @@ }, { "argumentTypes": null, - "id": 9967, + "id": 10130, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9940, + "referencedDeclaration": 10103, "src": "988:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7828,11 +7828,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9971, + "id": 10134, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9950, + "referencedDeclaration": 10113, "src": "1040:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7841,11 +7841,11 @@ }, { "argumentTypes": null, - "id": 9972, + "id": 10135, "name": "token1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9952, + "referencedDeclaration": 10115, "src": "1048:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7866,7 +7866,7 @@ ], "expression": { "argumentTypes": null, - "id": 9969, + "id": 10132, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7877,7 +7877,7 @@ "typeString": "abi" } }, - "id": 9970, + "id": 10133, "isConstant": false, "isLValue": false, "isPure": true, @@ -7891,7 +7891,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 9973, + "id": 10136, "isConstant": false, "isLValue": false, "isPure": false, @@ -7914,7 +7914,7 @@ "typeString": "bytes memory" } ], - "id": 9968, + "id": 10131, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7925,7 +7925,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 9974, + "id": 10137, "isConstant": false, "isLValue": false, "isPure": false, @@ -7943,7 +7943,7 @@ { "argumentTypes": null, "hexValue": "96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f", - "id": 9975, + "id": 10138, "isConstant": false, "isLValue": false, "isPure": true, @@ -7980,7 +7980,7 @@ ], "expression": { "argumentTypes": null, - "id": 9964, + "id": 10127, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -7991,7 +7991,7 @@ "typeString": "abi" } }, - "id": 9965, + "id": 10128, "isConstant": false, "isLValue": false, "isPure": true, @@ -8005,7 +8005,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 9976, + "id": 10139, "isConstant": false, "isLValue": false, "isPure": false, @@ -8028,7 +8028,7 @@ "typeString": "bytes memory" } ], - "id": 9963, + "id": 10126, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8039,7 +8039,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 9977, + "id": 10140, "isConstant": false, "isLValue": false, "isPure": false, @@ -8062,7 +8062,7 @@ "typeString": "bytes32" } ], - "id": 9962, + "id": 10125, "isConstant": false, "isLValue": false, "isPure": true, @@ -8074,7 +8074,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 9961, + "id": 10124, "name": "uint", "nodeType": "ElementaryTypeName", "src": "914:4:35", @@ -8084,7 +8084,7 @@ } } }, - "id": 9978, + "id": 10141, "isConstant": false, "isLValue": false, "isPure": false, @@ -8107,7 +8107,7 @@ "typeString": "uint256" } ], - "id": 9960, + "id": 10123, "isConstant": false, "isLValue": false, "isPure": true, @@ -8119,7 +8119,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9959, + "id": 10122, "name": "address", "nodeType": "ElementaryTypeName", "src": "906:7:35", @@ -8129,7 +8129,7 @@ } } }, - "id": 9979, + "id": 10142, "isConstant": false, "isLValue": false, "isPure": false, @@ -8150,14 +8150,14 @@ "typeString": "address" } }, - "id": 9981, + "id": 10144, "nodeType": "ExpressionStatement", "src": "899:279:35" } ] }, "documentation": null, - "id": 9983, + "id": 10146, "implemented": true, "kind": "function", "modifiers": [], @@ -8165,17 +8165,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9945, + "id": 10108, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9940, + "id": 10103, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "732:15:35", "stateVariable": false, "storageLocation": "default", @@ -8184,7 +8184,7 @@ "typeString": "address" }, "typeName": { - "id": 9939, + "id": 10102, "name": "address", "nodeType": "ElementaryTypeName", "src": "732:7:35", @@ -8199,12 +8199,12 @@ }, { "constant": false, - "id": 9942, + "id": 10105, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "749:14:35", "stateVariable": false, "storageLocation": "default", @@ -8213,7 +8213,7 @@ "typeString": "address" }, "typeName": { - "id": 9941, + "id": 10104, "name": "address", "nodeType": "ElementaryTypeName", "src": "749:7:35", @@ -8228,12 +8228,12 @@ }, { "constant": false, - "id": 9944, + "id": 10107, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "765:14:35", "stateVariable": false, "storageLocation": "default", @@ -8242,7 +8242,7 @@ "typeString": "address" }, "typeName": { - "id": 9943, + "id": 10106, "name": "address", "nodeType": "ElementaryTypeName", "src": "765:7:35", @@ -8259,17 +8259,17 @@ "src": "731:49:35" }, "returnParameters": { - "id": 9948, + "id": 10111, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9947, + "id": 10110, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9983, + "scope": 10146, "src": "804:12:35", "stateVariable": false, "storageLocation": "default", @@ -8278,7 +8278,7 @@ "typeString": "address" }, "typeName": { - "id": 9946, + "id": 10109, "name": "address", "nodeType": "ElementaryTypeName", "src": "804:7:35", @@ -8294,7 +8294,7 @@ ], "src": "803:14:35" }, - "scope": 10359, + "scope": 10522, "src": "715:470:35", "stateMutability": "pure", "virtual": false, @@ -8302,24 +8302,24 @@ }, { "body": { - "id": 10032, + "id": 10195, "nodeType": "Block", "src": "1363:264:35", "statements": [ { "assignments": [ - 9997, + 10160, null ], "declarations": [ { "constant": false, - "id": 9997, + "id": 10160, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1374:14:35", "stateVariable": false, "storageLocation": "default", @@ -8328,7 +8328,7 @@ "typeString": "address" }, "typeName": { - "id": 9996, + "id": 10159, "name": "address", "nodeType": "ElementaryTypeName", "src": "1374:7:35", @@ -8343,17 +8343,17 @@ }, null ], - "id": 10002, + "id": 10165, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9999, + "id": 10162, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1404:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8362,11 +8362,11 @@ }, { "argumentTypes": null, - "id": 10000, + "id": 10163, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9989, + "referencedDeclaration": 10152, "src": "1412:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8385,18 +8385,18 @@ "typeString": "address" } ], - "id": 9998, + "id": 10161, "name": "sortTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "1393:10:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 10001, + "id": 10164, "isConstant": false, "isLValue": false, "isPure": false, @@ -8416,19 +8416,19 @@ }, { "assignments": [ - 10004, - 10006, + 10167, + 10169, null ], "declarations": [ { "constant": false, - "id": 10004, + "id": 10167, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1430:13:35", "stateVariable": false, "storageLocation": "default", @@ -8437,7 +8437,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10003, + "id": 10166, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1430:4:35", @@ -8451,12 +8451,12 @@ }, { "constant": false, - "id": 10006, + "id": 10169, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10032, + "scope": 10195, "src": "1445:13:35", "stateVariable": false, "storageLocation": "default", @@ -8465,7 +8465,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10005, + "id": 10168, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1445:4:35", @@ -8479,7 +8479,7 @@ }, null ], - "id": 10016, + "id": 10179, "initialValue": { "argumentTypes": null, "arguments": [], @@ -8493,11 +8493,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10009, + "id": 10172, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9985, + "referencedDeclaration": 10148, "src": "1486:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8506,11 +8506,11 @@ }, { "argumentTypes": null, - "id": 10010, + "id": 10173, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1495:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8519,11 +8519,11 @@ }, { "argumentTypes": null, - "id": 10011, + "id": 10174, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9989, + "referencedDeclaration": 10152, "src": "1503:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8546,18 +8546,18 @@ "typeString": "address" } ], - "id": 10008, + "id": 10171, "name": "pairFor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "1478:7:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 10012, + "id": 10175, "isConstant": false, "isLValue": false, "isPure": false, @@ -8580,18 +8580,18 @@ "typeString": "address" } ], - "id": 10007, + "id": 10170, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1463:14:35", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10013, + "id": 10176, "isConstant": false, "isLValue": false, "isPure": false, @@ -8602,25 +8602,25 @@ "src": "1463:48:35", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10014, + "id": 10177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "1463:60:35", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 10015, + "id": 10178, "isConstant": false, "isLValue": false, "isPure": false, @@ -8641,7 +8641,7 @@ { "expression": { "argumentTypes": null, - "id": 10030, + "id": 10193, "isConstant": false, "isLValue": false, "isPure": false, @@ -8651,11 +8651,11 @@ "components": [ { "argumentTypes": null, - "id": 10017, + "id": 10180, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9992, + "referencedDeclaration": 10155, "src": "1536:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8664,11 +8664,11 @@ }, { "argumentTypes": null, - "id": 10018, + "id": 10181, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9994, + "referencedDeclaration": 10157, "src": "1546:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8676,7 +8676,7 @@ } } ], - "id": 10019, + "id": 10182, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -8699,18 +8699,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10022, + "id": 10185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10020, + "id": 10183, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9987, + "referencedDeclaration": 10150, "src": "1558:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8721,11 +8721,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 10021, + "id": 10184, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9997, + "referencedDeclaration": 10160, "src": "1568:6:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8743,11 +8743,11 @@ "components": [ { "argumentTypes": null, - "id": 10026, + "id": 10189, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10006, + "referencedDeclaration": 10169, "src": "1601:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8756,11 +8756,11 @@ }, { "argumentTypes": null, - "id": 10027, + "id": 10190, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10004, + "referencedDeclaration": 10167, "src": "1611:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8768,7 +8768,7 @@ } } ], - "id": 10028, + "id": 10191, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8781,7 +8781,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 10029, + "id": 10192, "isConstant": false, "isLValue": false, "isPure": false, @@ -8793,11 +8793,11 @@ "components": [ { "argumentTypes": null, - "id": 10023, + "id": 10186, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10004, + "referencedDeclaration": 10167, "src": "1578:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8806,11 +8806,11 @@ }, { "argumentTypes": null, - "id": 10024, + "id": 10187, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10006, + "referencedDeclaration": 10169, "src": "1588:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8818,7 +8818,7 @@ } } ], - "id": 10025, + "id": 10188, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -8842,14 +8842,14 @@ "typeString": "tuple()" } }, - "id": 10031, + "id": 10194, "nodeType": "ExpressionStatement", "src": "1535:85:35" } ] }, "documentation": null, - "id": 10033, + "id": 10196, "implemented": true, "kind": "function", "modifiers": [], @@ -8857,17 +8857,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 9990, + "id": 10153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9985, + "id": 10148, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1261:15:35", "stateVariable": false, "storageLocation": "default", @@ -8876,7 +8876,7 @@ "typeString": "address" }, "typeName": { - "id": 9984, + "id": 10147, "name": "address", "nodeType": "ElementaryTypeName", "src": "1261:7:35", @@ -8891,12 +8891,12 @@ }, { "constant": false, - "id": 9987, + "id": 10150, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1278:14:35", "stateVariable": false, "storageLocation": "default", @@ -8905,7 +8905,7 @@ "typeString": "address" }, "typeName": { - "id": 9986, + "id": 10149, "name": "address", "nodeType": "ElementaryTypeName", "src": "1278:7:35", @@ -8920,12 +8920,12 @@ }, { "constant": false, - "id": 9989, + "id": 10152, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1294:14:35", "stateVariable": false, "storageLocation": "default", @@ -8934,7 +8934,7 @@ "typeString": "address" }, "typeName": { - "id": 9988, + "id": 10151, "name": "address", "nodeType": "ElementaryTypeName", "src": "1294:7:35", @@ -8951,17 +8951,17 @@ "src": "1260:49:35" }, "returnParameters": { - "id": 9995, + "id": 10158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9992, + "id": 10155, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1333:13:35", "stateVariable": false, "storageLocation": "default", @@ -8970,7 +8970,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9991, + "id": 10154, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1333:4:35", @@ -8984,12 +8984,12 @@ }, { "constant": false, - "id": 9994, + "id": 10157, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10033, + "scope": 10196, "src": "1348:13:35", "stateVariable": false, "storageLocation": "default", @@ -8998,7 +8998,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9993, + "id": 10156, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1348:4:35", @@ -9013,7 +9013,7 @@ ], "src": "1332:30:35" }, - "scope": 10359, + "scope": 10522, "src": "1240:387:35", "stateMutability": "view", "virtual": false, @@ -9021,7 +9021,7 @@ }, { "body": { - "id": 10071, + "id": 10234, "nodeType": "Block", "src": "1833:221:35", "statements": [ @@ -9035,18 +9035,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10047, + "id": 10210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10045, + "id": 10208, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, + "referencedDeclaration": 10198, "src": "1851:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9058,7 +9058,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10046, + "id": 10209, "isConstant": false, "isLValue": false, "isPure": true, @@ -9082,7 +9082,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54", - "id": 10048, + "id": 10211, "isConstant": false, "isLValue": false, "isPure": true, @@ -9109,7 +9109,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_AMOUNT\"" } ], - "id": 10044, + "id": 10207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9123,7 +9123,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10049, + "id": 10212, "isConstant": false, "isLValue": false, "isPure": false, @@ -9138,7 +9138,7 @@ "typeString": "tuple()" } }, - "id": 10050, + "id": 10213, "nodeType": "ExpressionStatement", "src": "1843:61:35" }, @@ -9152,7 +9152,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10058, + "id": 10221, "isConstant": false, "isLValue": false, "isPure": false, @@ -9163,18 +9163,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10054, + "id": 10217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10052, + "id": 10215, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10037, + "referencedDeclaration": 10200, "src": "1922:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9186,7 +9186,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10053, + "id": 10216, "isConstant": false, "isLValue": false, "isPure": true, @@ -9215,18 +9215,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10057, + "id": 10220, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10055, + "id": 10218, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10039, + "referencedDeclaration": 10202, "src": "1938:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9238,7 +9238,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10056, + "id": 10219, "isConstant": false, "isLValue": false, "isPure": true, @@ -9268,7 +9268,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10059, + "id": 10222, "isConstant": false, "isLValue": false, "isPure": true, @@ -9295,7 +9295,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10051, + "id": 10214, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9309,7 +9309,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10060, + "id": 10223, "isConstant": false, "isLValue": false, "isPure": false, @@ -9324,25 +9324,25 @@ "typeString": "tuple()" } }, - "id": 10061, + "id": 10224, "nodeType": "ExpressionStatement", "src": "1914:81:35" }, { "expression": { "argumentTypes": null, - "id": 10069, + "id": 10232, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10062, + "id": 10225, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10042, + "referencedDeclaration": 10205, "src": "2005:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9357,7 +9357,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10068, + "id": 10231, "isConstant": false, "isLValue": false, "isPure": false, @@ -9367,11 +9367,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10065, + "id": 10228, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10039, + "referencedDeclaration": 10202, "src": "2027:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9388,32 +9388,32 @@ ], "expression": { "argumentTypes": null, - "id": 10063, + "id": 10226, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, + "referencedDeclaration": 10198, "src": "2015:7:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10064, + "id": 10227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2015:11: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": 10066, + "id": 10229, "isConstant": false, "isLValue": false, "isPure": false, @@ -9432,11 +9432,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10067, + "id": 10230, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10037, + "referencedDeclaration": 10200, "src": "2039:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9455,14 +9455,14 @@ "typeString": "uint256" } }, - "id": 10070, + "id": 10233, "nodeType": "ExpressionStatement", "src": "2005:42:35" } ] }, "documentation": null, - "id": 10072, + "id": 10235, "implemented": true, "kind": "function", "modifiers": [], @@ -9470,17 +9470,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10040, + "id": 10203, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10035, + "id": 10198, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1752:12:35", "stateVariable": false, "storageLocation": "default", @@ -9489,7 +9489,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10034, + "id": 10197, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1752:4:35", @@ -9503,12 +9503,12 @@ }, { "constant": false, - "id": 10037, + "id": 10200, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1766:13:35", "stateVariable": false, "storageLocation": "default", @@ -9517,7 +9517,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10036, + "id": 10199, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1766:4:35", @@ -9531,12 +9531,12 @@ }, { "constant": false, - "id": 10039, + "id": 10202, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1781:13:35", "stateVariable": false, "storageLocation": "default", @@ -9545,7 +9545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10038, + "id": 10201, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1781:4:35", @@ -9561,17 +9561,17 @@ "src": "1751:44:35" }, "returnParameters": { - "id": 10043, + "id": 10206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10042, + "id": 10205, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10072, + "scope": 10235, "src": "1819:12:35", "stateVariable": false, "storageLocation": "default", @@ -9580,7 +9580,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10041, + "id": 10204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1819:4:35", @@ -9595,7 +9595,7 @@ ], "src": "1818:14:35" }, - "scope": 10359, + "scope": 10522, "src": "1737:317:35", "stateMutability": "pure", "virtual": false, @@ -9603,7 +9603,7 @@ }, { "body": { - "id": 10131, + "id": 10294, "nodeType": "Block", "src": "2282:401:35", "statements": [ @@ -9617,18 +9617,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10086, + "id": 10249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10084, + "id": 10247, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10074, + "referencedDeclaration": 10237, "src": "2300:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9640,7 +9640,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10085, + "id": 10248, "isConstant": false, "isLValue": false, "isPure": true, @@ -9664,7 +9664,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54", - "id": 10087, + "id": 10250, "isConstant": false, "isLValue": false, "isPure": true, @@ -9691,7 +9691,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\"" } ], - "id": 10083, + "id": 10246, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9705,7 +9705,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10088, + "id": 10251, "isConstant": false, "isLValue": false, "isPure": false, @@ -9720,7 +9720,7 @@ "typeString": "tuple()" } }, - "id": 10089, + "id": 10252, "nodeType": "ExpressionStatement", "src": "2292:68:35" }, @@ -9734,7 +9734,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10097, + "id": 10260, "isConstant": false, "isLValue": false, "isPure": false, @@ -9745,18 +9745,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10093, + "id": 10256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10091, + "id": 10254, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10076, + "referencedDeclaration": 10239, "src": "2378:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9768,7 +9768,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10092, + "id": 10255, "isConstant": false, "isLValue": false, "isPure": true, @@ -9797,18 +9797,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10096, + "id": 10259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10094, + "id": 10257, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10078, + "referencedDeclaration": 10241, "src": "2395:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9820,7 +9820,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10095, + "id": 10258, "isConstant": false, "isLValue": false, "isPure": true, @@ -9850,7 +9850,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10098, + "id": 10261, "isConstant": false, "isLValue": false, "isPure": true, @@ -9877,7 +9877,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10090, + "id": 10253, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -9891,7 +9891,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10099, + "id": 10262, "isConstant": false, "isLValue": false, "isPure": false, @@ -9906,23 +9906,23 @@ "typeString": "tuple()" } }, - "id": 10100, + "id": 10263, "nodeType": "ExpressionStatement", "src": "2370:84:35" }, { "assignments": [ - 10102 + 10265 ], "declarations": [ { "constant": false, - "id": 10102, + "id": 10265, "mutability": "mutable", "name": "amountInWithFee", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2464:20:35", "stateVariable": false, "storageLocation": "default", @@ -9931,7 +9931,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10101, + "id": 10264, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2464:4:35", @@ -9944,14 +9944,14 @@ "visibility": "internal" } ], - "id": 10107, + "id": 10270, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "393937", - "id": 10105, + "id": 10268, "isConstant": false, "isLValue": false, "isPure": true, @@ -9976,32 +9976,32 @@ ], "expression": { "argumentTypes": null, - "id": 10103, + "id": 10266, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10074, + "referencedDeclaration": 10237, "src": "2487:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10104, + "id": 10267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2487: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": 10106, + "id": 10269, "isConstant": false, "isLValue": false, "isPure": false, @@ -10021,17 +10021,17 @@ }, { "assignments": [ - 10109 + 10272 ], "declarations": [ { "constant": false, - "id": 10109, + "id": 10272, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2514:14:35", "stateVariable": false, "storageLocation": "default", @@ -10040,7 +10040,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10108, + "id": 10271, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2514:4:35", @@ -10053,17 +10053,17 @@ "visibility": "internal" } ], - "id": 10114, + "id": 10277, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10112, + "id": 10275, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10078, + "referencedDeclaration": 10241, "src": "2551:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10080,32 +10080,32 @@ ], "expression": { "argumentTypes": null, - "id": 10110, + "id": 10273, "name": "amountInWithFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10102, + "referencedDeclaration": 10265, "src": "2531:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10111, + "id": 10274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2531: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": 10113, + "id": 10276, "isConstant": false, "isLValue": false, "isPure": false, @@ -10125,17 +10125,17 @@ }, { "assignments": [ - 10116 + 10279 ], "declarations": [ { "constant": false, - "id": 10116, + "id": 10279, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10131, + "scope": 10294, "src": "2572:16:35", "stateVariable": false, "storageLocation": "default", @@ -10144,7 +10144,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10115, + "id": 10278, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2572:4:35", @@ -10157,17 +10157,17 @@ "visibility": "internal" } ], - "id": 10124, + "id": 10287, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10122, + "id": 10285, "name": "amountInWithFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10102, + "referencedDeclaration": 10265, "src": "2615:15:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10188,7 +10188,7 @@ { "argumentTypes": null, "hexValue": "31303030", - "id": 10119, + "id": 10282, "isConstant": false, "isLValue": false, "isPure": true, @@ -10213,32 +10213,32 @@ ], "expression": { "argumentTypes": null, - "id": 10117, + "id": 10280, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10076, + "referencedDeclaration": 10239, "src": "2591:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10118, + "id": 10281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "2591:13: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": 10120, + "id": 10283, "isConstant": false, "isLValue": false, "isPure": false, @@ -10253,21 +10253,21 @@ "typeString": "uint256" } }, - "id": 10121, + "id": 10284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 9836, + "referencedDeclaration": 9999, "src": "2591:23: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": 10123, + "id": 10286, "isConstant": false, "isLValue": false, "isPure": false, @@ -10288,18 +10288,18 @@ { "expression": { "argumentTypes": null, - "id": 10129, + "id": 10292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10125, + "id": 10288, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10081, + "referencedDeclaration": 10244, "src": "2641:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10314,18 +10314,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10128, + "id": 10291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10126, + "id": 10289, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10109, + "referencedDeclaration": 10272, "src": "2653:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10336,11 +10336,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10127, + "id": 10290, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10116, + "referencedDeclaration": 10279, "src": "2665:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10359,14 +10359,14 @@ "typeString": "uint256" } }, - "id": 10130, + "id": 10293, "nodeType": "ExpressionStatement", "src": "2641:35:35" } ] }, "documentation": null, - "id": 10132, + "id": 10295, "implemented": true, "kind": "function", "modifiers": [], @@ -10374,17 +10374,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10079, + "id": 10242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10074, + "id": 10237, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2195:13:35", "stateVariable": false, "storageLocation": "default", @@ -10393,7 +10393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10073, + "id": 10236, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2195:4:35", @@ -10407,12 +10407,12 @@ }, { "constant": false, - "id": 10076, + "id": 10239, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2210:14:35", "stateVariable": false, "storageLocation": "default", @@ -10421,7 +10421,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10075, + "id": 10238, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2210:4:35", @@ -10435,12 +10435,12 @@ }, { "constant": false, - "id": 10078, + "id": 10241, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2226:15:35", "stateVariable": false, "storageLocation": "default", @@ -10449,7 +10449,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10077, + "id": 10240, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2226:4:35", @@ -10465,17 +10465,17 @@ "src": "2194:48:35" }, "returnParameters": { - "id": 10082, + "id": 10245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10081, + "id": 10244, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10132, + "scope": 10295, "src": "2266:14:35", "stateVariable": false, "storageLocation": "default", @@ -10484,7 +10484,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10080, + "id": 10243, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2266:4:35", @@ -10499,7 +10499,7 @@ ], "src": "2265:16:35" }, - "scope": 10359, + "scope": 10522, "src": "2173:510:35", "stateMutability": "pure", "virtual": false, @@ -10507,7 +10507,7 @@ }, { "body": { - "id": 10191, + "id": 10354, "nodeType": "Block", "src": "2909:358:35", "statements": [ @@ -10521,18 +10521,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10146, + "id": 10309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10144, + "id": 10307, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "2927:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10544,7 +10544,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10145, + "id": 10308, "isConstant": false, "isLValue": false, "isPure": true, @@ -10568,7 +10568,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 10147, + "id": 10310, "isConstant": false, "isLValue": false, "isPure": true, @@ -10595,7 +10595,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 10143, + "id": 10306, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10609,7 +10609,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10148, + "id": 10311, "isConstant": false, "isLValue": false, "isPure": false, @@ -10624,7 +10624,7 @@ "typeString": "tuple()" } }, - "id": 10149, + "id": 10312, "nodeType": "ExpressionStatement", "src": "2919:70:35" }, @@ -10638,7 +10638,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10157, + "id": 10320, "isConstant": false, "isLValue": false, "isPure": false, @@ -10649,18 +10649,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10153, + "id": 10316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10151, + "id": 10314, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10136, + "referencedDeclaration": 10299, "src": "3007:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10672,7 +10672,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10152, + "id": 10315, "isConstant": false, "isLValue": false, "isPure": true, @@ -10701,18 +10701,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10156, + "id": 10319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10154, + "id": 10317, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10138, + "referencedDeclaration": 10301, "src": "3024:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10724,7 +10724,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10155, + "id": 10318, "isConstant": false, "isLValue": false, "isPure": true, @@ -10754,7 +10754,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459", - "id": 10158, + "id": 10321, "isConstant": false, "isLValue": false, "isPure": true, @@ -10781,7 +10781,7 @@ "typeString": "literal_string \"UniswapV2Library: INSUFFICIENT_LIQUIDITY\"" } ], - "id": 10150, + "id": 10313, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10795,7 +10795,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10159, + "id": 10322, "isConstant": false, "isLValue": false, "isPure": false, @@ -10810,23 +10810,23 @@ "typeString": "tuple()" } }, - "id": 10160, + "id": 10323, "nodeType": "ExpressionStatement", "src": "2999:84:35" }, { "assignments": [ - 10162 + 10325 ], "declarations": [ { "constant": false, - "id": 10162, + "id": 10325, "mutability": "mutable", "name": "numerator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10191, + "scope": 10354, "src": "3093:14:35", "stateVariable": false, "storageLocation": "default", @@ -10835,7 +10835,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10161, + "id": 10324, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3093:4:35", @@ -10848,14 +10848,14 @@ "visibility": "internal" } ], - "id": 10170, + "id": 10333, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "31303030", - "id": 10168, + "id": 10331, "isConstant": false, "isLValue": false, "isPure": true, @@ -10883,11 +10883,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10165, + "id": 10328, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "3124:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10904,32 +10904,32 @@ ], "expression": { "argumentTypes": null, - "id": 10163, + "id": 10326, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10136, + "referencedDeclaration": 10299, "src": "3110:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10164, + "id": 10327, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3110:13: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": 10166, + "id": 10329, "isConstant": false, "isLValue": false, "isPure": false, @@ -10944,21 +10944,21 @@ "typeString": "uint256" } }, - "id": 10167, + "id": 10330, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3110:28: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": 10169, + "id": 10332, "isConstant": false, "isLValue": false, "isPure": false, @@ -10978,17 +10978,17 @@ }, { "assignments": [ - 10172 + 10335 ], "declarations": [ { "constant": false, - "id": 10172, + "id": 10335, "mutability": "mutable", "name": "denominator", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10191, + "scope": 10354, "src": "3154:16:35", "stateVariable": false, "storageLocation": "default", @@ -10997,7 +10997,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10171, + "id": 10334, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3154:4:35", @@ -11010,14 +11010,14 @@ "visibility": "internal" } ], - "id": 10180, + "id": 10343, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "393937", - "id": 10178, + "id": 10341, "isConstant": false, "isLValue": false, "isPure": true, @@ -11045,11 +11045,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10175, + "id": 10338, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10134, + "referencedDeclaration": 10297, "src": "3188:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11066,32 +11066,32 @@ ], "expression": { "argumentTypes": null, - "id": 10173, + "id": 10336, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10138, + "referencedDeclaration": 10301, "src": "3173:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10174, + "id": 10337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "3173: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": 10176, + "id": 10339, "isConstant": false, "isLValue": false, "isPure": false, @@ -11106,21 +11106,21 @@ "typeString": "uint256" } }, - "id": 10177, + "id": 10340, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 9886, + "referencedDeclaration": 10049, "src": "3173: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": 10179, + "id": 10342, "isConstant": false, "isLValue": false, "isPure": false, @@ -11141,18 +11141,18 @@ { "expression": { "argumentTypes": null, - "id": 10189, + "id": 10352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10181, + "id": 10344, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10141, + "referencedDeclaration": 10304, "src": "3217:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11167,7 +11167,7 @@ { "argumentTypes": null, "hexValue": "31", - "id": 10187, + "id": 10350, "isConstant": false, "isLValue": false, "isPure": true, @@ -11199,18 +11199,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10184, + "id": 10347, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10182, + "id": 10345, "name": "numerator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10162, + "referencedDeclaration": 10325, "src": "3229:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11221,11 +11221,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 10183, + "id": 10346, "name": "denominator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10172, + "referencedDeclaration": 10335, "src": "3241:11:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11239,7 +11239,7 @@ } } ], - "id": 10185, + "id": 10348, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -11252,21 +11252,21 @@ "typeString": "uint256" } }, - "id": 10186, + "id": 10349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 9836, + "referencedDeclaration": 9999, "src": "3228: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": 10188, + "id": 10351, "isConstant": false, "isLValue": false, "isPure": false, @@ -11287,14 +11287,14 @@ "typeString": "uint256" } }, - "id": 10190, + "id": 10353, "nodeType": "ExpressionStatement", "src": "3217:43:35" } ] }, "documentation": null, - "id": 10192, + "id": 10355, "implemented": true, "kind": "function", "modifiers": [], @@ -11302,17 +11302,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10139, + "id": 10302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10134, + "id": 10297, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2822:14:35", "stateVariable": false, "storageLocation": "default", @@ -11321,7 +11321,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10133, + "id": 10296, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2822:4:35", @@ -11335,12 +11335,12 @@ }, { "constant": false, - "id": 10136, + "id": 10299, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2838:14:35", "stateVariable": false, "storageLocation": "default", @@ -11349,7 +11349,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10135, + "id": 10298, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2838:4:35", @@ -11363,12 +11363,12 @@ }, { "constant": false, - "id": 10138, + "id": 10301, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2854:15:35", "stateVariable": false, "storageLocation": "default", @@ -11377,7 +11377,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10137, + "id": 10300, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2854:4:35", @@ -11393,17 +11393,17 @@ "src": "2821:49:35" }, "returnParameters": { - "id": 10142, + "id": 10305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10141, + "id": 10304, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10192, + "scope": 10355, "src": "2894:13:35", "stateVariable": false, "storageLocation": "default", @@ -11412,7 +11412,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10140, + "id": 10303, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2894:4:35", @@ -11427,7 +11427,7 @@ ], "src": "2893:15:35" }, - "scope": 10359, + "scope": 10522, "src": "2801:466:35", "stateMutability": "pure", "virtual": false, @@ -11435,7 +11435,7 @@ }, { "body": { - "id": 10272, + "id": 10435, "nodeType": "Block", "src": "3470:379:35", "statements": [ @@ -11449,7 +11449,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10209, + "id": 10372, "isConstant": false, "isLValue": false, "isPure": false, @@ -11458,18 +11458,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10206, + "id": 10369, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3488:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10207, + "id": 10370, "isConstant": false, "isLValue": false, "isPure": false, @@ -11488,7 +11488,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10208, + "id": 10371, "isConstant": false, "isLValue": false, "isPure": true, @@ -11512,7 +11512,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": 10210, + "id": 10373, "isConstant": false, "isLValue": false, "isPure": true, @@ -11539,7 +11539,7 @@ "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" } ], - "id": 10205, + "id": 10368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11553,7 +11553,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10211, + "id": 10374, "isConstant": false, "isLValue": false, "isPure": false, @@ -11568,25 +11568,25 @@ "typeString": "tuple()" } }, - "id": 10212, + "id": 10375, "nodeType": "ExpressionStatement", "src": "3480:59:35" }, { "expression": { "argumentTypes": null, - "id": 10220, + "id": 10383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10213, + "id": 10376, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3549:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -11602,18 +11602,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10217, + "id": 10380, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3570:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10218, + "id": 10381, "isConstant": false, "isLValue": false, "isPure": false, @@ -11635,7 +11635,7 @@ "typeString": "uint256" } ], - "id": 10216, + "id": 10379, "isConstant": false, "isLValue": false, "isPure": true, @@ -11648,7 +11648,7 @@ }, "typeName": { "baseType": { - "id": 10214, + "id": 10377, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3563:4:35", @@ -11657,7 +11657,7 @@ "typeString": "uint256" } }, - "id": 10215, + "id": 10378, "length": null, "nodeType": "ArrayTypeName", "src": "3563:6:35", @@ -11667,7 +11667,7 @@ } } }, - "id": 10219, + "id": 10382, "isConstant": false, "isLValue": false, "isPure": false, @@ -11688,14 +11688,14 @@ "typeString": "uint256[] memory" } }, - "id": 10221, + "id": 10384, "nodeType": "ExpressionStatement", "src": "3549:33:35" }, { "expression": { "argumentTypes": null, - "id": 10226, + "id": 10389, "isConstant": false, "isLValue": false, "isPure": false, @@ -11704,22 +11704,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10222, + "id": 10385, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3592:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10224, + "id": 10387, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10223, + "id": 10386, "isConstant": false, "isLValue": false, "isPure": true, @@ -11749,11 +11749,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10225, + "id": 10388, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10196, + "referencedDeclaration": 10359, "src": "3605:8:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11766,30 +11766,30 @@ "typeString": "uint256" } }, - "id": 10227, + "id": 10390, "nodeType": "ExpressionStatement", "src": "3592:21:35" }, { "body": { - "id": 10270, + "id": 10433, "nodeType": "Block", "src": "3662:181:35", "statements": [ { "assignments": [ - 10241, - 10243 + 10404, + 10406 ], "declarations": [ { "constant": false, - "id": 10241, + "id": 10404, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10270, + "scope": 10433, "src": "3677:14:35", "stateVariable": false, "storageLocation": "default", @@ -11798,7 +11798,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10240, + "id": 10403, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3677:4:35", @@ -11812,12 +11812,12 @@ }, { "constant": false, - "id": 10243, + "id": 10406, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10270, + "scope": 10433, "src": "3693:15:35", "stateVariable": false, "storageLocation": "default", @@ -11826,7 +11826,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10242, + "id": 10405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3693:4:35", @@ -11839,17 +11839,17 @@ "visibility": "internal" } ], - "id": 10255, + "id": 10418, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10245, + "id": 10408, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10194, + "referencedDeclaration": 10357, "src": "3724:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11860,25 +11860,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10246, + "id": 10409, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3733:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10248, + "id": 10411, "indexExpression": { "argumentTypes": null, - "id": 10247, + "id": 10410, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3738:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11900,36 +11900,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10249, + "id": 10412, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3742:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10253, + "id": 10416, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10252, + "id": 10415, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10250, + "id": 10413, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3747:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11941,7 +11941,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10251, + "id": 10414, "isConstant": false, "isLValue": false, "isPure": true, @@ -11989,18 +11989,18 @@ "typeString": "address" } ], - "id": 10244, + "id": 10407, "name": "getReserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "3712:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 10254, + "id": 10417, "isConstant": false, "isLValue": false, "isPure": false, @@ -12021,7 +12021,7 @@ { "expression": { "argumentTypes": null, - "id": 10268, + "id": 10431, "isConstant": false, "isLValue": false, "isPure": false, @@ -12030,36 +12030,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10256, + "id": 10419, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3768:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10260, + "id": 10423, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10259, + "id": 10422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10257, + "id": 10420, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3776:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12071,7 +12071,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10258, + "id": 10421, "isConstant": false, "isLValue": false, "isPure": true, @@ -12112,25 +12112,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10262, + "id": 10425, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10203, + "referencedDeclaration": 10366, "src": "3798:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10264, + "id": 10427, "indexExpression": { "argumentTypes": null, - "id": 10263, + "id": 10426, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3806:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12150,11 +12150,11 @@ }, { "argumentTypes": null, - "id": 10265, + "id": 10428, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10241, + "referencedDeclaration": 10404, "src": "3810:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12163,11 +12163,11 @@ }, { "argumentTypes": null, - "id": 10266, + "id": 10429, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10243, + "referencedDeclaration": 10406, "src": "3821:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12190,18 +12190,18 @@ "typeString": "uint256" } ], - "id": 10261, + "id": 10424, "name": "getAmountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "3785:12:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 10267, + "id": 10430, "isConstant": false, "isLValue": false, "isPure": false, @@ -12222,7 +12222,7 @@ "typeString": "uint256" } }, - "id": 10269, + "id": 10432, "nodeType": "ExpressionStatement", "src": "3768:64:35" } @@ -12234,18 +12234,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10236, + "id": 10399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10231, + "id": 10394, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3636:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12260,7 +12260,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10235, + "id": 10398, "isConstant": false, "isLValue": false, "isPure": false, @@ -12269,18 +12269,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10232, + "id": 10395, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10199, + "referencedDeclaration": 10362, "src": "3640:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10233, + "id": 10396, "isConstant": false, "isLValue": false, "isPure": false, @@ -12299,7 +12299,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10234, + "id": 10397, "isConstant": false, "isLValue": false, "isPure": true, @@ -12326,20 +12326,20 @@ "typeString": "bool" } }, - "id": 10271, + "id": 10434, "initializationExpression": { "assignments": [ - 10229 + 10392 ], "declarations": [ { "constant": false, - "id": 10229, + "id": 10392, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10271, + "scope": 10434, "src": "3628:6:35", "stateVariable": false, "storageLocation": "default", @@ -12348,7 +12348,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10228, + "id": 10391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3628:4:35", @@ -12361,7 +12361,7 @@ "visibility": "internal" } ], - "id": 10230, + "id": 10393, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3628:6:35" @@ -12369,7 +12369,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 10238, + "id": 10401, "isConstant": false, "isLValue": false, "isPure": false, @@ -12380,11 +12380,11 @@ "src": "3657:3:35", "subExpression": { "argumentTypes": null, - "id": 10237, + "id": 10400, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10229, + "referencedDeclaration": 10392, "src": "3657:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12396,7 +12396,7 @@ "typeString": "uint256" } }, - "id": 10239, + "id": 10402, "nodeType": "ExpressionStatement", "src": "3657:3:35" }, @@ -12406,7 +12406,7 @@ ] }, "documentation": null, - "id": 10273, + "id": 10436, "implemented": true, "kind": "function", "modifiers": [], @@ -12414,17 +12414,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10200, + "id": 10363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10194, + "id": 10357, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3369:15:35", "stateVariable": false, "storageLocation": "default", @@ -12433,7 +12433,7 @@ "typeString": "address" }, "typeName": { - "id": 10193, + "id": 10356, "name": "address", "nodeType": "ElementaryTypeName", "src": "3369:7:35", @@ -12448,12 +12448,12 @@ }, { "constant": false, - "id": 10196, + "id": 10359, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3386:13:35", "stateVariable": false, "storageLocation": "default", @@ -12462,7 +12462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10195, + "id": 10358, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3386:4:35", @@ -12476,12 +12476,12 @@ }, { "constant": false, - "id": 10199, + "id": 10362, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3401:21:35", "stateVariable": false, "storageLocation": "memory", @@ -12491,7 +12491,7 @@ }, "typeName": { "baseType": { - "id": 10197, + "id": 10360, "name": "address", "nodeType": "ElementaryTypeName", "src": "3401:7:35", @@ -12501,7 +12501,7 @@ "typeString": "address" } }, - "id": 10198, + "id": 10361, "length": null, "nodeType": "ArrayTypeName", "src": "3401:9:35", @@ -12517,17 +12517,17 @@ "src": "3368:55:35" }, "returnParameters": { - "id": 10204, + "id": 10367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10203, + "id": 10366, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10273, + "scope": 10436, "src": "3447:21:35", "stateVariable": false, "storageLocation": "memory", @@ -12537,7 +12537,7 @@ }, "typeName": { "baseType": { - "id": 10201, + "id": 10364, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3447:4:35", @@ -12546,7 +12546,7 @@ "typeString": "uint256" } }, - "id": 10202, + "id": 10365, "length": null, "nodeType": "ArrayTypeName", "src": "3447:6:35", @@ -12561,7 +12561,7 @@ ], "src": "3446:23:35" }, - "scope": 10359, + "scope": 10522, "src": "3346:503:35", "stateMutability": "view", "virtual": false, @@ -12569,7 +12569,7 @@ }, { "body": { - "id": 10357, + "id": 10520, "nodeType": "Block", "src": "4051:400:35", "statements": [ @@ -12583,7 +12583,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10290, + "id": 10453, "isConstant": false, "isLValue": false, "isPure": false, @@ -12592,18 +12592,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10287, + "id": 10450, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4069:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10288, + "id": 10451, "isConstant": false, "isLValue": false, "isPure": false, @@ -12622,7 +12622,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10289, + "id": 10452, "isConstant": false, "isLValue": false, "isPure": true, @@ -12646,7 +12646,7 @@ { "argumentTypes": null, "hexValue": "556e697377617056324c6962726172793a20494e56414c49445f50415448", - "id": 10291, + "id": 10454, "isConstant": false, "isLValue": false, "isPure": true, @@ -12673,7 +12673,7 @@ "typeString": "literal_string \"UniswapV2Library: INVALID_PATH\"" } ], - "id": 10286, + "id": 10449, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12687,7 +12687,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 10292, + "id": 10455, "isConstant": false, "isLValue": false, "isPure": false, @@ -12702,25 +12702,25 @@ "typeString": "tuple()" } }, - "id": 10293, + "id": 10456, "nodeType": "ExpressionStatement", "src": "4061:59:35" }, { "expression": { "argumentTypes": null, - "id": 10301, + "id": 10464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10294, + "id": 10457, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4130:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -12736,18 +12736,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10298, + "id": 10461, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4151:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10299, + "id": 10462, "isConstant": false, "isLValue": false, "isPure": false, @@ -12769,7 +12769,7 @@ "typeString": "uint256" } ], - "id": 10297, + "id": 10460, "isConstant": false, "isLValue": false, "isPure": true, @@ -12782,7 +12782,7 @@ }, "typeName": { "baseType": { - "id": 10295, + "id": 10458, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4144:4:35", @@ -12791,7 +12791,7 @@ "typeString": "uint256" } }, - "id": 10296, + "id": 10459, "length": null, "nodeType": "ArrayTypeName", "src": "4144:6:35", @@ -12801,7 +12801,7 @@ } } }, - "id": 10300, + "id": 10463, "isConstant": false, "isLValue": false, "isPure": false, @@ -12822,14 +12822,14 @@ "typeString": "uint256[] memory" } }, - "id": 10302, + "id": 10465, "nodeType": "ExpressionStatement", "src": "4130:33:35" }, { "expression": { "argumentTypes": null, - "id": 10310, + "id": 10473, "isConstant": false, "isLValue": false, "isPure": false, @@ -12838,25 +12838,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10303, + "id": 10466, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4173:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10308, + "id": 10471, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10307, + "id": 10470, "isConstant": false, "isLValue": false, "isPure": false, @@ -12865,18 +12865,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10304, + "id": 10467, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4181:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10305, + "id": 10468, "isConstant": false, "isLValue": false, "isPure": false, @@ -12895,7 +12895,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10306, + "id": 10469, "isConstant": false, "isLValue": false, "isPure": true, @@ -12931,11 +12931,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 10309, + "id": 10472, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10277, + "referencedDeclaration": 10440, "src": "4203:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12948,30 +12948,30 @@ "typeString": "uint256" } }, - "id": 10311, + "id": 10474, "nodeType": "ExpressionStatement", "src": "4173:39:35" }, { "body": { - "id": 10355, + "id": 10518, "nodeType": "Block", "src": "4265:180:35", "statements": [ { "assignments": [ - 10326, - 10328 + 10489, + 10491 ], "declarations": [ { "constant": false, - "id": 10326, + "id": 10489, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10355, + "scope": 10518, "src": "4280:14:35", "stateVariable": false, "storageLocation": "default", @@ -12980,7 +12980,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10325, + "id": 10488, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4280:4:35", @@ -12994,12 +12994,12 @@ }, { "constant": false, - "id": 10328, + "id": 10491, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10355, + "scope": 10518, "src": "4296:15:35", "stateVariable": false, "storageLocation": "default", @@ -13008,7 +13008,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10327, + "id": 10490, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4296:4:35", @@ -13021,17 +13021,17 @@ "visibility": "internal" } ], - "id": 10340, + "id": 10503, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 10330, + "id": 10493, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10275, + "referencedDeclaration": 10438, "src": "4327:7:35", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13042,36 +13042,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10331, + "id": 10494, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4336:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10335, + "id": 10498, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10334, + "id": 10497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10332, + "id": 10495, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4341:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13083,7 +13083,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10333, + "id": 10496, "isConstant": false, "isLValue": false, "isPure": true, @@ -13119,25 +13119,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10336, + "id": 10499, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4349:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10338, + "id": 10501, "indexExpression": { "argumentTypes": null, - "id": 10337, + "id": 10500, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4354:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13171,18 +13171,18 @@ "typeString": "address" } ], - "id": 10329, + "id": 10492, "name": "getReserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "4315:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 10339, + "id": 10502, "isConstant": false, "isLValue": false, "isPure": false, @@ -13203,7 +13203,7 @@ { "expression": { "argumentTypes": null, - "id": 10353, + "id": 10516, "isConstant": false, "isLValue": false, "isPure": false, @@ -13212,36 +13212,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10341, + "id": 10504, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4371:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10345, + "id": 10508, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10344, + "id": 10507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10342, + "id": 10505, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4379:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13253,7 +13253,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10343, + "id": 10506, "isConstant": false, "isLValue": false, "isPure": true, @@ -13294,25 +13294,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 10347, + "id": 10510, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10284, + "referencedDeclaration": 10447, "src": "4400:7:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 10349, + "id": 10512, "indexExpression": { "argumentTypes": null, - "id": 10348, + "id": 10511, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4408:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13332,11 +13332,11 @@ }, { "argumentTypes": null, - "id": 10350, + "id": 10513, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10326, + "referencedDeclaration": 10489, "src": "4412:9:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13345,11 +13345,11 @@ }, { "argumentTypes": null, - "id": 10351, + "id": 10514, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10328, + "referencedDeclaration": 10491, "src": "4423:10:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13372,18 +13372,18 @@ "typeString": "uint256" } ], - "id": 10346, + "id": 10509, "name": "getAmountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10192, + "referencedDeclaration": 10355, "src": "4388:11:35", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 10352, + "id": 10515, "isConstant": false, "isLValue": false, "isPure": false, @@ -13404,7 +13404,7 @@ "typeString": "uint256" } }, - "id": 10354, + "id": 10517, "nodeType": "ExpressionStatement", "src": "4371:63:35" } @@ -13416,18 +13416,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10321, + "id": 10484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10319, + "id": 10482, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4253:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13439,7 +13439,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 10320, + "id": 10483, "isConstant": false, "isLValue": false, "isPure": true, @@ -13460,20 +13460,20 @@ "typeString": "bool" } }, - "id": 10356, + "id": 10519, "initializationExpression": { "assignments": [ - 10313 + 10476 ], "declarations": [ { "constant": false, - "id": 10313, + "id": 10476, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10356, + "scope": 10519, "src": "4227:6:35", "stateVariable": false, "storageLocation": "default", @@ -13482,7 +13482,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10312, + "id": 10475, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4227:4:35", @@ -13495,14 +13495,14 @@ "visibility": "internal" } ], - "id": 10318, + "id": 10481, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10317, + "id": 10480, "isConstant": false, "isLValue": false, "isPure": false, @@ -13511,18 +13511,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10314, + "id": 10477, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10280, + "referencedDeclaration": 10443, "src": "4236:4:35", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 10315, + "id": 10478, "isConstant": false, "isLValue": false, "isPure": false, @@ -13541,7 +13541,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 10316, + "id": 10479, "isConstant": false, "isLValue": false, "isPure": true, @@ -13568,7 +13568,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 10323, + "id": 10486, "isConstant": false, "isLValue": false, "isPure": false, @@ -13579,11 +13579,11 @@ "src": "4260:3:35", "subExpression": { "argumentTypes": null, - "id": 10322, + "id": 10485, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10313, + "referencedDeclaration": 10476, "src": "4260:1:35", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13595,7 +13595,7 @@ "typeString": "uint256" } }, - "id": 10324, + "id": 10487, "nodeType": "ExpressionStatement", "src": "4260:3:35" }, @@ -13605,7 +13605,7 @@ ] }, "documentation": null, - "id": 10358, + "id": 10521, "implemented": true, "kind": "function", "modifiers": [], @@ -13613,17 +13613,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10281, + "id": 10444, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10275, + "id": 10438, "mutability": "mutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3949:15:35", "stateVariable": false, "storageLocation": "default", @@ -13632,7 +13632,7 @@ "typeString": "address" }, "typeName": { - "id": 10274, + "id": 10437, "name": "address", "nodeType": "ElementaryTypeName", "src": "3949:7:35", @@ -13647,12 +13647,12 @@ }, { "constant": false, - "id": 10277, + "id": 10440, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3966:14:35", "stateVariable": false, "storageLocation": "default", @@ -13661,7 +13661,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10276, + "id": 10439, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3966:4:35", @@ -13675,12 +13675,12 @@ }, { "constant": false, - "id": 10280, + "id": 10443, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "3982:21:35", "stateVariable": false, "storageLocation": "memory", @@ -13690,7 +13690,7 @@ }, "typeName": { "baseType": { - "id": 10278, + "id": 10441, "name": "address", "nodeType": "ElementaryTypeName", "src": "3982:7:35", @@ -13700,7 +13700,7 @@ "typeString": "address" } }, - "id": 10279, + "id": 10442, "length": null, "nodeType": "ArrayTypeName", "src": "3982:9:35", @@ -13716,17 +13716,17 @@ "src": "3948:56:35" }, "returnParameters": { - "id": 10285, + "id": 10448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10284, + "id": 10447, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10358, + "scope": 10521, "src": "4028:21:35", "stateVariable": false, "storageLocation": "memory", @@ -13736,7 +13736,7 @@ }, "typeName": { "baseType": { - "id": 10282, + "id": 10445, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4028:4:35", @@ -13745,7 +13745,7 @@ "typeString": "uint256" } }, - "id": 10283, + "id": 10446, "length": null, "nodeType": "ArrayTypeName", "src": "4028:6:35", @@ -13760,14 +13760,14 @@ ], "src": "4027:23:35" }, - "scope": 10359, + "scope": 10522, "src": "3927:524:35", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 10360, + "scope": 10523, "src": "120:4333:35" } ], @@ -13779,7 +13779,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.124Z", + "updatedAt": "2020-12-12T01:13:52.713Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/UniswapV2OracleLibrary.json b/AskoLend-contracts/build/contracts/UniswapV2OracleLibrary.json index 12ef128b..01567e47 100644 --- a/AskoLend-contracts/build/contracts/UniswapV2OracleLibrary.json +++ b/AskoLend-contracts/build/contracts/UniswapV2OracleLibrary.json @@ -13,14 +13,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", "exportedSymbols": { "UniswapV2OracleLibrary": [ - 10466 + 10629 ] }, - "id": 10467, + "id": 10630, "nodeType": "SourceUnit", "nodes": [ { - "id": 10361, + "id": 10524, "literals": [ "solidity", ">=", @@ -33,10 +33,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 10362, + "id": 10525, "nodeType": "ImportDirective", - "scope": 10467, - "sourceUnit": 7275, + "scope": 10630, + "sourceUnit": 7438, "src": "26:66:36", "symbolAliases": [], "unitAlias": "" @@ -44,10 +44,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "file": "@uniswap/lib/contracts/libraries/FixedPoint.sol", - "id": 10363, + "id": 10526, "nodeType": "ImportDirective", - "scope": 10467, - "sourceUnit": 6810, + "scope": 10630, + "sourceUnit": 6973, "src": "93:57:36", "symbolAliases": [], "unitAlias": "" @@ -59,24 +59,24 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 10466, + "id": 10629, "linearizedBaseContracts": [ - 10466 + 10629 ], "name": "UniswapV2OracleLibrary", "nodeType": "ContractDefinition", "nodes": [ { - "id": 10365, + "id": 10528, "libraryName": { "contractScope": null, - "id": 10364, + "id": 10527, "name": "FixedPoint", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "287:10:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedPoint_$6809", + "typeIdentifier": "t_contract$_FixedPoint_$6972", "typeString": "library FixedPoint" } }, @@ -86,7 +86,7 @@ }, { "body": { - "id": 10380, + "id": 10543, "nodeType": "Block", "src": "486:57:36", "statements": [ @@ -100,7 +100,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10377, + "id": 10540, "isConstant": false, "isLValue": false, "isPure": false, @@ -109,7 +109,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10372, + "id": 10535, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -120,7 +120,7 @@ "typeString": "block" } }, - "id": 10373, + "id": 10536, "isConstant": false, "isLValue": false, "isPure": false, @@ -142,7 +142,7 @@ "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" }, - "id": 10376, + "id": 10539, "isConstant": false, "isLValue": false, "isPure": true, @@ -150,7 +150,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10374, + "id": 10537, "isConstant": false, "isLValue": false, "isPure": true, @@ -170,7 +170,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 10375, + "id": 10538, "isConstant": false, "isLValue": false, "isPure": true, @@ -205,7 +205,7 @@ "typeString": "uint256" } ], - "id": 10371, + "id": 10534, "isConstant": false, "isLValue": false, "isPure": true, @@ -217,7 +217,7 @@ "typeString": "type(uint32)" }, "typeName": { - "id": 10370, + "id": 10533, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "503:6:36", @@ -227,7 +227,7 @@ } } }, - "id": 10378, + "id": 10541, "isConstant": false, "isLValue": false, "isPure": false, @@ -242,15 +242,15 @@ "typeString": "uint32" } }, - "functionReturnParameters": 10369, - "id": 10379, + "functionReturnParameters": 10532, + "id": 10542, "nodeType": "Return", "src": "496:40:36" } ] }, "documentation": null, - "id": 10381, + "id": 10544, "implemented": true, "kind": "function", "modifiers": [], @@ -258,23 +258,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10366, + "id": 10529, "nodeType": "ParameterList", "parameters": [], "src": "452:2:36" }, "returnParameters": { - "id": 10369, + "id": 10532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10368, + "id": 10531, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10381, + "scope": 10544, "src": "478:6:36", "stateVariable": false, "storageLocation": "default", @@ -283,7 +283,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10367, + "id": 10530, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "478:6:36", @@ -298,7 +298,7 @@ ], "src": "477:8:36" }, - "scope": 10466, + "scope": 10629, "src": "422:121:36", "stateMutability": "view", "virtual": false, @@ -306,25 +306,25 @@ }, { "body": { - "id": 10464, + "id": 10627, "nodeType": "Block", "src": "799:887:36", "statements": [ { "expression": { "argumentTypes": null, - "id": 10395, + "id": 10558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10392, + "id": 10555, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "809:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -338,18 +338,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10393, + "id": 10556, "name": "currentBlockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10381, + "referencedDeclaration": 10544, "src": "826:21:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint32_$", "typeString": "function () view returns (uint32)" } }, - "id": 10394, + "id": 10557, "isConstant": false, "isLValue": false, "isPure": false, @@ -370,25 +370,25 @@ "typeString": "uint32" } }, - "id": 10396, + "id": 10559, "nodeType": "ExpressionStatement", "src": "809:40:36" }, { "expression": { "argumentTypes": null, - "id": 10403, + "id": 10566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10397, + "id": 10560, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10386, + "referencedDeclaration": 10549, "src": "859:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -407,11 +407,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10399, + "id": 10562, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "893:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -426,18 +426,18 @@ "typeString": "address" } ], - "id": 10398, + "id": 10561, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "878:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10400, + "id": 10563, "isConstant": false, "isLValue": false, "isPure": false, @@ -448,25 +448,25 @@ "src": "878:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10401, + "id": 10564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "878:41:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 10402, + "id": 10565, "isConstant": false, "isLValue": false, "isPure": false, @@ -487,25 +487,25 @@ "typeString": "uint256" } }, - "id": 10404, + "id": 10567, "nodeType": "ExpressionStatement", "src": "859:62:36" }, { "expression": { "argumentTypes": null, - "id": 10411, + "id": 10574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10405, + "id": 10568, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10388, + "referencedDeclaration": 10551, "src": "931:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -524,11 +524,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10407, + "id": 10570, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "965:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -543,18 +543,18 @@ "typeString": "address" } ], - "id": 10406, + "id": 10569, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "950:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10408, + "id": 10571, "isConstant": false, "isLValue": false, "isPure": false, @@ -565,25 +565,25 @@ "src": "950:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10409, + "id": 10572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "950:41:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 10410, + "id": 10573, "isConstant": false, "isLValue": false, "isPure": false, @@ -604,25 +604,25 @@ "typeString": "uint256" } }, - "id": 10412, + "id": 10575, "nodeType": "ExpressionStatement", "src": "931:62:36" }, { "assignments": [ - 10414, - 10416, - 10418 + 10577, + 10579, + 10581 ], "declarations": [ { "constant": false, - "id": 10414, + "id": 10577, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1105:16:36", "stateVariable": false, "storageLocation": "default", @@ -631,7 +631,7 @@ "typeString": "uint112" }, "typeName": { - "id": 10413, + "id": 10576, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1105:7:36", @@ -645,12 +645,12 @@ }, { "constant": false, - "id": 10416, + "id": 10579, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1123:16:36", "stateVariable": false, "storageLocation": "default", @@ -659,7 +659,7 @@ "typeString": "uint112" }, "typeName": { - "id": 10415, + "id": 10578, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1123:7:36", @@ -673,12 +673,12 @@ }, { "constant": false, - "id": 10418, + "id": 10581, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1141:25:36", "stateVariable": false, "storageLocation": "default", @@ -687,7 +687,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10417, + "id": 10580, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1141:6:36", @@ -700,7 +700,7 @@ "visibility": "internal" } ], - "id": 10424, + "id": 10587, "initialValue": { "argumentTypes": null, "arguments": [], @@ -711,11 +711,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10420, + "id": 10583, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "1185:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -730,18 +730,18 @@ "typeString": "address" } ], - "id": 10419, + "id": 10582, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1170:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10421, + "id": 10584, "isConstant": false, "isLValue": false, "isPure": false, @@ -752,25 +752,25 @@ "src": "1170:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10422, + "id": 10585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "1170:32:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 10423, + "id": 10586, "isConstant": false, "isLValue": false, "isPure": false, @@ -795,18 +795,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 10427, + "id": 10590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10425, + "id": 10588, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10418, + "referencedDeclaration": 10581, "src": "1218:18:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -817,11 +817,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 10426, + "id": 10589, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "1240:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -835,27 +835,27 @@ } }, "falseBody": null, - "id": 10463, + "id": 10626, "nodeType": "IfStatement", "src": "1214:466:36", "trueBody": { - "id": 10462, + "id": 10625, "nodeType": "Block", "src": "1256:424:36", "statements": [ { "assignments": [ - 10429 + 10592 ], "declarations": [ { "constant": false, - "id": 10429, + "id": 10592, "mutability": "mutable", "name": "timeElapsed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10462, + "scope": 10625, "src": "1317:18:36", "stateVariable": false, "storageLocation": "default", @@ -864,7 +864,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10428, + "id": 10591, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1317:6:36", @@ -877,25 +877,25 @@ "visibility": "internal" } ], - "id": 10433, + "id": 10596, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 10432, + "id": 10595, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10430, + "id": 10593, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "1338:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -906,11 +906,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 10431, + "id": 10594, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10418, + "referencedDeclaration": 10581, "src": "1355:18:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -929,18 +929,18 @@ { "expression": { "argumentTypes": null, - "id": 10446, + "id": 10609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10434, + "id": 10597, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10386, + "referencedDeclaration": 10549, "src": "1461:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -955,7 +955,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10445, + "id": 10608, "isConstant": false, "isLValue": false, "isPure": false, @@ -970,11 +970,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10439, + "id": 10602, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10416, + "referencedDeclaration": 10579, "src": "1506:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -983,11 +983,11 @@ }, { "argumentTypes": null, - "id": 10440, + "id": 10603, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10414, + "referencedDeclaration": 10577, "src": "1516:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1008,32 +1008,32 @@ ], "expression": { "argumentTypes": null, - "id": 10437, + "id": 10600, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "1486:10:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 10438, + "id": 10601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "fraction", "nodeType": "MemberAccess", - "referencedDeclaration": 6776, + "referencedDeclaration": 6939, "src": "1486:19:36", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (uint112,uint112) pure returns (struct FixedPoint.uq112x112 memory)" } }, - "id": 10441, + "id": 10604, "isConstant": false, "isLValue": false, "isPure": false, @@ -1044,18 +1044,18 @@ "src": "1486:39:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 10442, + "id": 10605, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1486:42:36", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -1070,7 +1070,7 @@ "typeString": "uint224" } ], - "id": 10436, + "id": 10599, "isConstant": false, "isLValue": false, "isPure": true, @@ -1082,7 +1082,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 10435, + "id": 10598, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1481:4:36", @@ -1092,7 +1092,7 @@ } } }, - "id": 10443, + "id": 10606, "isConstant": false, "isLValue": false, "isPure": false, @@ -1111,11 +1111,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10444, + "id": 10607, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, + "referencedDeclaration": 10592, "src": "1532:11:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1134,25 +1134,25 @@ "typeString": "uint256" } }, - "id": 10447, + "id": 10610, "nodeType": "ExpressionStatement", "src": "1461:82:36" }, { "expression": { "argumentTypes": null, - "id": 10460, + "id": 10623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10448, + "id": 10611, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10388, + "referencedDeclaration": 10551, "src": "1587:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1167,7 +1167,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10459, + "id": 10622, "isConstant": false, "isLValue": false, "isPure": false, @@ -1182,11 +1182,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10453, + "id": 10616, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10414, + "referencedDeclaration": 10577, "src": "1632:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1195,11 +1195,11 @@ }, { "argumentTypes": null, - "id": 10454, + "id": 10617, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10416, + "referencedDeclaration": 10579, "src": "1642:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -1220,32 +1220,32 @@ ], "expression": { "argumentTypes": null, - "id": 10451, + "id": 10614, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "1612:10:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 10452, + "id": 10615, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "fraction", "nodeType": "MemberAccess", - "referencedDeclaration": 6776, + "referencedDeclaration": 6939, "src": "1612:19:36", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (uint112,uint112) pure returns (struct FixedPoint.uq112x112 memory)" } }, - "id": 10455, + "id": 10618, "isConstant": false, "isLValue": false, "isPure": false, @@ -1256,18 +1256,18 @@ "src": "1612:39:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 10456, + "id": 10619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1612:42:36", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -1282,7 +1282,7 @@ "typeString": "uint224" } ], - "id": 10450, + "id": 10613, "isConstant": false, "isLValue": false, "isPure": true, @@ -1294,7 +1294,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 10449, + "id": 10612, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1607:4:36", @@ -1304,7 +1304,7 @@ } } }, - "id": 10457, + "id": 10620, "isConstant": false, "isLValue": false, "isPure": false, @@ -1323,11 +1323,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10458, + "id": 10621, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, + "referencedDeclaration": 10592, "src": "1658:11:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1346,7 +1346,7 @@ "typeString": "uint256" } }, - "id": 10461, + "id": 10624, "nodeType": "ExpressionStatement", "src": "1587:82:36" } @@ -1356,7 +1356,7 @@ ] }, "documentation": null, - "id": 10465, + "id": 10628, "implemented": true, "kind": "function", "modifiers": [], @@ -1364,17 +1364,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10384, + "id": 10547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10383, + "id": 10546, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "688:12:36", "stateVariable": false, "storageLocation": "default", @@ -1383,7 +1383,7 @@ "typeString": "address" }, "typeName": { - "id": 10382, + "id": 10545, "name": "address", "nodeType": "ElementaryTypeName", "src": "688:7:36", @@ -1400,17 +1400,17 @@ "src": "678:28:36" }, "returnParameters": { - "id": 10391, + "id": 10554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10386, + "id": 10549, "mutability": "mutable", "name": "price0Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "730:21:36", "stateVariable": false, "storageLocation": "default", @@ -1419,7 +1419,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10385, + "id": 10548, "name": "uint", "nodeType": "ElementaryTypeName", "src": "730:4:36", @@ -1433,12 +1433,12 @@ }, { "constant": false, - "id": 10388, + "id": 10551, "mutability": "mutable", "name": "price1Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "753:21:36", "stateVariable": false, "storageLocation": "default", @@ -1447,7 +1447,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10387, + "id": 10550, "name": "uint", "nodeType": "ElementaryTypeName", "src": "753:4:36", @@ -1461,12 +1461,12 @@ }, { "constant": false, - "id": 10390, + "id": 10553, "mutability": "mutable", "name": "blockTimestamp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "776:21:36", "stateVariable": false, "storageLocation": "default", @@ -1475,7 +1475,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10389, + "id": 10552, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "776:6:36", @@ -1490,14 +1490,14 @@ ], "src": "729:69:36" }, - "scope": 10466, + "scope": 10629, "src": "646:1040:36", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 10467, + "scope": 10630, "src": "244:1444:36" } ], @@ -1507,14 +1507,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2OracleLibrary.sol", "exportedSymbols": { "UniswapV2OracleLibrary": [ - 10466 + 10629 ] }, - "id": 10467, + "id": 10630, "nodeType": "SourceUnit", "nodes": [ { - "id": 10361, + "id": 10524, "literals": [ "solidity", ">=", @@ -1527,10 +1527,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol", - "id": 10362, + "id": 10525, "nodeType": "ImportDirective", - "scope": 10467, - "sourceUnit": 7275, + "scope": 10630, + "sourceUnit": 7438, "src": "26:66:36", "symbolAliases": [], "unitAlias": "" @@ -1538,10 +1538,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/FixedPoint.sol", "file": "@uniswap/lib/contracts/libraries/FixedPoint.sol", - "id": 10363, + "id": 10526, "nodeType": "ImportDirective", - "scope": 10467, - "sourceUnit": 6810, + "scope": 10630, + "sourceUnit": 6973, "src": "93:57:36", "symbolAliases": [], "unitAlias": "" @@ -1553,24 +1553,24 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 10466, + "id": 10629, "linearizedBaseContracts": [ - 10466 + 10629 ], "name": "UniswapV2OracleLibrary", "nodeType": "ContractDefinition", "nodes": [ { - "id": 10365, + "id": 10528, "libraryName": { "contractScope": null, - "id": 10364, + "id": 10527, "name": "FixedPoint", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "287:10:36", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedPoint_$6809", + "typeIdentifier": "t_contract$_FixedPoint_$6972", "typeString": "library FixedPoint" } }, @@ -1580,7 +1580,7 @@ }, { "body": { - "id": 10380, + "id": 10543, "nodeType": "Block", "src": "486:57:36", "statements": [ @@ -1594,7 +1594,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10377, + "id": 10540, "isConstant": false, "isLValue": false, "isPure": false, @@ -1603,7 +1603,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 10372, + "id": 10535, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1614,7 +1614,7 @@ "typeString": "block" } }, - "id": 10373, + "id": 10536, "isConstant": false, "isLValue": false, "isPure": false, @@ -1636,7 +1636,7 @@ "typeIdentifier": "t_rational_4294967296_by_1", "typeString": "int_const 4294967296" }, - "id": 10376, + "id": 10539, "isConstant": false, "isLValue": false, "isPure": true, @@ -1644,7 +1644,7 @@ "leftExpression": { "argumentTypes": null, "hexValue": "32", - "id": 10374, + "id": 10537, "isConstant": false, "isLValue": false, "isPure": true, @@ -1664,7 +1664,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 10375, + "id": 10538, "isConstant": false, "isLValue": false, "isPure": true, @@ -1699,7 +1699,7 @@ "typeString": "uint256" } ], - "id": 10371, + "id": 10534, "isConstant": false, "isLValue": false, "isPure": true, @@ -1711,7 +1711,7 @@ "typeString": "type(uint32)" }, "typeName": { - "id": 10370, + "id": 10533, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "503:6:36", @@ -1721,7 +1721,7 @@ } } }, - "id": 10378, + "id": 10541, "isConstant": false, "isLValue": false, "isPure": false, @@ -1736,15 +1736,15 @@ "typeString": "uint32" } }, - "functionReturnParameters": 10369, - "id": 10379, + "functionReturnParameters": 10532, + "id": 10542, "nodeType": "Return", "src": "496:40:36" } ] }, "documentation": null, - "id": 10381, + "id": 10544, "implemented": true, "kind": "function", "modifiers": [], @@ -1752,23 +1752,23 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10366, + "id": 10529, "nodeType": "ParameterList", "parameters": [], "src": "452:2:36" }, "returnParameters": { - "id": 10369, + "id": 10532, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10368, + "id": 10531, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10381, + "scope": 10544, "src": "478:6:36", "stateVariable": false, "storageLocation": "default", @@ -1777,7 +1777,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10367, + "id": 10530, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "478:6:36", @@ -1792,7 +1792,7 @@ ], "src": "477:8:36" }, - "scope": 10466, + "scope": 10629, "src": "422:121:36", "stateMutability": "view", "virtual": false, @@ -1800,25 +1800,25 @@ }, { "body": { - "id": 10464, + "id": 10627, "nodeType": "Block", "src": "799:887:36", "statements": [ { "expression": { "argumentTypes": null, - "id": 10395, + "id": 10558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10392, + "id": 10555, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "809:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1832,18 +1832,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10393, + "id": 10556, "name": "currentBlockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10381, + "referencedDeclaration": 10544, "src": "826:21:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint32_$", "typeString": "function () view returns (uint32)" } }, - "id": 10394, + "id": 10557, "isConstant": false, "isLValue": false, "isPure": false, @@ -1864,25 +1864,25 @@ "typeString": "uint32" } }, - "id": 10396, + "id": 10559, "nodeType": "ExpressionStatement", "src": "809:40:36" }, { "expression": { "argumentTypes": null, - "id": 10403, + "id": 10566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10397, + "id": 10560, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10386, + "referencedDeclaration": 10549, "src": "859:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1901,11 +1901,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10399, + "id": 10562, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "893:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1920,18 +1920,18 @@ "typeString": "address" } ], - "id": 10398, + "id": 10561, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "878:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10400, + "id": 10563, "isConstant": false, "isLValue": false, "isPure": false, @@ -1942,25 +1942,25 @@ "src": "878:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10401, + "id": 10564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price0CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7221, + "referencedDeclaration": 7384, "src": "878:41:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 10402, + "id": 10565, "isConstant": false, "isLValue": false, "isPure": false, @@ -1981,25 +1981,25 @@ "typeString": "uint256" } }, - "id": 10404, + "id": 10567, "nodeType": "ExpressionStatement", "src": "859:62:36" }, { "expression": { "argumentTypes": null, - "id": 10411, + "id": 10574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10405, + "id": 10568, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10388, + "referencedDeclaration": 10551, "src": "931:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2018,11 +2018,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10407, + "id": 10570, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "965:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2037,18 +2037,18 @@ "typeString": "address" } ], - "id": 10406, + "id": 10569, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "950:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10408, + "id": 10571, "isConstant": false, "isLValue": false, "isPure": false, @@ -2059,25 +2059,25 @@ "src": "950:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10409, + "id": 10572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "price1CumulativeLast", "nodeType": "MemberAccess", - "referencedDeclaration": 7226, + "referencedDeclaration": 7389, "src": "950:41:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 10410, + "id": 10573, "isConstant": false, "isLValue": false, "isPure": false, @@ -2098,25 +2098,25 @@ "typeString": "uint256" } }, - "id": 10412, + "id": 10575, "nodeType": "ExpressionStatement", "src": "931:62:36" }, { "assignments": [ - 10414, - 10416, - 10418 + 10577, + 10579, + 10581 ], "declarations": [ { "constant": false, - "id": 10414, + "id": 10577, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1105:16:36", "stateVariable": false, "storageLocation": "default", @@ -2125,7 +2125,7 @@ "typeString": "uint112" }, "typeName": { - "id": 10413, + "id": 10576, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1105:7:36", @@ -2139,12 +2139,12 @@ }, { "constant": false, - "id": 10416, + "id": 10579, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1123:16:36", "stateVariable": false, "storageLocation": "default", @@ -2153,7 +2153,7 @@ "typeString": "uint112" }, "typeName": { - "id": 10415, + "id": 10578, "name": "uint112", "nodeType": "ElementaryTypeName", "src": "1123:7:36", @@ -2167,12 +2167,12 @@ }, { "constant": false, - "id": 10418, + "id": 10581, "mutability": "mutable", "name": "blockTimestampLast", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10464, + "scope": 10627, "src": "1141:25:36", "stateVariable": false, "storageLocation": "default", @@ -2181,7 +2181,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10417, + "id": 10580, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1141:6:36", @@ -2194,7 +2194,7 @@ "visibility": "internal" } ], - "id": 10424, + "id": 10587, "initialValue": { "argumentTypes": null, "arguments": [], @@ -2205,11 +2205,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10420, + "id": 10583, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10383, + "referencedDeclaration": 10546, "src": "1185:4:36", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2224,18 +2224,18 @@ "typeString": "address" } ], - "id": 10419, + "id": 10582, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "1170:14:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 10421, + "id": 10584, "isConstant": false, "isLValue": false, "isPure": false, @@ -2246,25 +2246,25 @@ "src": "1170:20:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 10422, + "id": 10585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "1170:32:36", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 10423, + "id": 10586, "isConstant": false, "isLValue": false, "isPure": false, @@ -2289,18 +2289,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 10427, + "id": 10590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10425, + "id": 10588, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10418, + "referencedDeclaration": 10581, "src": "1218:18:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2311,11 +2311,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 10426, + "id": 10589, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "1240:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2329,27 +2329,27 @@ } }, "falseBody": null, - "id": 10463, + "id": 10626, "nodeType": "IfStatement", "src": "1214:466:36", "trueBody": { - "id": 10462, + "id": 10625, "nodeType": "Block", "src": "1256:424:36", "statements": [ { "assignments": [ - 10429 + 10592 ], "declarations": [ { "constant": false, - "id": 10429, + "id": 10592, "mutability": "mutable", "name": "timeElapsed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10462, + "scope": 10625, "src": "1317:18:36", "stateVariable": false, "storageLocation": "default", @@ -2358,7 +2358,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10428, + "id": 10591, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1317:6:36", @@ -2371,25 +2371,25 @@ "visibility": "internal" } ], - "id": 10433, + "id": 10596, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 10432, + "id": 10595, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 10430, + "id": 10593, "name": "blockTimestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10390, + "referencedDeclaration": 10553, "src": "1338:14:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2400,11 +2400,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 10431, + "id": 10594, "name": "blockTimestampLast", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10418, + "referencedDeclaration": 10581, "src": "1355:18:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2423,18 +2423,18 @@ { "expression": { "argumentTypes": null, - "id": 10446, + "id": 10609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10434, + "id": 10597, "name": "price0Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10386, + "referencedDeclaration": 10549, "src": "1461:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2449,7 +2449,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10445, + "id": 10608, "isConstant": false, "isLValue": false, "isPure": false, @@ -2464,11 +2464,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10439, + "id": 10602, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10416, + "referencedDeclaration": 10579, "src": "1506:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -2477,11 +2477,11 @@ }, { "argumentTypes": null, - "id": 10440, + "id": 10603, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10414, + "referencedDeclaration": 10577, "src": "1516:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -2502,32 +2502,32 @@ ], "expression": { "argumentTypes": null, - "id": 10437, + "id": 10600, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "1486:10:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 10438, + "id": 10601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "fraction", "nodeType": "MemberAccess", - "referencedDeclaration": 6776, + "referencedDeclaration": 6939, "src": "1486:19:36", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (uint112,uint112) pure returns (struct FixedPoint.uq112x112 memory)" } }, - "id": 10441, + "id": 10604, "isConstant": false, "isLValue": false, "isPure": false, @@ -2538,18 +2538,18 @@ "src": "1486:39:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 10442, + "id": 10605, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1486:42:36", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -2564,7 +2564,7 @@ "typeString": "uint224" } ], - "id": 10436, + "id": 10599, "isConstant": false, "isLValue": false, "isPure": true, @@ -2576,7 +2576,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 10435, + "id": 10598, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1481:4:36", @@ -2586,7 +2586,7 @@ } } }, - "id": 10443, + "id": 10606, "isConstant": false, "isLValue": false, "isPure": false, @@ -2605,11 +2605,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10444, + "id": 10607, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, + "referencedDeclaration": 10592, "src": "1532:11:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2628,25 +2628,25 @@ "typeString": "uint256" } }, - "id": 10447, + "id": 10610, "nodeType": "ExpressionStatement", "src": "1461:82:36" }, { "expression": { "argumentTypes": null, - "id": 10460, + "id": 10623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10448, + "id": 10611, "name": "price1Cumulative", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10388, + "referencedDeclaration": 10551, "src": "1587:16:36", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2661,7 +2661,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10459, + "id": 10622, "isConstant": false, "isLValue": false, "isPure": false, @@ -2676,11 +2676,11 @@ "arguments": [ { "argumentTypes": null, - "id": 10453, + "id": 10616, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10414, + "referencedDeclaration": 10577, "src": "1632:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -2689,11 +2689,11 @@ }, { "argumentTypes": null, - "id": 10454, + "id": 10617, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10416, + "referencedDeclaration": 10579, "src": "1642:8:36", "typeDescriptions": { "typeIdentifier": "t_uint112", @@ -2714,32 +2714,32 @@ ], "expression": { "argumentTypes": null, - "id": 10451, + "id": 10614, "name": "FixedPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6809, + "referencedDeclaration": 6972, "src": "1612:10:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6809_$", + "typeIdentifier": "t_type$_t_contract$_FixedPoint_$6972_$", "typeString": "type(library FixedPoint)" } }, - "id": 10452, + "id": 10615, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "fraction", "nodeType": "MemberAccess", - "referencedDeclaration": 6776, + "referencedDeclaration": 6939, "src": "1612:19:36", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6637_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_uint112_$_t_uint112_$returns$_t_struct$_uq112x112_$6800_memory_ptr_$", "typeString": "function (uint112,uint112) pure returns (struct FixedPoint.uq112x112 memory)" } }, - "id": 10455, + "id": 10618, "isConstant": false, "isLValue": false, "isPure": false, @@ -2750,18 +2750,18 @@ "src": "1612:39:36", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_uq112x112_$6637_memory_ptr", + "typeIdentifier": "t_struct$_uq112x112_$6800_memory_ptr", "typeString": "struct FixedPoint.uq112x112 memory" } }, - "id": 10456, + "id": 10619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "_x", "nodeType": "MemberAccess", - "referencedDeclaration": 6636, + "referencedDeclaration": 6799, "src": "1612:42:36", "typeDescriptions": { "typeIdentifier": "t_uint224", @@ -2776,7 +2776,7 @@ "typeString": "uint224" } ], - "id": 10450, + "id": 10613, "isConstant": false, "isLValue": false, "isPure": true, @@ -2788,7 +2788,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 10449, + "id": 10612, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1607:4:36", @@ -2798,7 +2798,7 @@ } } }, - "id": 10457, + "id": 10620, "isConstant": false, "isLValue": false, "isPure": false, @@ -2817,11 +2817,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 10458, + "id": 10621, "name": "timeElapsed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, + "referencedDeclaration": 10592, "src": "1658:11:36", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2840,7 +2840,7 @@ "typeString": "uint256" } }, - "id": 10461, + "id": 10624, "nodeType": "ExpressionStatement", "src": "1587:82:36" } @@ -2850,7 +2850,7 @@ ] }, "documentation": null, - "id": 10465, + "id": 10628, "implemented": true, "kind": "function", "modifiers": [], @@ -2858,17 +2858,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 10384, + "id": 10547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10383, + "id": 10546, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "688:12:36", "stateVariable": false, "storageLocation": "default", @@ -2877,7 +2877,7 @@ "typeString": "address" }, "typeName": { - "id": 10382, + "id": 10545, "name": "address", "nodeType": "ElementaryTypeName", "src": "688:7:36", @@ -2894,17 +2894,17 @@ "src": "678:28:36" }, "returnParameters": { - "id": 10391, + "id": 10554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10386, + "id": 10549, "mutability": "mutable", "name": "price0Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "730:21:36", "stateVariable": false, "storageLocation": "default", @@ -2913,7 +2913,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10385, + "id": 10548, "name": "uint", "nodeType": "ElementaryTypeName", "src": "730:4:36", @@ -2927,12 +2927,12 @@ }, { "constant": false, - "id": 10388, + "id": 10551, "mutability": "mutable", "name": "price1Cumulative", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "753:21:36", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10387, + "id": 10550, "name": "uint", "nodeType": "ElementaryTypeName", "src": "753:4:36", @@ -2955,12 +2955,12 @@ }, { "constant": false, - "id": 10390, + "id": 10553, "mutability": "mutable", "name": "blockTimestamp", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 10465, + "scope": 10628, "src": "776:21:36", "stateVariable": false, "storageLocation": "default", @@ -2969,7 +2969,7 @@ "typeString": "uint32" }, "typeName": { - "id": 10389, + "id": 10552, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "776:6:36", @@ -2984,14 +2984,14 @@ ], "src": "729:69:36" }, - "scope": 10466, + "scope": 10629, "src": "646:1040:36", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 10467, + "scope": 10630, "src": "244:1444:36" } ], @@ -3003,7 +3003,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-09T19:27:18.132Z", + "updatedAt": "2020-12-12T01:13:52.725Z", "devdoc": { "methods": {} }, diff --git a/AskoLend-contracts/build/contracts/UniswapV2Router02.json b/AskoLend-contracts/build/contracts/UniswapV2Router02.json index 68375f11..4a48ba07 100644 --- a/AskoLend-contracts/build/contracts/UniswapV2Router02.json +++ b/AskoLend-contracts/build/contracts/UniswapV2Router02.json @@ -989,7 +989,7 @@ "bytecode": "0x60c060405234801561001057600080fd5b5060405162004768380380620047688339818101604052604081101561003557600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6145e3620001856000398061015f5280610ce45280610d1f5280610e16528061103452806113be528061152452806118eb52806119e55280611a9b5280611b695280611caf5280611d375280611f7c5280611ff752806120a652806121725280612207528061227b528061277952806129ec5280612a425280612a765280612aea5280612c8a5280612dcd5280612e55525080610ea45280610f7b52806110fa5280611133528061126e528061144c528061150252806116725280611bfc5280611d695280611ecc52806122ad528061250652806126fe5280612727528061275752806128c45280612a205280612d1d5280612e87528061372e52806137715280613a545280613bd3528061400352806140b1528061413152506145e36000f3fe60806040526004361061014f5760003560e01c80638803dbee116100b6578063c45a01551161006f578063c45a015514610a10578063d06ca61f14610a25578063ded9382a14610ada578063e8e3370014610b4d578063f305d71914610bcd578063fb3bdb4114610c1357610188565b80638803dbee146107df578063ad5c464814610875578063ad615dec146108a6578063af2979eb146108dc578063b6f9de951461092f578063baa2abde146109b357610188565b80634a25d94a116101085780634a25d94a146104f05780635b0d5984146105865780635c11d795146105f9578063791ac9471461068f5780637ff36ab51461072557806385f8c259146107a957610188565b806302751cec1461018d578063054d50d4146101f957806318cbafe5146102415780631f00ca74146103275780632195995c146103dc57806338ed17391461045a57610188565b3661018857336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461018657fe5b005b600080fd5b34801561019957600080fd5b506101e0600480360360c08110156101b057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135610c97565b6040805192835260208301919091528051918290030190f35b34801561020557600080fd5b5061022f6004803603606081101561021c57600080fd5b5080359060208101359060400135610db1565b60408051918252519081900360200190f35b34801561024d57600080fd5b506102d7600480360360a081101561026457600080fd5b813591602081013591810190606081016040820135600160201b81111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111600160201b831117156102bd57600080fd5b91935091506001600160a01b038135169060200135610dc6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103135781810151838201526020016102fb565b505050509050019250505060405180910390f35b34801561033357600080fd5b506102d76004803603604081101561034a57600080fd5b81359190810190604081016020820135600160201b81111561036b57600080fd5b82018360208201111561037d57600080fd5b803590602001918460208302840111600160201b8311171561039e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506110f3945050505050565b3480156103e857600080fd5b506101e0600480360361016081101561040057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611129565b34801561046657600080fd5b506102d7600480360360a081101561047d57600080fd5b813591602081013591810190606081016040820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460208302840111600160201b831117156104d657600080fd5b91935091506001600160a01b038135169060200135611223565b3480156104fc57600080fd5b506102d7600480360360a081101561051357600080fd5b813591602081013591810190606081016040820135600160201b81111561053957600080fd5b82018360208201111561054b57600080fd5b803590602001918460208302840111600160201b8311171561056c57600080fd5b91935091506001600160a01b03813516906020013561136e565b34801561059257600080fd5b5061022f60048036036101408110156105aa57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356114fa565b34801561060557600080fd5b50610186600480360360a081101561061c57600080fd5b813591602081013591810190606081016040820135600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b91935091506001600160a01b038135169060200135611608565b34801561069b57600080fd5b50610186600480360360a08110156106b257600080fd5b813591602081013591810190606081016040820135600160201b8111156106d857600080fd5b8201836020820111156106ea57600080fd5b803590602001918460208302840111600160201b8311171561070b57600080fd5b91935091506001600160a01b03813516906020013561189d565b6102d76004803603608081101561073b57600080fd5b81359190810190604081016020820135600160201b81111561075c57600080fd5b82018360208201111561076e57600080fd5b803590602001918460208302840111600160201b8311171561078f57600080fd5b91935091506001600160a01b038135169060200135611b21565b3480156107b557600080fd5b5061022f600480360360608110156107cc57600080fd5b5080359060208101359060400135611e74565b3480156107eb57600080fd5b506102d7600480360360a081101561080257600080fd5b813591602081013591810190606081016040820135600160201b81111561082857600080fd5b82018360208201111561083a57600080fd5b803590602001918460208302840111600160201b8311171561085b57600080fd5b91935091506001600160a01b038135169060200135611e81565b34801561088157600080fd5b5061088a611f7a565b604080516001600160a01b039092168252519081900360200190f35b3480156108b257600080fd5b5061022f600480360360608110156108c957600080fd5b5080359060208101359060400135611f9e565b3480156108e857600080fd5b5061022f600480360360c08110156108ff57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611fab565b6101866004803603608081101561094557600080fd5b81359190810190604081016020820135600160201b81111561096657600080fd5b82018360208201111561097857600080fd5b803590602001918460208302840111600160201b8311171561099957600080fd5b91935091506001600160a01b03813516906020013561212c565b3480156109bf57600080fd5b506101e0600480360360e08110156109d657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356124b8565b348015610a1c57600080fd5b5061088a6126fc565b348015610a3157600080fd5b506102d760048036036040811015610a4857600080fd5b81359190810190604081016020820135600160201b811115610a6957600080fd5b820183602082011115610a7b57600080fd5b803590602001918460208302840111600160201b83111715610a9c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612720945050505050565b348015610ae657600080fd5b506101e06004803603610140811015610afe57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561274d565b348015610b5957600080fd5b50610baf6004803603610100811015610b7157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135612861565b60408051938452602084019290925282820152519081900360600190f35b610baf600480360360c0811015610be357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013561299d565b6102d760048036036080811015610c2957600080fd5b81359190810190604081016020820135600160201b811115610c4a57600080fd5b820183602082011115610c5c57600080fd5b803590602001918460208302840111600160201b83111715610c7d57600080fd5b91935091506001600160a01b038135169060200135612c42565b6000808242811015610cde576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b610d0d897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a6124b8565b9093509150610d1d898685612fc4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b50505050610da5858361312e565b50965096945050505050565b6000610dbe848484613226565b949350505050565b60608142811015610e0c576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001686866000198101818110610e4657fe5b905060200201356001600160a01b03166001600160a01b031614610e9f576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b610efd7f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b91508682600184510381518110610f1057fe5b60200260200101511015610f555760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b610ff386866000818110610f6557fe5b905060200201356001600160a01b031633610fd97f00000000000000000000000000000000000000000000000000000000000000008a8a6000818110610fa757fe5b905060200201356001600160a01b03168b8b6001818110610fc457fe5b905060200201356001600160a01b0316613462565b85600081518110610fe657fe5b6020026020010151613522565b6110328287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525030925061367f915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d8360018551038151811061107157fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110af57600080fd5b505af11580156110c3573d6000803e3d6000fd5b505050506110e884836001855103815181106110db57fe5b602002602001015161312e565b509695505050505050565b60606111207f000000000000000000000000000000000000000000000000000000000000000084846138c5565b90505b92915050565b60008060006111597f00000000000000000000000000000000000000000000000000000000000000008f8f613462565b9050600087611168578c61116c565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b505050506112098f8f8f8f8f8f8f6124b8565b809450819550505050509b509b9950505050505050505050565b60608142811015611269576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6112c77f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b915086826001845103815181106112da57fe5b6020026020010151101561131f5760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b61132f86866000818110610f6557fe5b6110e88287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b606081428110156113b4576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868660001981018181106113ee57fe5b905060200201356001600160a01b03166001600160a01b031614611447576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b6114a57f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b915086826000815181106114b557fe5b60200260200101511115610f555760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b6000806115487f00000000000000000000000000000000000000000000000000000000000000008d7f0000000000000000000000000000000000000000000000000000000000000000613462565b9050600086611557578b61155b565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c4810187905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156115d157600080fd5b505af11580156115e5573d6000803e3d6000fd5b505050506115f78d8d8d8d8d8d611fab565b9d9c50505050505050505050505050565b804281101561164c576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6116c18585600081811061165c57fe5b905060200201356001600160a01b0316336116bb7f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b905060200201356001600160a01b03168a8a6001818110610fc457fe5b8a613522565b6000858560001981018181106116d357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561173857600080fd5b505afa15801561174c573d6000803e3d6000fd5b505050506040513d602081101561176257600080fd5b505160408051602088810282810182019093528882529293506117a49290918991899182918501908490808284376000920191909152508892506139fd915050565b8661185682888860001981018181106117b957fe5b905060200201356001600160a01b03166001600160a01b03166370a08231886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b505afa158015611832573d6000803e3d6000fd5b505050506040513d602081101561184857600080fd5b50519063ffffffff613d0816565b10156118935760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b5050505050505050565b80428110156118e1576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585600019810181811061191b57fe5b905060200201356001600160a01b03166001600160a01b031614611974576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b6119848585600081811061165c57fe5b6119c28585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506139fd915050565b604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b5051905086811015611a995760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b50505050611893848261312e565b60608142811015611b67576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110611b9e57fe5b905060200201356001600160a01b03166001600160a01b031614611bf7576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b611c557f00000000000000000000000000000000000000000000000000000000000000003488888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b91508682600184510381518110611c6857fe5b60200260200101511015611cad5760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110611ce957fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb611d957f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110611da257fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611df957600080fd5b505af1158015611e0d573d6000803e3d6000fd5b505050506040513d6020811015611e2357600080fd5b5051611e2b57fe5b611e6a8287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b5095945050505050565b6000610dbe848484613d58565b60608142811015611ec7576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b611f257f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b91508682600081518110611f3557fe5b6020026020010151111561131f5760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dbe848484613e48565b60008142811015611ff1576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b612020887f000000000000000000000000000000000000000000000000000000000000000089898930896124b8565b604080516370a0823160e01b815230600482015290519194506120a492508a9187916001600160a01b038416916370a0823191602480820192602092909190829003018186803b15801561207357600080fd5b505afa158015612087573d6000803e3d6000fd5b505050506040513d602081101561209d57600080fd5b5051612fc4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561210a57600080fd5b505af115801561211e573d6000803e3d6000fd5b505050506110e8848361312e565b8042811015612170576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560008181106121a757fe5b905060200201356001600160a01b03166001600160a01b031614612200576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b60003490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561226057600080fd5b505af1158015612274573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6122d97f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561232957600080fd5b505af115801561233d573d6000803e3d6000fd5b505050506040513d602081101561235357600080fd5b505161235b57fe5b60008686600019810181811061236d57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156123d257600080fd5b505afa1580156123e6573d6000803e3d6000fd5b505050506040513d60208110156123fc57600080fd5b5051604080516020898102828101820190935289825292935061243e9290918a918a9182918501908490808284376000920191909152508992506139fd915050565b87611856828989600019810181811061245357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b60008082428110156124ff576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b600061252c7f00000000000000000000000000000000000000000000000000000000000000008c8c613462565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561258757600080fd5b505af115801561259b573d6000803e3d6000fd5b505050506040513d60208110156125b157600080fd5b50506040805163226bf2d160e21b81526001600160a01b03888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050506040513d604081101561262857600080fd5b508051602090910151909250905060006126428e8e613ef4565b509050806001600160a01b03168e6001600160a01b031614612665578183612668565b82825b90975095508a8710156126ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806144cb6026913960400191505060405180910390fd5b898610156126eb5760405162461bcd60e51b81526004018080602001828103825260268152602001806144116026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606111207f00000000000000000000000000000000000000000000000000000000000000008484613316565b600080600061279d7f00000000000000000000000000000000000000000000000000000000000000008e7f0000000000000000000000000000000000000000000000000000000000000000613462565b90506000876127ac578c6127b0565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b15801561282657600080fd5b505af115801561283a573d6000803e3d6000fd5b5050505061284c8e8e8e8e8e8e610c97565b909f909e509c50505050505050505050505050565b600080600083428110156128aa576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6128b88c8c8c8c8c8c613fd2565b909450925060006128ea7f00000000000000000000000000000000000000000000000000000000000000008e8e613462565b90506128f88d338388613522565b6129048c338387613522565b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050506040513d602081101561298657600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156129e6576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b612a148a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c613fd2565b90945092506000612a667f00000000000000000000000000000000000000000000000000000000000000008c7f0000000000000000000000000000000000000000000000000000000000000000613462565b9050612a748b338388613522565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015612acf57600080fd5b505af1158015612ae3573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb82866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b6857600080fd5b505af1158015612b7c573d6000803e3d6000fd5b505050506040513d6020811015612b9257600080fd5b5051612b9a57fe5b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050506040513d6020811015612c1c57600080fd5b5051925034841015612c3457612c343385340361312e565b505096509650969350505050565b60608142811015612c88576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110612cbf57fe5b905060200201356001600160a01b03166001600160a01b031614612d18576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b612d767f0000000000000000000000000000000000000000000000000000000000000000888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b91503482600081518110612d8657fe5b60200260200101511115612dcb5760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110612e0757fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e3a57600080fd5b505af1158015612e4e573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb612eb37f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110612ec057fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612f1757600080fd5b505af1158015612f2b573d6000803e3d6000fd5b505050506040513d6020811015612f4157600080fd5b5051612f4957fe5b612f888287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b81600081518110612f9557fe5b6020026020010151341115611e6a57611e6a3383600081518110612fb557fe5b6020026020010151340361312e565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106130415780518252601f199092019160209182019101613022565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130a3576040519150601f19603f3d011682016040523d82523d6000602084013e6130a8565b606091505b50915091508180156130d65750805115806130d657508080602001905160208110156130d357600080fd5b50515b613127576040805162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b6020831061317a5780518252601f19909201916020918201910161315b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146131dc576040519150601f19603f3d011682016040523d82523d6000602084013e6131e1565b606091505b50509050806132215760405162461bcd60e51b81526004018080602001828103825260238152602001806144f16023913960400191505060405180910390fd5b505050565b60008084116132665760405162461bcd60e51b815260040180806020018281038252602b815260200180614563602b913960400191505060405180910390fd5b6000831180156132765750600082115b6132b15760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b60006132c5856103e563ffffffff61424616565b905060006132d9828563ffffffff61424616565b905060006132ff836132f3886103e863ffffffff61424616565b9063ffffffff6142a916565b905080828161330a57fe5b04979650505050505050565b606060028251101561336f576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561338757600080fd5b506040519080825280602002602001820160405280156133b1578160200160208202803683370190505b50905082816000815181106133c257fe5b60200260200101818152505060005b600183510381101561345a57600080613414878685815181106133f057fe5b602002602001015187866001018151811061340757fe5b60200260200101516142f8565b9150915061343684848151811061342757fe5b60200260200101518383613226565b84846001018151811061344557fe5b602090810291909101015250506001016133d1565b509392505050565b60008060006134718585613ef4565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106135a75780518252601f199092019160209182019101613588565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613609576040519150601f19603f3d011682016040523d82523d6000602084013e61360e565b606091505b509150915081801561363c57508051158061363c575080806020019051602081101561363957600080fd5b50515b6136775760405162461bcd60e51b815260040180806020018281038252602481526020018061453f6024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156138bf5760008084838151811061369d57fe5b60200260200101518584600101815181106136b457fe5b60200260200101519150915060006136cc8383613ef4565b50905060008785600101815181106136e057fe5b60200260200101519050600080836001600160a01b0316866001600160a01b03161461370e57826000613712565b6000835b91509150600060028a51038810613729578861376a565b61376a7f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061375d57fe5b6020026020010151613462565b90506137977f00000000000000000000000000000000000000000000000000000000000000008888613462565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156137d4576020820181803683370190505b506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561384557818101518382015260200161382d565b50505050905090810190601f1680156138725780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561389457600080fd5b505af11580156138a8573d6000803e3d6000fd5b505060019099019850613682975050505050505050565b50505050565b606060028251101561391e576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561393657600080fd5b50604051908082528060200260200182016040528015613960578160200160208202803683370190505b509050828160018351038151811061397457fe5b60209081029190910101528151600019015b801561345a576000806139b6878660018603815181106139a257fe5b602002602001015187868151811061340757fe5b915091506139d88484815181106139c957fe5b60200260200101518383613d58565b8460018503815181106139e757fe5b6020908102919091010152505060001901613986565b60005b600183510381101561322157600080848381518110613a1b57fe5b6020026020010151858460010181518110613a3257fe5b6020026020010151915091506000613a4a8383613ef4565b5090506000613a7a7f00000000000000000000000000000000000000000000000000000000000000008585613462565b9050600080600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613abb57600080fd5b505afa158015613acf573d6000803e3d6000fd5b505050506040513d6060811015613ae557600080fd5b5080516020909101516001600160701b0391821693501690506000806001600160a01b038a811690891614613b1b578284613b1e565b83835b91509150613b7c828b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b9550613b89868383613226565b945050505050600080856001600160a01b0316886001600160a01b031614613bb357826000613bb7565b6000835b91509150600060028c51038a10613bce578a613c02565b613c027f0000000000000000000000000000000000000000000000000000000000000000898e8d6002018151811061375d57fe5b604080516000808252602082019283905263022c0d9f60e01b835260248201878152604483018790526001600160a01b038086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015613c8c578181015183820152602001613c74565b50505050905090810190601f168015613cb95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613cdb57600080fd5b505af1158015613cef573d6000803e3d6000fd5b50506001909b019a50613a009950505050505050505050565b80820382811115611123576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000808411613d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806143c0602c913960400191505060405180910390fd5b600083118015613da85750600082115b613de35760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b6000613e076103e8613dfb868863ffffffff61424616565b9063ffffffff61424616565b90506000613e216103e5613dfb868963ffffffff613d0816565b9050613e3e6001828481613e3157fe5b049063ffffffff6142a916565b9695505050505050565b6000808411613e885760405162461bcd60e51b815260040180806020018281038252602581526020018061445f6025913960400191505060405180910390fd5b600083118015613e985750600082115b613ed35760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b82613ee4858463ffffffff61424616565b81613eeb57fe5b04949350505050565b600080826001600160a01b0316846001600160a01b03161415613f485760405162461bcd60e51b81526004018080602001828103825260258152602001806143ec6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610613f68578284613f6b565b83835b90925090506001600160a01b038216613fcb576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6040805163e6a4390560e01b81526001600160a01b03888116600483015287811660248301529151600092839283927f00000000000000000000000000000000000000000000000000000000000000009092169163e6a4390591604480820192602092909190829003018186803b15801561404c57600080fd5b505afa158015614060573d6000803e3d6000fd5b505050506040513d602081101561407657600080fd5b50516001600160a01b0316141561412957604080516364e329cb60e11b81526001600160a01b038a81166004830152898116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c9c65396916044808201926020929091908290030181600087803b1580156140fc57600080fd5b505af1158015614110573d6000803e3d6000fd5b505050506040513d602081101561412657600080fd5b50505b6000806141577f00000000000000000000000000000000000000000000000000000000000000008b8b6142f8565b91509150816000148015614169575080155b1561417957879350869250614239565b6000614186898484613e48565b90508781116141d957858110156141ce5760405162461bcd60e51b81526004018080602001828103825260268152602001806144116026913960400191505060405180910390fd5b889450925082614237565b60006141e6898486613e48565b9050898111156141f257fe5b878110156142315760405162461bcd60e51b81526004018080602001828103825260268152602001806144cb6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b60008115806142615750508082028282828161425e57fe5b04145b611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820182811015611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b60008060006143078585613ef4565b509050600080614318888888613462565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561435057600080fd5b505afa158015614364573d6000803e3d6000fd5b505050506040513d606081101561437a57600080fd5b5080516020909101516001600160701b0391821693501690506001600160a01b03878116908416146143ad5780826143b0565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e56414c49445f50415448000000556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54556e69737761705632526f757465723a20455850495245440000000000000000a2646970667358221220d1eedd4902d789e3727ebba3a43f970a040e6bfce3ffc24ac26dadd14bdea66564736f6c63430006060033", "deployedBytecode": "0x60806040526004361061014f5760003560e01c80638803dbee116100b6578063c45a01551161006f578063c45a015514610a10578063d06ca61f14610a25578063ded9382a14610ada578063e8e3370014610b4d578063f305d71914610bcd578063fb3bdb4114610c1357610188565b80638803dbee146107df578063ad5c464814610875578063ad615dec146108a6578063af2979eb146108dc578063b6f9de951461092f578063baa2abde146109b357610188565b80634a25d94a116101085780634a25d94a146104f05780635b0d5984146105865780635c11d795146105f9578063791ac9471461068f5780637ff36ab51461072557806385f8c259146107a957610188565b806302751cec1461018d578063054d50d4146101f957806318cbafe5146102415780631f00ca74146103275780632195995c146103dc57806338ed17391461045a57610188565b3661018857336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461018657fe5b005b600080fd5b34801561019957600080fd5b506101e0600480360360c08110156101b057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135610c97565b6040805192835260208301919091528051918290030190f35b34801561020557600080fd5b5061022f6004803603606081101561021c57600080fd5b5080359060208101359060400135610db1565b60408051918252519081900360200190f35b34801561024d57600080fd5b506102d7600480360360a081101561026457600080fd5b813591602081013591810190606081016040820135600160201b81111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111600160201b831117156102bd57600080fd5b91935091506001600160a01b038135169060200135610dc6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103135781810151838201526020016102fb565b505050509050019250505060405180910390f35b34801561033357600080fd5b506102d76004803603604081101561034a57600080fd5b81359190810190604081016020820135600160201b81111561036b57600080fd5b82018360208201111561037d57600080fd5b803590602001918460208302840111600160201b8311171561039e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506110f3945050505050565b3480156103e857600080fd5b506101e0600480360361016081101561040057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611129565b34801561046657600080fd5b506102d7600480360360a081101561047d57600080fd5b813591602081013591810190606081016040820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460208302840111600160201b831117156104d657600080fd5b91935091506001600160a01b038135169060200135611223565b3480156104fc57600080fd5b506102d7600480360360a081101561051357600080fd5b813591602081013591810190606081016040820135600160201b81111561053957600080fd5b82018360208201111561054b57600080fd5b803590602001918460208302840111600160201b8311171561056c57600080fd5b91935091506001600160a01b03813516906020013561136e565b34801561059257600080fd5b5061022f60048036036101408110156105aa57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356114fa565b34801561060557600080fd5b50610186600480360360a081101561061c57600080fd5b813591602081013591810190606081016040820135600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b91935091506001600160a01b038135169060200135611608565b34801561069b57600080fd5b50610186600480360360a08110156106b257600080fd5b813591602081013591810190606081016040820135600160201b8111156106d857600080fd5b8201836020820111156106ea57600080fd5b803590602001918460208302840111600160201b8311171561070b57600080fd5b91935091506001600160a01b03813516906020013561189d565b6102d76004803603608081101561073b57600080fd5b81359190810190604081016020820135600160201b81111561075c57600080fd5b82018360208201111561076e57600080fd5b803590602001918460208302840111600160201b8311171561078f57600080fd5b91935091506001600160a01b038135169060200135611b21565b3480156107b557600080fd5b5061022f600480360360608110156107cc57600080fd5b5080359060208101359060400135611e74565b3480156107eb57600080fd5b506102d7600480360360a081101561080257600080fd5b813591602081013591810190606081016040820135600160201b81111561082857600080fd5b82018360208201111561083a57600080fd5b803590602001918460208302840111600160201b8311171561085b57600080fd5b91935091506001600160a01b038135169060200135611e81565b34801561088157600080fd5b5061088a611f7a565b604080516001600160a01b039092168252519081900360200190f35b3480156108b257600080fd5b5061022f600480360360608110156108c957600080fd5b5080359060208101359060400135611f9e565b3480156108e857600080fd5b5061022f600480360360c08110156108ff57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611fab565b6101866004803603608081101561094557600080fd5b81359190810190604081016020820135600160201b81111561096657600080fd5b82018360208201111561097857600080fd5b803590602001918460208302840111600160201b8311171561099957600080fd5b91935091506001600160a01b03813516906020013561212c565b3480156109bf57600080fd5b506101e0600480360360e08110156109d657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356124b8565b348015610a1c57600080fd5b5061088a6126fc565b348015610a3157600080fd5b506102d760048036036040811015610a4857600080fd5b81359190810190604081016020820135600160201b811115610a6957600080fd5b820183602082011115610a7b57600080fd5b803590602001918460208302840111600160201b83111715610a9c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612720945050505050565b348015610ae657600080fd5b506101e06004803603610140811015610afe57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561274d565b348015610b5957600080fd5b50610baf6004803603610100811015610b7157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135612861565b60408051938452602084019290925282820152519081900360600190f35b610baf600480360360c0811015610be357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013561299d565b6102d760048036036080811015610c2957600080fd5b81359190810190604081016020820135600160201b811115610c4a57600080fd5b820183602082011115610c5c57600080fd5b803590602001918460208302840111600160201b83111715610c7d57600080fd5b91935091506001600160a01b038135169060200135612c42565b6000808242811015610cde576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b610d0d897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a6124b8565b9093509150610d1d898685612fc4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b50505050610da5858361312e565b50965096945050505050565b6000610dbe848484613226565b949350505050565b60608142811015610e0c576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001686866000198101818110610e4657fe5b905060200201356001600160a01b03166001600160a01b031614610e9f576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b610efd7f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b91508682600184510381518110610f1057fe5b60200260200101511015610f555760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b610ff386866000818110610f6557fe5b905060200201356001600160a01b031633610fd97f00000000000000000000000000000000000000000000000000000000000000008a8a6000818110610fa757fe5b905060200201356001600160a01b03168b8b6001818110610fc457fe5b905060200201356001600160a01b0316613462565b85600081518110610fe657fe5b6020026020010151613522565b6110328287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525030925061367f915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d8360018551038151811061107157fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110af57600080fd5b505af11580156110c3573d6000803e3d6000fd5b505050506110e884836001855103815181106110db57fe5b602002602001015161312e565b509695505050505050565b60606111207f000000000000000000000000000000000000000000000000000000000000000084846138c5565b90505b92915050565b60008060006111597f00000000000000000000000000000000000000000000000000000000000000008f8f613462565b9050600087611168578c61116c565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b505050506112098f8f8f8f8f8f8f6124b8565b809450819550505050509b509b9950505050505050505050565b60608142811015611269576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6112c77f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b915086826001845103815181106112da57fe5b6020026020010151101561131f5760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b61132f86866000818110610f6557fe5b6110e88287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b606081428110156113b4576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868660001981018181106113ee57fe5b905060200201356001600160a01b03166001600160a01b031614611447576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b6114a57f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b915086826000815181106114b557fe5b60200260200101511115610f555760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b6000806115487f00000000000000000000000000000000000000000000000000000000000000008d7f0000000000000000000000000000000000000000000000000000000000000000613462565b9050600086611557578b61155b565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c4810187905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156115d157600080fd5b505af11580156115e5573d6000803e3d6000fd5b505050506115f78d8d8d8d8d8d611fab565b9d9c50505050505050505050505050565b804281101561164c576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6116c18585600081811061165c57fe5b905060200201356001600160a01b0316336116bb7f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b905060200201356001600160a01b03168a8a6001818110610fc457fe5b8a613522565b6000858560001981018181106116d357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561173857600080fd5b505afa15801561174c573d6000803e3d6000fd5b505050506040513d602081101561176257600080fd5b505160408051602088810282810182019093528882529293506117a49290918991899182918501908490808284376000920191909152508892506139fd915050565b8661185682888860001981018181106117b957fe5b905060200201356001600160a01b03166001600160a01b03166370a08231886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b505afa158015611832573d6000803e3d6000fd5b505050506040513d602081101561184857600080fd5b50519063ffffffff613d0816565b10156118935760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b5050505050505050565b80428110156118e1576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585600019810181811061191b57fe5b905060200201356001600160a01b03166001600160a01b031614611974576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b6119848585600081811061165c57fe5b6119c28585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506139fd915050565b604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b5051905086811015611a995760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b50505050611893848261312e565b60608142811015611b67576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110611b9e57fe5b905060200201356001600160a01b03166001600160a01b031614611bf7576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b611c557f00000000000000000000000000000000000000000000000000000000000000003488888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061331692505050565b91508682600184510381518110611c6857fe5b60200260200101511015611cad5760405162461bcd60e51b815260040180806020018281038252602b815260200180614514602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110611ce957fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb611d957f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110611da257fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611df957600080fd5b505af1158015611e0d573d6000803e3d6000fd5b505050506040513d6020811015611e2357600080fd5b5051611e2b57fe5b611e6a8287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b5095945050505050565b6000610dbe848484613d58565b60608142811015611ec7576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b611f257f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b91508682600081518110611f3557fe5b6020026020010151111561131f5760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dbe848484613e48565b60008142811015611ff1576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b612020887f000000000000000000000000000000000000000000000000000000000000000089898930896124b8565b604080516370a0823160e01b815230600482015290519194506120a492508a9187916001600160a01b038416916370a0823191602480820192602092909190829003018186803b15801561207357600080fd5b505afa158015612087573d6000803e3d6000fd5b505050506040513d602081101561209d57600080fd5b5051612fc4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561210a57600080fd5b505af115801561211e573d6000803e3d6000fd5b505050506110e8848361312e565b8042811015612170576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560008181106121a757fe5b905060200201356001600160a01b03166001600160a01b031614612200576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b60003490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561226057600080fd5b505af1158015612274573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6122d97f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561232957600080fd5b505af115801561233d573d6000803e3d6000fd5b505050506040513d602081101561235357600080fd5b505161235b57fe5b60008686600019810181811061236d57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156123d257600080fd5b505afa1580156123e6573d6000803e3d6000fd5b505050506040513d60208110156123fc57600080fd5b5051604080516020898102828101820190935289825292935061243e9290918a918a9182918501908490808284376000920191909152508992506139fd915050565b87611856828989600019810181811061245357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b60008082428110156124ff576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b600061252c7f00000000000000000000000000000000000000000000000000000000000000008c8c613462565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561258757600080fd5b505af115801561259b573d6000803e3d6000fd5b505050506040513d60208110156125b157600080fd5b50506040805163226bf2d160e21b81526001600160a01b03888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b1580156125fe57600080fd5b505af1158015612612573d6000803e3d6000fd5b505050506040513d604081101561262857600080fd5b508051602090910151909250905060006126428e8e613ef4565b509050806001600160a01b03168e6001600160a01b031614612665578183612668565b82825b90975095508a8710156126ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806144cb6026913960400191505060405180910390fd5b898610156126eb5760405162461bcd60e51b81526004018080602001828103825260268152602001806144116026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606111207f00000000000000000000000000000000000000000000000000000000000000008484613316565b600080600061279d7f00000000000000000000000000000000000000000000000000000000000000008e7f0000000000000000000000000000000000000000000000000000000000000000613462565b90506000876127ac578c6127b0565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b15801561282657600080fd5b505af115801561283a573d6000803e3d6000fd5b5050505061284c8e8e8e8e8e8e610c97565b909f909e509c50505050505050505050505050565b600080600083428110156128aa576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b6128b88c8c8c8c8c8c613fd2565b909450925060006128ea7f00000000000000000000000000000000000000000000000000000000000000008e8e613462565b90506128f88d338388613522565b6129048c338387613522565b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050506040513d602081101561298657600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156129e6576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b612a148a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c613fd2565b90945092506000612a667f00000000000000000000000000000000000000000000000000000000000000008c7f0000000000000000000000000000000000000000000000000000000000000000613462565b9050612a748b338388613522565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015612acf57600080fd5b505af1158015612ae3573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb82866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b6857600080fd5b505af1158015612b7c573d6000803e3d6000fd5b505050506040513d6020811015612b9257600080fd5b5051612b9a57fe5b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050602060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050506040513d6020811015612c1c57600080fd5b5051925034841015612c3457612c343385340361312e565b505096509650969350505050565b60608142811015612c88576040805162461bcd60e51b8152602060048201526018602482015260008051602061458e833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110612cbf57fe5b905060200201356001600160a01b03166001600160a01b031614612d18576040805162461bcd60e51b815260206004820152601d60248201526000805160206144ab833981519152604482015290519081900360640190fd5b612d767f0000000000000000000000000000000000000000000000000000000000000000888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506138c592505050565b91503482600081518110612d8657fe5b60200260200101511115612dcb5760405162461bcd60e51b81526004018080602001828103825260278152602001806144846027913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110612e0757fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e3a57600080fd5b505af1158015612e4e573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb612eb37f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110612ec057fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612f1757600080fd5b505af1158015612f2b573d6000803e3d6000fd5b505050506040513d6020811015612f4157600080fd5b5051612f4957fe5b612f888287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525089925061367f915050565b81600081518110612f9557fe5b6020026020010151341115611e6a57611e6a3383600081518110612fb557fe5b6020026020010151340361312e565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106130415780518252601f199092019160209182019101613022565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130a3576040519150601f19603f3d011682016040523d82523d6000602084013e6130a8565b606091505b50915091508180156130d65750805115806130d657508080602001905160208110156130d357600080fd5b50515b613127576040805162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b6020831061317a5780518252601f19909201916020918201910161315b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146131dc576040519150601f19603f3d011682016040523d82523d6000602084013e6131e1565b606091505b50509050806132215760405162461bcd60e51b81526004018080602001828103825260238152602001806144f16023913960400191505060405180910390fd5b505050565b60008084116132665760405162461bcd60e51b815260040180806020018281038252602b815260200180614563602b913960400191505060405180910390fd5b6000831180156132765750600082115b6132b15760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b60006132c5856103e563ffffffff61424616565b905060006132d9828563ffffffff61424616565b905060006132ff836132f3886103e863ffffffff61424616565b9063ffffffff6142a916565b905080828161330a57fe5b04979650505050505050565b606060028251101561336f576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561338757600080fd5b506040519080825280602002602001820160405280156133b1578160200160208202803683370190505b50905082816000815181106133c257fe5b60200260200101818152505060005b600183510381101561345a57600080613414878685815181106133f057fe5b602002602001015187866001018151811061340757fe5b60200260200101516142f8565b9150915061343684848151811061342757fe5b60200260200101518383613226565b84846001018151811061344557fe5b602090810291909101015250506001016133d1565b509392505050565b60008060006134718585613ef4565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106135a75780518252601f199092019160209182019101613588565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613609576040519150601f19603f3d011682016040523d82523d6000602084013e61360e565b606091505b509150915081801561363c57508051158061363c575080806020019051602081101561363957600080fd5b50515b6136775760405162461bcd60e51b815260040180806020018281038252602481526020018061453f6024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156138bf5760008084838151811061369d57fe5b60200260200101518584600101815181106136b457fe5b60200260200101519150915060006136cc8383613ef4565b50905060008785600101815181106136e057fe5b60200260200101519050600080836001600160a01b0316866001600160a01b03161461370e57826000613712565b6000835b91509150600060028a51038810613729578861376a565b61376a7f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061375d57fe5b6020026020010151613462565b90506137977f00000000000000000000000000000000000000000000000000000000000000008888613462565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156137d4576020820181803683370190505b506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561384557818101518382015260200161382d565b50505050905090810190601f1680156138725780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561389457600080fd5b505af11580156138a8573d6000803e3d6000fd5b505060019099019850613682975050505050505050565b50505050565b606060028251101561391e576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561393657600080fd5b50604051908082528060200260200182016040528015613960578160200160208202803683370190505b509050828160018351038151811061397457fe5b60209081029190910101528151600019015b801561345a576000806139b6878660018603815181106139a257fe5b602002602001015187868151811061340757fe5b915091506139d88484815181106139c957fe5b60200260200101518383613d58565b8460018503815181106139e757fe5b6020908102919091010152505060001901613986565b60005b600183510381101561322157600080848381518110613a1b57fe5b6020026020010151858460010181518110613a3257fe5b6020026020010151915091506000613a4a8383613ef4565b5090506000613a7a7f00000000000000000000000000000000000000000000000000000000000000008585613462565b9050600080600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613abb57600080fd5b505afa158015613acf573d6000803e3d6000fd5b505050506040513d6060811015613ae557600080fd5b5080516020909101516001600160701b0391821693501690506000806001600160a01b038a811690891614613b1b578284613b1e565b83835b91509150613b7c828b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561181e57600080fd5b9550613b89868383613226565b945050505050600080856001600160a01b0316886001600160a01b031614613bb357826000613bb7565b6000835b91509150600060028c51038a10613bce578a613c02565b613c027f0000000000000000000000000000000000000000000000000000000000000000898e8d6002018151811061375d57fe5b604080516000808252602082019283905263022c0d9f60e01b835260248201878152604483018790526001600160a01b038086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015613c8c578181015183820152602001613c74565b50505050905090810190601f168015613cb95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613cdb57600080fd5b505af1158015613cef573d6000803e3d6000fd5b50506001909b019a50613a009950505050505050505050565b80820382811115611123576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000808411613d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806143c0602c913960400191505060405180910390fd5b600083118015613da85750600082115b613de35760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b6000613e076103e8613dfb868863ffffffff61424616565b9063ffffffff61424616565b90506000613e216103e5613dfb868963ffffffff613d0816565b9050613e3e6001828481613e3157fe5b049063ffffffff6142a916565b9695505050505050565b6000808411613e885760405162461bcd60e51b815260040180806020018281038252602581526020018061445f6025913960400191505060405180910390fd5b600083118015613e985750600082115b613ed35760405162461bcd60e51b81526004018080602001828103825260288152602001806144376028913960400191505060405180910390fd5b82613ee4858463ffffffff61424616565b81613eeb57fe5b04949350505050565b600080826001600160a01b0316846001600160a01b03161415613f485760405162461bcd60e51b81526004018080602001828103825260258152602001806143ec6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610613f68578284613f6b565b83835b90925090506001600160a01b038216613fcb576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6040805163e6a4390560e01b81526001600160a01b03888116600483015287811660248301529151600092839283927f00000000000000000000000000000000000000000000000000000000000000009092169163e6a4390591604480820192602092909190829003018186803b15801561404c57600080fd5b505afa158015614060573d6000803e3d6000fd5b505050506040513d602081101561407657600080fd5b50516001600160a01b0316141561412957604080516364e329cb60e11b81526001600160a01b038a81166004830152898116602483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163c9c65396916044808201926020929091908290030181600087803b1580156140fc57600080fd5b505af1158015614110573d6000803e3d6000fd5b505050506040513d602081101561412657600080fd5b50505b6000806141577f00000000000000000000000000000000000000000000000000000000000000008b8b6142f8565b91509150816000148015614169575080155b1561417957879350869250614239565b6000614186898484613e48565b90508781116141d957858110156141ce5760405162461bcd60e51b81526004018080602001828103825260268152602001806144116026913960400191505060405180910390fd5b889450925082614237565b60006141e6898486613e48565b9050898111156141f257fe5b878110156142315760405162461bcd60e51b81526004018080602001828103825260268152602001806144cb6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b60008115806142615750508082028282828161425e57fe5b04145b611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820182811015611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b60008060006143078585613ef4565b509050600080614318888888613462565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561435057600080fd5b505afa158015614364573d6000803e3d6000fd5b505050506040513d606081101561437a57600080fd5b5080516020909101516001600160701b0391821693501690506001600160a01b03878116908416146143ad5780826143b0565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e56414c49445f50415448000000556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54556e69737761705632526f757465723a20455850495245440000000000000000a2646970667358221220d1eedd4902d789e3727ebba3a43f970a040e6bfce3ffc24ac26dadd14bdea66564736f6c63430006060033", "immutableReferences": { - "7291": [ + "7454": [ { "length": 32, "start": 3748 @@ -1099,7 +1099,7 @@ "start": 16689 } ], - "7294": [ + "7457": [ { "length": 32, "start": 351 @@ -1218,14 +1218,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", "exportedSymbols": { "UniswapV2Router02": [ - 9312 + 9475 ] }, - "id": 9313, + "id": 9476, "nodeType": "SourceUnit", "nodes": [ { - "id": 7276, + "id": 7439, "literals": [ "solidity", "=", @@ -1238,10 +1238,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", - "id": 7277, + "id": 7440, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 7033, + "scope": 9476, + "sourceUnit": 7196, "src": "25:69:29", "symbolAliases": [], "unitAlias": "" @@ -1249,10 +1249,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/TransferHelper.sol", "file": "@uniswap/lib/contracts/libraries/TransferHelper.sol", - "id": 7278, + "id": 7441, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 6970, + "scope": 9476, + "sourceUnit": 7133, "src": "95:61:29", "symbolAliases": [], "unitAlias": "" @@ -1260,10 +1260,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "file": "./interfaces/IUniswapV2Router02.sol", - "id": 7279, + "id": 7442, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9793, + "scope": 9476, + "sourceUnit": 9956, "src": "158:45:29", "symbolAliases": [], "unitAlias": "" @@ -1271,10 +1271,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "file": "./libraries/UniswapV2Library.sol", - "id": 7280, + "id": 7443, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 10360, + "scope": 9476, + "sourceUnit": 10523, "src": "204:42:29", "symbolAliases": [], "unitAlias": "" @@ -1282,10 +1282,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/SafeMath.sol", "file": "./libraries/SafeMath.sol", - "id": 7281, + "id": 7444, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9888, + "scope": 9476, + "sourceUnit": 10051, "src": "247:34:29", "symbolAliases": [], "unitAlias": "" @@ -1293,10 +1293,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IERC20.sol", "file": "./interfaces/IERC20.sol", - "id": 7282, + "id": 7445, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9397, + "scope": 9476, + "sourceUnit": 9560, "src": "282:33:29", "symbolAliases": [], "unitAlias": "" @@ -1304,10 +1304,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IWETH.sol", "file": "./interfaces/IWETH.sol", - "id": 7283, + "id": 7446, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9813, + "scope": 9476, + "sourceUnit": 9976, "src": "316:32:29", "symbolAliases": [], "unitAlias": "" @@ -1319,55 +1319,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7284, + "id": 7447, "name": "IUniswapV2Router02", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "380:18:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 7285, + "id": 7448, "nodeType": "InheritanceSpecifier", "src": "380:18:29" } ], "contractDependencies": [ - 9704, - 9792 + 9867, + 9955 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 9312, + "id": 9475, "linearizedBaseContracts": [ - 9312, - 9792, - 9704 + 9475, + 9955, + 9867 ], "name": "UniswapV2Router02", "nodeType": "ContractDefinition", "nodes": [ { - "id": 7288, + "id": 7451, "libraryName": { "contractScope": null, - "id": 7286, + "id": 7449, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "411:8:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "405:24:29", "typeName": { - "id": 7287, + "id": 7450, "name": "uint", "nodeType": "ElementaryTypeName", "src": "424:4:29", @@ -1379,21 +1379,21 @@ }, { "baseFunctions": [ - 9403 + 9566 ], "constant": false, "functionSelector": "c45a0155", - "id": 7291, + "id": 7454, "mutability": "immutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": { - "id": 7290, + "id": 7453, "nodeType": "OverrideSpecifier", "overrides": [], "src": "460:8:29" }, - "scope": 9312, + "scope": 9475, "src": "435:41:29", "stateVariable": true, "storageLocation": "default", @@ -1402,7 +1402,7 @@ "typeString": "address" }, "typeName": { - "id": 7289, + "id": 7452, "name": "address", "nodeType": "ElementaryTypeName", "src": "435:7:29", @@ -1417,21 +1417,21 @@ }, { "baseFunctions": [ - 9408 + 9571 ], "constant": false, "functionSelector": "ad5c4648", - "id": 7294, + "id": 7457, "mutability": "immutable", "name": "WETH", "nodeType": "VariableDeclaration", "overrides": { - "id": 7293, + "id": 7456, "nodeType": "OverrideSpecifier", "overrides": [], "src": "507:8:29" }, - "scope": 9312, + "scope": 9475, "src": "482:38:29", "stateVariable": true, "storageLocation": "default", @@ -1440,7 +1440,7 @@ "typeString": "address" }, "typeName": { - "id": 7292, + "id": 7455, "name": "address", "nodeType": "ElementaryTypeName", "src": "482:7:29", @@ -1455,7 +1455,7 @@ }, { "body": { - "id": 7307, + "id": 7470, "nodeType": "Block", "src": "558:92:29", "statements": [ @@ -1469,18 +1469,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7302, + "id": 7465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7299, + "id": 7462, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7296, + "referencedDeclaration": 7459, "src": "576:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1493,7 +1493,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7300, + "id": 7463, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1504,7 +1504,7 @@ "typeString": "block" } }, - "id": 7301, + "id": 7464, "isConstant": false, "isLValue": false, "isPure": false, @@ -1527,7 +1527,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a2045585049524544", - "id": 7303, + "id": 7466, "isConstant": false, "isLValue": false, "isPure": true, @@ -1554,7 +1554,7 @@ "typeString": "literal_string \"UniswapV2Router: EXPIRED\"" } ], - "id": 7298, + "id": 7461, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1568,7 +1568,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7304, + "id": 7467, "isConstant": false, "isLValue": false, "isPure": false, @@ -1583,34 +1583,34 @@ "typeString": "tuple()" } }, - "id": 7305, + "id": 7468, "nodeType": "ExpressionStatement", "src": "568:64:29" }, { - "id": 7306, + "id": 7469, "nodeType": "PlaceholderStatement", "src": "642:1:29" } ] }, "documentation": null, - "id": 7308, + "id": 7471, "name": "ensure", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 7297, + "id": 7460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7296, + "id": 7459, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7308, + "scope": 7471, "src": "543:13:29", "stateVariable": false, "storageLocation": "default", @@ -1619,7 +1619,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7295, + "id": 7458, "name": "uint", "nodeType": "ElementaryTypeName", "src": "543:4:29", @@ -1640,25 +1640,25 @@ }, { "body": { - "id": 7323, + "id": 7486, "nodeType": "Block", "src": "708:57:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7317, + "id": 7480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7315, + "id": 7478, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "718:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1669,11 +1669,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7316, + "id": 7479, "name": "_factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7310, + "referencedDeclaration": 7473, "src": "728:8:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1686,25 +1686,25 @@ "typeString": "address" } }, - "id": 7318, + "id": 7481, "nodeType": "ExpressionStatement", "src": "718:18:29" }, { "expression": { "argumentTypes": null, - "id": 7321, + "id": 7484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7319, + "id": 7482, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "746:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1715,11 +1715,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7320, + "id": 7483, "name": "_WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7312, + "referencedDeclaration": 7475, "src": "753:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1732,14 +1732,14 @@ "typeString": "address" } }, - "id": 7322, + "id": 7485, "nodeType": "ExpressionStatement", "src": "746:12:29" } ] }, "documentation": null, - "id": 7324, + "id": 7487, "implemented": true, "kind": "constructor", "modifiers": [], @@ -1747,17 +1747,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7313, + "id": 7476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7310, + "id": 7473, "mutability": "mutable", "name": "_factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7324, + "scope": 7487, "src": "668:16:29", "stateVariable": false, "storageLocation": "default", @@ -1766,7 +1766,7 @@ "typeString": "address" }, "typeName": { - "id": 7309, + "id": 7472, "name": "address", "nodeType": "ElementaryTypeName", "src": "668:7:29", @@ -1781,12 +1781,12 @@ }, { "constant": false, - "id": 7312, + "id": 7475, "mutability": "mutable", "name": "_WETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7324, + "scope": 7487, "src": "686:13:29", "stateVariable": false, "storageLocation": "default", @@ -1795,7 +1795,7 @@ "typeString": "address" }, "typeName": { - "id": 7311, + "id": 7474, "name": "address", "nodeType": "ElementaryTypeName", "src": "686:7:29", @@ -1812,12 +1812,12 @@ "src": "667:33:29" }, "returnParameters": { - "id": 7314, + "id": 7477, "nodeType": "ParameterList", "parameters": [], "src": "708:0:29" }, - "scope": 9312, + "scope": 9475, "src": "656:109:29", "stateMutability": "nonpayable", "virtual": false, @@ -1825,7 +1825,7 @@ }, { "body": { - "id": 7334, + "id": 7497, "nodeType": "Block", "src": "798:98:29", "statements": [ @@ -1839,7 +1839,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7331, + "id": 7494, "isConstant": false, "isLValue": false, "isPure": false, @@ -1848,7 +1848,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7328, + "id": 7491, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1859,7 +1859,7 @@ "typeString": "msg" } }, - "id": 7329, + "id": 7492, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,11 +1877,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7330, + "id": 7493, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "829:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1902,7 +1902,7 @@ "typeString": "bool" } ], - "id": 7327, + "id": 7490, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1913,7 +1913,7 @@ "typeString": "function (bool) pure" } }, - "id": 7332, + "id": 7495, "isConstant": false, "isLValue": false, "isPure": false, @@ -1928,14 +1928,14 @@ "typeString": "tuple()" } }, - "id": 7333, + "id": 7496, "nodeType": "ExpressionStatement", "src": "808:26:29" } ] }, "documentation": null, - "id": 7335, + "id": 7498, "implemented": true, "kind": "receive", "modifiers": [], @@ -1943,18 +1943,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7325, + "id": 7488, "nodeType": "ParameterList", "parameters": [], "src": "778:2:29" }, "returnParameters": { - "id": 7326, + "id": 7489, "nodeType": "ParameterList", "parameters": [], "src": "798:0:29" }, - "scope": 9312, + "scope": 9475, "src": "771:125:29", "stateMutability": "payable", "virtual": false, @@ -1962,7 +1962,7 @@ }, { "body": { - "id": 7465, + "id": 7628, "nodeType": "Block", "src": "1172:1124:29", "statements": [ @@ -1973,7 +1973,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7365, + "id": 7528, "isConstant": false, "isLValue": false, "isPure": false, @@ -1983,11 +1983,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7358, + "id": 7521, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1272:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1996,11 +1996,11 @@ }, { "argumentTypes": null, - "id": 7359, + "id": 7522, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1280:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2024,11 +2024,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7355, + "id": 7518, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1255:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2043,18 +2043,18 @@ "typeString": "address" } ], - "id": 7354, + "id": 7517, "name": "IUniswapV2Factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7032, + "referencedDeclaration": 7195, "src": "1237:17:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7032_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7195_$", "typeString": "type(contract IUniswapV2Factory)" } }, - "id": 7356, + "id": 7519, "isConstant": false, "isLValue": false, "isPure": false, @@ -2065,25 +2065,25 @@ "src": "1237:26:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$7032", + "typeIdentifier": "t_contract$_IUniswapV2Factory_$7195", "typeString": "contract IUniswapV2Factory" } }, - "id": 7357, + "id": 7520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getPair", "nodeType": "MemberAccess", - "referencedDeclaration": 7000, + "referencedDeclaration": 7163, "src": "1237:34:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) view external returns (address)" } }, - "id": 7360, + "id": 7523, "isConstant": false, "isLValue": false, "isPure": false, @@ -2106,7 +2106,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 7363, + "id": 7526, "isConstant": false, "isLValue": false, "isPure": true, @@ -2129,7 +2129,7 @@ "typeString": "int_const 0" } ], - "id": 7362, + "id": 7525, "isConstant": false, "isLValue": false, "isPure": true, @@ -2141,7 +2141,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7361, + "id": 7524, "name": "address", "nodeType": "ElementaryTypeName", "src": "1291:7:29", @@ -2151,7 +2151,7 @@ } } }, - "id": 7364, + "id": 7527, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,11 +2173,11 @@ } }, "falseBody": null, - "id": 7375, + "id": 7538, "nodeType": "IfStatement", "src": "1233:148:29", "trueBody": { - "id": 7374, + "id": 7537, "nodeType": "Block", "src": "1303:78:29", "statements": [ @@ -2187,11 +2187,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7370, + "id": 7533, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1355:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2200,11 +2200,11 @@ }, { "argumentTypes": null, - "id": 7371, + "id": 7534, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1363:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2228,11 +2228,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7367, + "id": 7530, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1335:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2247,18 +2247,18 @@ "typeString": "address" } ], - "id": 7366, + "id": 7529, "name": "IUniswapV2Factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7032, + "referencedDeclaration": 7195, "src": "1317:17:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7032_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7195_$", "typeString": "type(contract IUniswapV2Factory)" } }, - "id": 7368, + "id": 7531, "isConstant": false, "isLValue": false, "isPure": false, @@ -2269,25 +2269,25 @@ "src": "1317:26:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$7032", + "typeIdentifier": "t_contract$_IUniswapV2Factory_$7195", "typeString": "contract IUniswapV2Factory" } }, - "id": 7369, + "id": 7532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createPair", "nodeType": "MemberAccess", - "referencedDeclaration": 7021, + "referencedDeclaration": 7184, "src": "1317:37:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) external returns (address)" } }, - "id": 7372, + "id": 7535, "isConstant": false, "isLValue": false, "isPure": false, @@ -2302,7 +2302,7 @@ "typeString": "address" } }, - "id": 7373, + "id": 7536, "nodeType": "ExpressionStatement", "src": "1317:53:29" } @@ -2311,18 +2311,18 @@ }, { "assignments": [ - 7377, - 7379 + 7540, + 7542 ], "declarations": [ { "constant": false, - "id": 7377, + "id": 7540, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7465, + "scope": 7628, "src": "1391:13:29", "stateVariable": false, "storageLocation": "default", @@ -2331,7 +2331,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7376, + "id": 7539, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1391:4:29", @@ -2345,12 +2345,12 @@ }, { "constant": false, - "id": 7379, + "id": 7542, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7465, + "scope": 7628, "src": "1406:13:29", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7378, + "id": 7541, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1406:4:29", @@ -2372,17 +2372,17 @@ "visibility": "internal" } ], - "id": 7386, + "id": 7549, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7382, + "id": 7545, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1452:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2391,11 +2391,11 @@ }, { "argumentTypes": null, - "id": 7383, + "id": 7546, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1461:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2404,11 +2404,11 @@ }, { "argumentTypes": null, - "id": 7384, + "id": 7547, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1469:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2433,32 +2433,32 @@ ], "expression": { "argumentTypes": null, - "id": 7380, + "id": 7543, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1423:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7381, + "id": 7544, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "1423:28:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 7385, + "id": 7548, "isConstant": false, "isLValue": false, "isPure": false, @@ -2483,7 +2483,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7393, + "id": 7556, "isConstant": false, "isLValue": false, "isPure": false, @@ -2494,18 +2494,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7389, + "id": 7552, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7387, + "id": 7550, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "1490:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2517,7 +2517,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7388, + "id": 7551, "isConstant": false, "isLValue": false, "isPure": true, @@ -2546,18 +2546,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7392, + "id": 7555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7390, + "id": 7553, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "1507:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2569,7 +2569,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7391, + "id": 7554, "isConstant": false, "isLValue": false, "isPure": true, @@ -2597,23 +2597,23 @@ } }, "falseBody": { - "id": 7463, + "id": 7626, "nodeType": "Block", "src": "1606:684:29", "statements": [ { "assignments": [ - 7404 + 7567 ], "declarations": [ { "constant": false, - "id": 7404, + "id": 7567, "mutability": "mutable", "name": "amountBOptimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7463, + "scope": 7626, "src": "1620:19:29", "stateVariable": false, "storageLocation": "default", @@ -2622,7 +2622,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7403, + "id": 7566, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1620:4:29", @@ -2635,17 +2635,17 @@ "visibility": "internal" } ], - "id": 7411, + "id": 7574, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7407, + "id": 7570, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1665:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2654,11 +2654,11 @@ }, { "argumentTypes": null, - "id": 7408, + "id": 7571, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "1681:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2667,11 +2667,11 @@ }, { "argumentTypes": null, - "id": 7409, + "id": 7572, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "1691:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2696,32 +2696,32 @@ ], "expression": { "argumentTypes": null, - "id": 7405, + "id": 7568, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1642:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7406, + "id": 7569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "1642:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 7410, + "id": 7573, "isConstant": false, "isLValue": false, "isPure": false, @@ -2746,18 +2746,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7414, + "id": 7577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7412, + "id": 7575, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1718:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2768,11 +2768,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 7413, + "id": 7576, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "1736:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2786,23 +2786,23 @@ } }, "falseBody": { - "id": 7461, + "id": 7624, "nodeType": "Block", "src": "1941:339:29", "statements": [ { "assignments": [ - 7432 + 7595 ], "declarations": [ { "constant": false, - "id": 7432, + "id": 7595, "mutability": "mutable", "name": "amountAOptimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7461, + "scope": 7624, "src": "1959:19:29", "stateVariable": false, "storageLocation": "default", @@ -2811,7 +2811,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7431, + "id": 7594, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1959:4:29", @@ -2824,17 +2824,17 @@ "visibility": "internal" } ], - "id": 7439, + "id": 7602, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7435, + "id": 7598, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "2004:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2843,11 +2843,11 @@ }, { "argumentTypes": null, - "id": 7436, + "id": 7599, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "2020:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2856,11 +2856,11 @@ }, { "argumentTypes": null, - "id": 7437, + "id": 7600, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "2030:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2885,32 +2885,32 @@ ], "expression": { "argumentTypes": null, - "id": 7433, + "id": 7596, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1981:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7434, + "id": 7597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "1981:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 7438, + "id": 7601, "isConstant": false, "isLValue": false, "isPure": false, @@ -2938,18 +2938,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7443, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7441, + "id": 7604, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2064:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2960,11 +2960,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 7442, + "id": 7605, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "2082:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2985,7 +2985,7 @@ "typeString": "bool" } ], - "id": 7440, + "id": 7603, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -2996,7 +2996,7 @@ "typeString": "function (bool) pure" } }, - "id": 7444, + "id": 7607, "isConstant": false, "isLValue": false, "isPure": false, @@ -3011,7 +3011,7 @@ "typeString": "tuple()" } }, - "id": 7445, + "id": 7608, "nodeType": "ExpressionStatement", "src": "2057:40:29" }, @@ -3025,18 +3025,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7449, + "id": 7612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7447, + "id": 7610, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2123:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3047,11 +3047,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7448, + "id": 7611, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, + "referencedDeclaration": 7508, "src": "2141:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3067,7 +3067,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54", - "id": 7450, + "id": 7613, "isConstant": false, "isLValue": false, "isPure": true, @@ -3094,7 +3094,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\"" } ], - "id": 7446, + "id": 7609, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3108,7 +3108,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7451, + "id": 7614, "isConstant": false, "isLValue": false, "isPure": false, @@ -3123,14 +3123,14 @@ "typeString": "tuple()" } }, - "id": 7452, + "id": 7615, "nodeType": "ExpressionStatement", "src": "2115:79:29" }, { "expression": { "argumentTypes": null, - "id": 7459, + "id": 7622, "isConstant": false, "isLValue": false, "isPure": false, @@ -3140,11 +3140,11 @@ "components": [ { "argumentTypes": null, - "id": 7453, + "id": 7616, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "2213:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3153,11 +3153,11 @@ }, { "argumentTypes": null, - "id": 7454, + "id": 7617, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "2222:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3165,7 +3165,7 @@ } } ], - "id": 7455, + "id": 7618, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -3185,11 +3185,11 @@ "components": [ { "argumentTypes": null, - "id": 7456, + "id": 7619, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2234:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3198,11 +3198,11 @@ }, { "argumentTypes": null, - "id": 7457, + "id": 7620, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "2250:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3210,7 +3210,7 @@ } } ], - "id": 7458, + "id": 7621, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3229,17 +3229,17 @@ "typeString": "tuple()" } }, - "id": 7460, + "id": 7623, "nodeType": "ExpressionStatement", "src": "2212:53:29" } ] }, - "id": 7462, + "id": 7625, "nodeType": "IfStatement", "src": "1714:566:29", "trueBody": { - "id": 7430, + "id": 7593, "nodeType": "Block", "src": "1752:183:29", "statements": [ @@ -3253,18 +3253,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7418, + "id": 7581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7416, + "id": 7579, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1778:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3275,11 +3275,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7417, + "id": 7580, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, + "referencedDeclaration": 7510, "src": "1796:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3295,7 +3295,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54", - "id": 7419, + "id": 7582, "isConstant": false, "isLValue": false, "isPure": true, @@ -3322,7 +3322,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\"" } ], - "id": 7415, + "id": 7578, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3336,7 +3336,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7420, + "id": 7583, "isConstant": false, "isLValue": false, "isPure": false, @@ -3351,14 +3351,14 @@ "typeString": "tuple()" } }, - "id": 7421, + "id": 7584, "nodeType": "ExpressionStatement", "src": "1770:79:29" }, { "expression": { "argumentTypes": null, - "id": 7428, + "id": 7591, "isConstant": false, "isLValue": false, "isPure": false, @@ -3368,11 +3368,11 @@ "components": [ { "argumentTypes": null, - "id": 7422, + "id": 7585, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "1868:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3381,11 +3381,11 @@ }, { "argumentTypes": null, - "id": 7423, + "id": 7586, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "1877:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3393,7 +3393,7 @@ } } ], - "id": 7424, + "id": 7587, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -3413,11 +3413,11 @@ "components": [ { "argumentTypes": null, - "id": 7425, + "id": 7588, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1889:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3426,11 +3426,11 @@ }, { "argumentTypes": null, - "id": 7426, + "id": 7589, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1905:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3438,7 +3438,7 @@ } } ], - "id": 7427, + "id": 7590, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3457,7 +3457,7 @@ "typeString": "tuple()" } }, - "id": 7429, + "id": 7592, "nodeType": "ExpressionStatement", "src": "1867:53:29" } @@ -3466,18 +3466,18 @@ } ] }, - "id": 7464, + "id": 7627, "nodeType": "IfStatement", "src": "1486:804:29", "trueBody": { - "id": 7402, + "id": 7565, "nodeType": "Block", "src": "1522:78:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7400, + "id": 7563, "isConstant": false, "isLValue": false, "isPure": false, @@ -3487,11 +3487,11 @@ "components": [ { "argumentTypes": null, - "id": 7394, + "id": 7557, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "1537:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3500,11 +3500,11 @@ }, { "argumentTypes": null, - "id": 7395, + "id": 7558, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "1546:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3512,7 +3512,7 @@ } } ], - "id": 7396, + "id": 7559, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -3532,11 +3532,11 @@ "components": [ { "argumentTypes": null, - "id": 7397, + "id": 7560, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1558:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3545,11 +3545,11 @@ }, { "argumentTypes": null, - "id": 7398, + "id": 7561, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "1574:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3557,7 +3557,7 @@ } } ], - "id": 7399, + "id": 7562, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -3576,7 +3576,7 @@ "typeString": "tuple()" } }, - "id": 7401, + "id": 7564, "nodeType": "ExpressionStatement", "src": "1536:53:29" } @@ -3586,7 +3586,7 @@ ] }, "documentation": null, - "id": 7466, + "id": 7629, "implemented": true, "kind": "function", "modifiers": [], @@ -3594,17 +3594,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7348, + "id": 7511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7337, + "id": 7500, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "965:14:29", "stateVariable": false, "storageLocation": "default", @@ -3613,7 +3613,7 @@ "typeString": "address" }, "typeName": { - "id": 7336, + "id": 7499, "name": "address", "nodeType": "ElementaryTypeName", "src": "965:7:29", @@ -3628,12 +3628,12 @@ }, { "constant": false, - "id": 7339, + "id": 7502, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "989:14:29", "stateVariable": false, "storageLocation": "default", @@ -3642,7 +3642,7 @@ "typeString": "address" }, "typeName": { - "id": 7338, + "id": 7501, "name": "address", "nodeType": "ElementaryTypeName", "src": "989:7:29", @@ -3657,12 +3657,12 @@ }, { "constant": false, - "id": 7341, + "id": 7504, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1013:19:29", "stateVariable": false, "storageLocation": "default", @@ -3671,7 +3671,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7340, + "id": 7503, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1013:4:29", @@ -3685,12 +3685,12 @@ }, { "constant": false, - "id": 7343, + "id": 7506, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1042:19:29", "stateVariable": false, "storageLocation": "default", @@ -3699,7 +3699,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7342, + "id": 7505, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1042:4:29", @@ -3713,12 +3713,12 @@ }, { "constant": false, - "id": 7345, + "id": 7508, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1071:15:29", "stateVariable": false, "storageLocation": "default", @@ -3727,7 +3727,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7344, + "id": 7507, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1071:4:29", @@ -3741,12 +3741,12 @@ }, { "constant": false, - "id": 7347, + "id": 7510, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1096:15:29", "stateVariable": false, "storageLocation": "default", @@ -3755,7 +3755,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7346, + "id": 7509, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1096:4:29", @@ -3771,17 +3771,17 @@ "src": "955:162:29" }, "returnParameters": { - "id": 7353, + "id": 7516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7350, + "id": 7513, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1144:12:29", "stateVariable": false, "storageLocation": "default", @@ -3790,7 +3790,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7349, + "id": 7512, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1144:4:29", @@ -3804,12 +3804,12 @@ }, { "constant": false, - "id": 7352, + "id": 7515, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1158:12:29", "stateVariable": false, "storageLocation": "default", @@ -3818,7 +3818,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7351, + "id": 7514, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1158:4:29", @@ -3833,7 +3833,7 @@ ], "src": "1143:28:29" }, - "scope": 9312, + "scope": 9475, "src": "933:1363:29", "stateMutability": "nonpayable", "virtual": true, @@ -3841,17 +3841,17 @@ }, { "baseFunctions": [ - 9433 + 9596 ], "body": { - "id": 7546, + "id": 7709, "nodeType": "Block", "src": "2624:400:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7506, + "id": 7669, "isConstant": false, "isLValue": false, "isPure": false, @@ -3861,11 +3861,11 @@ "components": [ { "argumentTypes": null, - "id": 7495, + "id": 7658, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7489, + "referencedDeclaration": 7652, "src": "2635:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3874,11 +3874,11 @@ }, { "argumentTypes": null, - "id": 7496, + "id": 7659, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7491, + "referencedDeclaration": 7654, "src": "2644:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3886,7 +3886,7 @@ } } ], - "id": 7497, + "id": 7660, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -3906,11 +3906,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7499, + "id": 7662, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2669:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3919,11 +3919,11 @@ }, { "argumentTypes": null, - "id": 7500, + "id": 7663, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2677:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3932,11 +3932,11 @@ }, { "argumentTypes": null, - "id": 7501, + "id": 7664, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, + "referencedDeclaration": 7635, "src": "2685:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3945,11 +3945,11 @@ }, { "argumentTypes": null, - "id": 7502, + "id": 7665, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7474, + "referencedDeclaration": 7637, "src": "2701:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3958,11 +3958,11 @@ }, { "argumentTypes": null, - "id": 7503, + "id": 7666, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7476, + "referencedDeclaration": 7639, "src": "2717:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3971,11 +3971,11 @@ }, { "argumentTypes": null, - "id": 7504, + "id": 7667, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, + "referencedDeclaration": 7641, "src": "2729:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4010,18 +4010,18 @@ "typeString": "uint256" } ], - "id": 7498, + "id": 7661, "name": "_addLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, + "referencedDeclaration": 7629, "src": "2655:13:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)" } }, - "id": 7505, + "id": 7668, "isConstant": false, "isLValue": false, "isPure": false, @@ -4042,23 +4042,23 @@ "typeString": "tuple()" } }, - "id": 7507, + "id": 7670, "nodeType": "ExpressionStatement", "src": "2634:106:29" }, { "assignments": [ - 7509 + 7672 ], "declarations": [ { "constant": false, - "id": 7509, + "id": 7672, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7546, + "scope": 7709, "src": "2750:12:29", "stateVariable": false, "storageLocation": "default", @@ -4067,7 +4067,7 @@ "typeString": "address" }, "typeName": { - "id": 7508, + "id": 7671, "name": "address", "nodeType": "ElementaryTypeName", "src": "2750:7:29", @@ -4081,17 +4081,17 @@ "visibility": "internal" } ], - "id": 7516, + "id": 7679, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7512, + "id": 7675, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "2790:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4100,11 +4100,11 @@ }, { "argumentTypes": null, - "id": 7513, + "id": 7676, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2799:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4113,11 +4113,11 @@ }, { "argumentTypes": null, - "id": 7514, + "id": 7677, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2807:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4142,32 +4142,32 @@ ], "expression": { "argumentTypes": null, - "id": 7510, + "id": 7673, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "2765:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7511, + "id": 7674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "2765:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7515, + "id": 7678, "isConstant": false, "isLValue": false, "isPure": false, @@ -4191,11 +4191,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7520, + "id": 7683, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2856:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4206,7 +4206,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7521, + "id": 7684, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4217,7 +4217,7 @@ "typeString": "msg" } }, - "id": 7522, + "id": 7685, "isConstant": false, "isLValue": false, "isPure": false, @@ -4233,11 +4233,11 @@ }, { "argumentTypes": null, - "id": 7523, + "id": 7686, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "2876:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4246,11 +4246,11 @@ }, { "argumentTypes": null, - "id": 7524, + "id": 7687, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7489, + "referencedDeclaration": 7652, "src": "2882:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4279,32 +4279,32 @@ ], "expression": { "argumentTypes": null, - "id": 7517, + "id": 7680, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "2824:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7519, + "id": 7682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "2824:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7525, + "id": 7688, "isConstant": false, "isLValue": false, "isPure": false, @@ -4319,7 +4319,7 @@ "typeString": "tuple()" } }, - "id": 7526, + "id": 7689, "nodeType": "ExpressionStatement", "src": "2824:66:29" }, @@ -4329,11 +4329,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7530, + "id": 7693, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2932:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4344,7 +4344,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7531, + "id": 7694, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -4355,7 +4355,7 @@ "typeString": "msg" } }, - "id": 7532, + "id": 7695, "isConstant": false, "isLValue": false, "isPure": false, @@ -4371,11 +4371,11 @@ }, { "argumentTypes": null, - "id": 7533, + "id": 7696, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "2952:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4384,11 +4384,11 @@ }, { "argumentTypes": null, - "id": 7534, + "id": 7697, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7491, + "referencedDeclaration": 7654, "src": "2958:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4417,32 +4417,32 @@ ], "expression": { "argumentTypes": null, - "id": 7527, + "id": 7690, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "2900:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7529, + "id": 7692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "2900:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7535, + "id": 7698, "isConstant": false, "isLValue": false, "isPure": false, @@ -4457,25 +4457,25 @@ "typeString": "tuple()" } }, - "id": 7536, + "id": 7699, "nodeType": "ExpressionStatement", "src": "2900:66:29" }, { "expression": { "argumentTypes": null, - "id": 7544, + "id": 7707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7537, + "id": 7700, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7493, + "referencedDeclaration": 7656, "src": "2976:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4489,11 +4489,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7542, + "id": 7705, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7480, + "referencedDeclaration": 7643, "src": "3014:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4513,11 +4513,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7539, + "id": 7702, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "3003:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4532,18 +4532,18 @@ "typeString": "address" } ], - "id": 7538, + "id": 7701, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "2988:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7540, + "id": 7703, "isConstant": false, "isLValue": false, "isPure": false, @@ -4554,25 +4554,25 @@ "src": "2988:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7541, + "id": 7704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 7238, + "referencedDeclaration": 7401, "src": "2988:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 7543, + "id": 7706, "isConstant": false, "isLValue": false, "isPure": false, @@ -4593,7 +4593,7 @@ "typeString": "uint256" } }, - "id": 7545, + "id": 7708, "nodeType": "ExpressionStatement", "src": "2976:41:29" } @@ -4601,7 +4601,7 @@ }, "documentation": null, "functionSelector": "e8e33700", - "id": 7547, + "id": 7710, "implemented": true, "kind": "function", "modifiers": [ @@ -4609,11 +4609,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7486, + "id": 7649, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7482, + "referencedDeclaration": 7645, "src": "2561:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4621,14 +4621,14 @@ } } ], - "id": 7487, + "id": 7650, "modifierName": { "argumentTypes": null, - "id": 7485, + "id": 7648, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "2554:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -4642,23 +4642,23 @@ "name": "addLiquidity", "nodeType": "FunctionDefinition", "overrides": { - "id": 7484, + "id": 7647, "nodeType": "OverrideSpecifier", "overrides": [], "src": "2545:8:29" }, "parameters": { - "id": 7483, + "id": 7646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7468, + "id": 7631, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2332:14:29", "stateVariable": false, "storageLocation": "default", @@ -4667,7 +4667,7 @@ "typeString": "address" }, "typeName": { - "id": 7467, + "id": 7630, "name": "address", "nodeType": "ElementaryTypeName", "src": "2332:7:29", @@ -4682,12 +4682,12 @@ }, { "constant": false, - "id": 7470, + "id": 7633, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2356:14:29", "stateVariable": false, "storageLocation": "default", @@ -4696,7 +4696,7 @@ "typeString": "address" }, "typeName": { - "id": 7469, + "id": 7632, "name": "address", "nodeType": "ElementaryTypeName", "src": "2356:7:29", @@ -4711,12 +4711,12 @@ }, { "constant": false, - "id": 7472, + "id": 7635, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2380:19:29", "stateVariable": false, "storageLocation": "default", @@ -4725,7 +4725,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7471, + "id": 7634, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2380:4:29", @@ -4739,12 +4739,12 @@ }, { "constant": false, - "id": 7474, + "id": 7637, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2409:19:29", "stateVariable": false, "storageLocation": "default", @@ -4753,7 +4753,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7473, + "id": 7636, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2409:4:29", @@ -4767,12 +4767,12 @@ }, { "constant": false, - "id": 7476, + "id": 7639, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2438:15:29", "stateVariable": false, "storageLocation": "default", @@ -4781,7 +4781,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7475, + "id": 7638, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2438:4:29", @@ -4795,12 +4795,12 @@ }, { "constant": false, - "id": 7478, + "id": 7641, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2463:15:29", "stateVariable": false, "storageLocation": "default", @@ -4809,7 +4809,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7477, + "id": 7640, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2463:4:29", @@ -4823,12 +4823,12 @@ }, { "constant": false, - "id": 7480, + "id": 7643, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2488:10:29", "stateVariable": false, "storageLocation": "default", @@ -4837,7 +4837,7 @@ "typeString": "address" }, "typeName": { - "id": 7479, + "id": 7642, "name": "address", "nodeType": "ElementaryTypeName", "src": "2488:7:29", @@ -4852,12 +4852,12 @@ }, { "constant": false, - "id": 7482, + "id": 7645, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2508:13:29", "stateVariable": false, "storageLocation": "default", @@ -4866,7 +4866,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7481, + "id": 7644, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2508:4:29", @@ -4882,17 +4882,17 @@ "src": "2322:205:29" }, "returnParameters": { - "id": 7494, + "id": 7657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7489, + "id": 7652, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2580:12:29", "stateVariable": false, "storageLocation": "default", @@ -4901,7 +4901,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7488, + "id": 7651, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2580:4:29", @@ -4915,12 +4915,12 @@ }, { "constant": false, - "id": 7491, + "id": 7654, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2594:12:29", "stateVariable": false, "storageLocation": "default", @@ -4929,7 +4929,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7490, + "id": 7653, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2594:4:29", @@ -4943,12 +4943,12 @@ }, { "constant": false, - "id": 7493, + "id": 7656, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2608:14:29", "stateVariable": false, "storageLocation": "default", @@ -4957,7 +4957,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7492, + "id": 7655, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2608:4:29", @@ -4972,7 +4972,7 @@ ], "src": "2579:44:29" }, - "scope": 9312, + "scope": 9475, "src": "2301:723:29", "stateMutability": "nonpayable", "virtual": true, @@ -4980,17 +4980,17 @@ }, { "baseFunctions": [ - 9454 + 9617 ], "body": { - "id": 7648, + "id": 7811, "nodeType": "Block", "src": "3325:655:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7584, + "id": 7747, "isConstant": false, "isLValue": false, "isPure": false, @@ -5000,11 +5000,11 @@ "components": [ { "argumentTypes": null, - "id": 7572, + "id": 7735, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7566, + "referencedDeclaration": 7729, "src": "3336:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5013,11 +5013,11 @@ }, { "argumentTypes": null, - "id": 7573, + "id": 7736, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3349:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5025,7 +5025,7 @@ } } ], - "id": 7574, + "id": 7737, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -5045,11 +5045,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7576, + "id": 7739, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3389:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5058,11 +5058,11 @@ }, { "argumentTypes": null, - "id": 7577, + "id": 7740, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3408:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5071,11 +5071,11 @@ }, { "argumentTypes": null, - "id": 7578, + "id": 7741, "name": "amountTokenDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7551, + "referencedDeclaration": 7714, "src": "3426:18:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5086,7 +5086,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7579, + "id": 7742, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5097,7 +5097,7 @@ "typeString": "msg" } }, - "id": 7580, + "id": 7743, "isConstant": false, "isLValue": false, "isPure": false, @@ -5113,11 +5113,11 @@ }, { "argumentTypes": null, - "id": 7581, + "id": 7744, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7553, + "referencedDeclaration": 7716, "src": "3481:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5126,11 +5126,11 @@ }, { "argumentTypes": null, - "id": 7582, + "id": 7745, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7555, + "referencedDeclaration": 7718, "src": "3509:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5165,18 +5165,18 @@ "typeString": "uint256" } ], - "id": 7575, + "id": 7738, "name": "_addLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, + "referencedDeclaration": 7629, "src": "3362:13:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)" } }, - "id": 7583, + "id": 7746, "isConstant": false, "isLValue": false, "isPure": false, @@ -5197,23 +5197,23 @@ "typeString": "tuple()" } }, - "id": 7585, + "id": 7748, "nodeType": "ExpressionStatement", "src": "3335:196:29" }, { "assignments": [ - 7587 + 7750 ], "declarations": [ { "constant": false, - "id": 7587, + "id": 7750, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7648, + "scope": 7811, "src": "3541:12:29", "stateVariable": false, "storageLocation": "default", @@ -5222,7 +5222,7 @@ "typeString": "address" }, "typeName": { - "id": 7586, + "id": 7749, "name": "address", "nodeType": "ElementaryTypeName", "src": "3541:7:29", @@ -5236,17 +5236,17 @@ "visibility": "internal" } ], - "id": 7594, + "id": 7757, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7590, + "id": 7753, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "3581:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5255,11 +5255,11 @@ }, { "argumentTypes": null, - "id": 7591, + "id": 7754, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3590:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5268,11 +5268,11 @@ }, { "argumentTypes": null, - "id": 7592, + "id": 7755, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3597:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5297,32 +5297,32 @@ ], "expression": { "argumentTypes": null, - "id": 7588, + "id": 7751, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "3556:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7589, + "id": 7752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "3556:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7593, + "id": 7756, "isConstant": false, "isLValue": false, "isPure": false, @@ -5346,11 +5346,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7598, + "id": 7761, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3644:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5361,7 +5361,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7599, + "id": 7762, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5372,7 +5372,7 @@ "typeString": "msg" } }, - "id": 7600, + "id": 7763, "isConstant": false, "isLValue": false, "isPure": false, @@ -5388,11 +5388,11 @@ }, { "argumentTypes": null, - "id": 7601, + "id": 7764, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3663:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5401,11 +5401,11 @@ }, { "argumentTypes": null, - "id": 7602, + "id": 7765, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7566, + "referencedDeclaration": 7729, "src": "3669:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5434,32 +5434,32 @@ ], "expression": { "argumentTypes": null, - "id": 7595, + "id": 7758, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "3612:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7597, + "id": 7760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "3612:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7603, + "id": 7766, "isConstant": false, "isLValue": false, "isPure": false, @@ -5474,7 +5474,7 @@ "typeString": "tuple()" } }, - "id": 7604, + "id": 7767, "nodeType": "ExpressionStatement", "src": "3612:69:29" }, @@ -5491,11 +5491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7606, + "id": 7769, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3697:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5510,18 +5510,18 @@ "typeString": "address" } ], - "id": 7605, + "id": 7768, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "3691:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7607, + "id": 7770, "isConstant": false, "isLValue": false, "isPure": false, @@ -5532,25 +5532,25 @@ "src": "3691:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7608, + "id": 7771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "3691:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 7610, + "id": 7773, "isConstant": false, "isLValue": false, "isPure": false, @@ -5562,11 +5562,11 @@ "options": [ { "argumentTypes": null, - "id": 7609, + "id": 7772, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3718:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5580,7 +5580,7 @@ "typeString": "function () payable external" } }, - "id": 7611, + "id": 7774, "isConstant": false, "isLValue": false, "isPure": false, @@ -5595,7 +5595,7 @@ "typeString": "tuple()" } }, - "id": 7612, + "id": 7775, "nodeType": "ExpressionStatement", "src": "3691:39:29" }, @@ -5608,11 +5608,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7618, + "id": 7781, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3768:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5621,11 +5621,11 @@ }, { "argumentTypes": null, - "id": 7619, + "id": 7782, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3774:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5649,11 +5649,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7615, + "id": 7778, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3753:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5668,18 +5668,18 @@ "typeString": "address" } ], - "id": 7614, + "id": 7777, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "3747:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7616, + "id": 7779, "isConstant": false, "isLValue": false, "isPure": false, @@ -5690,25 +5690,25 @@ "src": "3747:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7617, + "id": 7780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "3747:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 7620, + "id": 7783, "isConstant": false, "isLValue": false, "isPure": false, @@ -5731,7 +5731,7 @@ "typeString": "bool" } ], - "id": 7613, + "id": 7776, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5742,7 +5742,7 @@ "typeString": "function (bool) pure" } }, - "id": 7621, + "id": 7784, "isConstant": false, "isLValue": false, "isPure": false, @@ -5757,25 +5757,25 @@ "typeString": "tuple()" } }, - "id": 7622, + "id": 7785, "nodeType": "ExpressionStatement", "src": "3740:45:29" }, { "expression": { "argumentTypes": null, - "id": 7630, + "id": 7793, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7623, + "id": 7786, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7570, + "referencedDeclaration": 7733, "src": "3795:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5789,11 +5789,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7628, + "id": 7791, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7557, + "referencedDeclaration": 7720, "src": "3833:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5813,11 +5813,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7625, + "id": 7788, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3822:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5832,18 +5832,18 @@ "typeString": "address" } ], - "id": 7624, + "id": 7787, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "3807:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7626, + "id": 7789, "isConstant": false, "isLValue": false, "isPure": false, @@ -5854,25 +5854,25 @@ "src": "3807:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7627, + "id": 7790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 7238, + "referencedDeclaration": 7401, "src": "3807:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 7629, + "id": 7792, "isConstant": false, "isLValue": false, "isPure": false, @@ -5893,7 +5893,7 @@ "typeString": "uint256" } }, - "id": 7631, + "id": 7794, "nodeType": "ExpressionStatement", "src": "3795:41:29" }, @@ -5904,7 +5904,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7635, + "id": 7798, "isConstant": false, "isLValue": false, "isPure": false, @@ -5913,7 +5913,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7632, + "id": 7795, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5924,7 +5924,7 @@ "typeString": "msg" } }, - "id": 7633, + "id": 7796, "isConstant": false, "isLValue": false, "isPure": false, @@ -5942,11 +5942,11 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 7634, + "id": 7797, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3897:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5960,7 +5960,7 @@ } }, "falseBody": null, - "id": 7647, + "id": 7810, "nodeType": "IfStatement", "src": "3881:92:29", "trueBody": { @@ -5971,7 +5971,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7639, + "id": 7802, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -5982,7 +5982,7 @@ "typeString": "msg" } }, - "id": 7640, + "id": 7803, "isConstant": false, "isLValue": false, "isPure": false, @@ -6002,7 +6002,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7644, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, @@ -6011,7 +6011,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7641, + "id": 7804, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6022,7 +6022,7 @@ "typeString": "msg" } }, - "id": 7642, + "id": 7805, "isConstant": false, "isLValue": false, "isPure": false, @@ -6040,11 +6040,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 7643, + "id": 7806, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3963:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6071,32 +6071,32 @@ ], "expression": { "argumentTypes": null, - "id": 7636, + "id": 7799, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "3908:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7638, + "id": 7801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "3908:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7645, + "id": 7808, "isConstant": false, "isLValue": false, "isPure": false, @@ -6111,7 +6111,7 @@ "typeString": "tuple()" } }, - "id": 7646, + "id": 7809, "nodeType": "ExpressionStatement", "src": "3908:65:29" } @@ -6120,7 +6120,7 @@ }, "documentation": null, "functionSelector": "f305d719", - "id": 7649, + "id": 7812, "implemented": true, "kind": "function", "modifiers": [ @@ -6128,11 +6128,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7563, + "id": 7726, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7559, + "referencedDeclaration": 7722, "src": "3256:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6140,14 +6140,14 @@ } } ], - "id": 7564, + "id": 7727, "modifierName": { "argumentTypes": null, - "id": 7562, + "id": 7725, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "3249:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -6161,23 +6161,23 @@ "name": "addLiquidityETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 7561, + "id": 7724, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3232:8:29" }, "parameters": { - "id": 7560, + "id": 7723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7549, + "id": 7712, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3063:13:29", "stateVariable": false, "storageLocation": "default", @@ -6186,7 +6186,7 @@ "typeString": "address" }, "typeName": { - "id": 7548, + "id": 7711, "name": "address", "nodeType": "ElementaryTypeName", "src": "3063:7:29", @@ -6201,12 +6201,12 @@ }, { "constant": false, - "id": 7551, + "id": 7714, "mutability": "mutable", "name": "amountTokenDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3086:23:29", "stateVariable": false, "storageLocation": "default", @@ -6215,7 +6215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7550, + "id": 7713, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3086:4:29", @@ -6229,12 +6229,12 @@ }, { "constant": false, - "id": 7553, + "id": 7716, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3119:19:29", "stateVariable": false, "storageLocation": "default", @@ -6243,7 +6243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7552, + "id": 7715, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3119:4:29", @@ -6257,12 +6257,12 @@ }, { "constant": false, - "id": 7555, + "id": 7718, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3148:17:29", "stateVariable": false, "storageLocation": "default", @@ -6271,7 +6271,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7554, + "id": 7717, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3148:4:29", @@ -6285,12 +6285,12 @@ }, { "constant": false, - "id": 7557, + "id": 7720, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3175:10:29", "stateVariable": false, "storageLocation": "default", @@ -6299,7 +6299,7 @@ "typeString": "address" }, "typeName": { - "id": 7556, + "id": 7719, "name": "address", "nodeType": "ElementaryTypeName", "src": "3175:7:29", @@ -6314,12 +6314,12 @@ }, { "constant": false, - "id": 7559, + "id": 7722, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3195:13:29", "stateVariable": false, "storageLocation": "default", @@ -6328,7 +6328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7558, + "id": 7721, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3195:4:29", @@ -6344,17 +6344,17 @@ "src": "3053:161:29" }, "returnParameters": { - "id": 7571, + "id": 7734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7566, + "id": 7729, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3275:16:29", "stateVariable": false, "storageLocation": "default", @@ -6363,7 +6363,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7565, + "id": 7728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3275:4:29", @@ -6377,12 +6377,12 @@ }, { "constant": false, - "id": 7568, + "id": 7731, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3293:14:29", "stateVariable": false, "storageLocation": "default", @@ -6391,7 +6391,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7567, + "id": 7730, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3293:4:29", @@ -6405,12 +6405,12 @@ }, { "constant": false, - "id": 7570, + "id": 7733, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3309:14:29", "stateVariable": false, "storageLocation": "default", @@ -6419,7 +6419,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7569, + "id": 7732, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3309:4:29", @@ -6434,7 +6434,7 @@ ], "src": "3274:50:29" }, - "scope": 9312, + "scope": 9475, "src": "3029:951:29", "stateMutability": "payable", "virtual": true, @@ -6442,26 +6442,26 @@ }, { "baseFunctions": [ - 9475 + 9638 ], "body": { - "id": 7741, + "id": 7904, "nodeType": "Block", "src": "4294:575:29", "statements": [ { "assignments": [ - 7675 + 7838 ], "declarations": [ { "constant": false, - "id": 7675, + "id": 7838, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4304:12:29", "stateVariable": false, "storageLocation": "default", @@ -6470,7 +6470,7 @@ "typeString": "address" }, "typeName": { - "id": 7674, + "id": 7837, "name": "address", "nodeType": "ElementaryTypeName", "src": "4304:7:29", @@ -6484,17 +6484,17 @@ "visibility": "internal" } ], - "id": 7682, + "id": 7845, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7678, + "id": 7841, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "4344:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6503,11 +6503,11 @@ }, { "argumentTypes": null, - "id": 7679, + "id": 7842, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4353:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6516,11 +6516,11 @@ }, { "argumentTypes": null, - "id": 7680, + "id": 7843, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7653, + "referencedDeclaration": 7816, "src": "4361:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6545,32 +6545,32 @@ ], "expression": { "argumentTypes": null, - "id": 7676, + "id": 7839, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "4319:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7677, + "id": 7840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "4319:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7681, + "id": 7844, "isConstant": false, "isLValue": false, "isPure": false, @@ -6596,7 +6596,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7687, + "id": 7850, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -6607,7 +6607,7 @@ "typeString": "msg" } }, - "id": 7688, + "id": 7851, "isConstant": false, "isLValue": false, "isPure": false, @@ -6623,11 +6623,11 @@ }, { "argumentTypes": null, - "id": 7689, + "id": 7852, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4424:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6636,11 +6636,11 @@ }, { "argumentTypes": null, - "id": 7690, + "id": 7853, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7655, + "referencedDeclaration": 7818, "src": "4430:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6668,11 +6668,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7684, + "id": 7847, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4393:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6687,18 +6687,18 @@ "typeString": "address" } ], - "id": 7683, + "id": 7846, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "4378:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7685, + "id": 7848, "isConstant": false, "isLValue": false, "isPure": false, @@ -6709,25 +6709,25 @@ "src": "4378:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7686, + "id": 7849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 7115, + "referencedDeclaration": 7278, "src": "4378:33:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 7691, + "id": 7854, "isConstant": false, "isLValue": false, "isPure": false, @@ -6742,24 +6742,24 @@ "typeString": "bool" } }, - "id": 7692, + "id": 7855, "nodeType": "ExpressionStatement", "src": "4378:62:29" }, { "assignments": [ - 7694, - 7696 + 7857, + 7859 ], "declarations": [ { "constant": false, - "id": 7694, + "id": 7857, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4477:12:29", "stateVariable": false, "storageLocation": "default", @@ -6768,7 +6768,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7693, + "id": 7856, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4477:4:29", @@ -6782,12 +6782,12 @@ }, { "constant": false, - "id": 7696, + "id": 7859, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4491:12:29", "stateVariable": false, "storageLocation": "default", @@ -6796,7 +6796,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7695, + "id": 7858, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4491:4:29", @@ -6809,17 +6809,17 @@ "visibility": "internal" } ], - "id": 7703, + "id": 7866, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7701, + "id": 7864, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7661, + "referencedDeclaration": 7824, "src": "4533:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6839,11 +6839,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7698, + "id": 7861, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4522:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6858,18 +6858,18 @@ "typeString": "address" } ], - "id": 7697, + "id": 7860, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "4507:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7699, + "id": 7862, "isConstant": false, "isLValue": false, "isPure": false, @@ -6880,25 +6880,25 @@ "src": "4507:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7700, + "id": 7863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "burn", "nodeType": "MemberAccess", - "referencedDeclaration": 7247, + "referencedDeclaration": 7410, "src": "4507:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address) external returns (uint256,uint256)" } }, - "id": 7702, + "id": 7865, "isConstant": false, "isLValue": false, "isPure": false, @@ -6918,18 +6918,18 @@ }, { "assignments": [ - 7705, + 7868, null ], "declarations": [ { "constant": false, - "id": 7705, + "id": 7868, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4547:14:29", "stateVariable": false, "storageLocation": "default", @@ -6938,7 +6938,7 @@ "typeString": "address" }, "typeName": { - "id": 7704, + "id": 7867, "name": "address", "nodeType": "ElementaryTypeName", "src": "4547:7:29", @@ -6953,17 +6953,17 @@ }, null ], - "id": 7711, + "id": 7874, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7708, + "id": 7871, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4594:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6972,11 +6972,11 @@ }, { "argumentTypes": null, - "id": 7709, + "id": 7872, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7653, + "referencedDeclaration": 7816, "src": "4602:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6997,32 +6997,32 @@ ], "expression": { "argumentTypes": null, - "id": 7706, + "id": 7869, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "4566:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7707, + "id": 7870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "4566:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 7710, + "id": 7873, "isConstant": false, "isLValue": false, "isPure": false, @@ -7043,7 +7043,7 @@ { "expression": { "argumentTypes": null, - "id": 7725, + "id": 7888, "isConstant": false, "isLValue": false, "isPure": false, @@ -7053,11 +7053,11 @@ "components": [ { "argumentTypes": null, - "id": 7712, + "id": 7875, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7670, + "referencedDeclaration": 7833, "src": "4620:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7066,11 +7066,11 @@ }, { "argumentTypes": null, - "id": 7713, + "id": 7876, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7672, + "referencedDeclaration": 7835, "src": "4629:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7078,7 +7078,7 @@ } } ], - "id": 7714, + "id": 7877, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -7101,18 +7101,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7717, + "id": 7880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7715, + "id": 7878, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4640:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7123,11 +7123,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7716, + "id": 7879, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7705, + "referencedDeclaration": 7868, "src": "4650:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7145,11 +7145,11 @@ "components": [ { "argumentTypes": null, - "id": 7721, + "id": 7884, "name": "amount1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7696, + "referencedDeclaration": 7859, "src": "4681:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7158,11 +7158,11 @@ }, { "argumentTypes": null, - "id": 7722, + "id": 7885, "name": "amount0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7694, + "referencedDeclaration": 7857, "src": "4690:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7170,7 +7170,7 @@ } } ], - "id": 7723, + "id": 7886, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7183,7 +7183,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 7724, + "id": 7887, "isConstant": false, "isLValue": false, "isPure": false, @@ -7195,11 +7195,11 @@ "components": [ { "argumentTypes": null, - "id": 7718, + "id": 7881, "name": "amount0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7694, + "referencedDeclaration": 7857, "src": "4660:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7208,11 +7208,11 @@ }, { "argumentTypes": null, - "id": 7719, + "id": 7882, "name": "amount1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7696, + "referencedDeclaration": 7859, "src": "4669:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7220,7 +7220,7 @@ } } ], - "id": 7720, + "id": 7883, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -7244,7 +7244,7 @@ "typeString": "tuple()" } }, - "id": 7726, + "id": 7889, "nodeType": "ExpressionStatement", "src": "4619:79:29" }, @@ -7258,18 +7258,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7730, + "id": 7893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7728, + "id": 7891, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7670, + "referencedDeclaration": 7833, "src": "4716:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7280,11 +7280,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7729, + "id": 7892, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7657, + "referencedDeclaration": 7820, "src": "4727:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7300,7 +7300,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54", - "id": 7731, + "id": 7894, "isConstant": false, "isLValue": false, "isPure": true, @@ -7327,7 +7327,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\"" } ], - "id": 7727, + "id": 7890, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7341,7 +7341,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7732, + "id": 7895, "isConstant": false, "isLValue": false, "isPure": false, @@ -7356,7 +7356,7 @@ "typeString": "tuple()" } }, - "id": 7733, + "id": 7896, "nodeType": "ExpressionStatement", "src": "4708:72:29" }, @@ -7370,18 +7370,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7737, + "id": 7900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7735, + "id": 7898, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7672, + "referencedDeclaration": 7835, "src": "4798:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7392,11 +7392,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7736, + "id": 7899, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7659, + "referencedDeclaration": 7822, "src": "4809:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7412,7 +7412,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54", - "id": 7738, + "id": 7901, "isConstant": false, "isLValue": false, "isPure": true, @@ -7439,7 +7439,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\"" } ], - "id": 7734, + "id": 7897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7453,7 +7453,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7739, + "id": 7902, "isConstant": false, "isLValue": false, "isPure": false, @@ -7468,7 +7468,7 @@ "typeString": "tuple()" } }, - "id": 7740, + "id": 7903, "nodeType": "ExpressionStatement", "src": "4790:72:29" } @@ -7476,7 +7476,7 @@ }, "documentation": null, "functionSelector": "baa2abde", - "id": 7742, + "id": 7905, "implemented": true, "kind": "function", "modifiers": [ @@ -7484,11 +7484,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7667, + "id": 7830, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7663, + "referencedDeclaration": 7826, "src": "4247:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7496,14 +7496,14 @@ } } ], - "id": 7668, + "id": 7831, "modifierName": { "argumentTypes": null, - "id": 7666, + "id": 7829, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "4240:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -7517,23 +7517,23 @@ "name": "removeLiquidity", "nodeType": "FunctionDefinition", "overrides": { - "id": 7665, + "id": 7828, "nodeType": "OverrideSpecifier", "overrides": [], "src": "4231:8:29" }, "parameters": { - "id": 7664, + "id": 7827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7651, + "id": 7814, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4054:14:29", "stateVariable": false, "storageLocation": "default", @@ -7542,7 +7542,7 @@ "typeString": "address" }, "typeName": { - "id": 7650, + "id": 7813, "name": "address", "nodeType": "ElementaryTypeName", "src": "4054:7:29", @@ -7557,12 +7557,12 @@ }, { "constant": false, - "id": 7653, + "id": 7816, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4078:14:29", "stateVariable": false, "storageLocation": "default", @@ -7571,7 +7571,7 @@ "typeString": "address" }, "typeName": { - "id": 7652, + "id": 7815, "name": "address", "nodeType": "ElementaryTypeName", "src": "4078:7:29", @@ -7586,12 +7586,12 @@ }, { "constant": false, - "id": 7655, + "id": 7818, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4102:14:29", "stateVariable": false, "storageLocation": "default", @@ -7600,7 +7600,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7654, + "id": 7817, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4102:4:29", @@ -7614,12 +7614,12 @@ }, { "constant": false, - "id": 7657, + "id": 7820, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4126:15:29", "stateVariable": false, "storageLocation": "default", @@ -7628,7 +7628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7656, + "id": 7819, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4126:4:29", @@ -7642,12 +7642,12 @@ }, { "constant": false, - "id": 7659, + "id": 7822, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4151:15:29", "stateVariable": false, "storageLocation": "default", @@ -7656,7 +7656,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7658, + "id": 7821, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4151:4:29", @@ -7670,12 +7670,12 @@ }, { "constant": false, - "id": 7661, + "id": 7824, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4176:10:29", "stateVariable": false, "storageLocation": "default", @@ -7684,7 +7684,7 @@ "typeString": "address" }, "typeName": { - "id": 7660, + "id": 7823, "name": "address", "nodeType": "ElementaryTypeName", "src": "4176:7:29", @@ -7699,12 +7699,12 @@ }, { "constant": false, - "id": 7663, + "id": 7826, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4196:13:29", "stateVariable": false, "storageLocation": "default", @@ -7713,7 +7713,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7662, + "id": 7825, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4196:4:29", @@ -7729,17 +7729,17 @@ "src": "4044:171:29" }, "returnParameters": { - "id": 7673, + "id": 7836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7670, + "id": 7833, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4266:12:29", "stateVariable": false, "storageLocation": "default", @@ -7748,7 +7748,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7669, + "id": 7832, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4266:4:29", @@ -7762,12 +7762,12 @@ }, { "constant": false, - "id": 7672, + "id": 7835, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4280:12:29", "stateVariable": false, "storageLocation": "default", @@ -7776,7 +7776,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7671, + "id": 7834, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4280:4:29", @@ -7791,7 +7791,7 @@ ], "src": "4265:28:29" }, - "scope": 9312, + "scope": 9475, "src": "4020:849:29", "stateMutability": "nonpayable", "virtual": true, @@ -7799,17 +7799,17 @@ }, { "baseFunctions": [ - 9494 + 9657 ], "body": { - "id": 7804, + "id": 7967, "nodeType": "Block", "src": "5138:389:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7780, + "id": 7943, "isConstant": false, "isLValue": false, "isPure": false, @@ -7819,11 +7819,11 @@ "components": [ { "argumentTypes": null, - "id": 7765, + "id": 7928, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7761, + "referencedDeclaration": 7924, "src": "5149:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7832,11 +7832,11 @@ }, { "argumentTypes": null, - "id": 7766, + "id": 7929, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5162:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7844,7 +7844,7 @@ } } ], - "id": 7767, + "id": 7930, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -7864,11 +7864,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7769, + "id": 7932, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7744, + "referencedDeclaration": 7907, "src": "5204:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7877,11 +7877,11 @@ }, { "argumentTypes": null, - "id": 7770, + "id": 7933, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "5223:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7890,11 +7890,11 @@ }, { "argumentTypes": null, - "id": 7771, + "id": 7934, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7746, + "referencedDeclaration": 7909, "src": "5241:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7903,11 +7903,11 @@ }, { "argumentTypes": null, - "id": 7772, + "id": 7935, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7748, + "referencedDeclaration": 7911, "src": "5264:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7916,11 +7916,11 @@ }, { "argumentTypes": null, - "id": 7773, + "id": 7936, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7750, + "referencedDeclaration": 7913, "src": "5292:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7932,14 +7932,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7776, + "id": 7939, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "5326:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -7947,11 +7947,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7775, + "id": 7938, "isConstant": false, "isLValue": false, "isPure": true, @@ -7963,7 +7963,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7774, + "id": 7937, "name": "address", "nodeType": "ElementaryTypeName", "src": "5318:7:29", @@ -7973,7 +7973,7 @@ } } }, - "id": 7777, + "id": 7940, "isConstant": false, "isLValue": false, "isPure": false, @@ -7990,11 +7990,11 @@ }, { "argumentTypes": null, - "id": 7778, + "id": 7941, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7754, + "referencedDeclaration": 7917, "src": "5345:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8033,18 +8033,18 @@ "typeString": "uint256" } ], - "id": 7768, + "id": 7931, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "5175:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7779, + "id": 7942, "isConstant": false, "isLValue": false, "isPure": false, @@ -8065,7 +8065,7 @@ "typeString": "tuple()" } }, - "id": 7781, + "id": 7944, "nodeType": "ExpressionStatement", "src": "5148:215:29" }, @@ -8075,11 +8075,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7785, + "id": 7948, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7744, + "referencedDeclaration": 7907, "src": "5401:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8088,11 +8088,11 @@ }, { "argumentTypes": null, - "id": 7786, + "id": 7949, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7752, + "referencedDeclaration": 7915, "src": "5408:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8101,11 +8101,11 @@ }, { "argumentTypes": null, - "id": 7787, + "id": 7950, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7761, + "referencedDeclaration": 7924, "src": "5412:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8130,32 +8130,32 @@ ], "expression": { "argumentTypes": null, - "id": 7782, + "id": 7945, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "5373:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7784, + "id": 7947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 6897, + "referencedDeclaration": 7060, "src": "5373:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 7788, + "id": 7951, "isConstant": false, "isLValue": false, "isPure": false, @@ -8170,7 +8170,7 @@ "typeString": "tuple()" } }, - "id": 7789, + "id": 7952, "nodeType": "ExpressionStatement", "src": "5373:51:29" }, @@ -8180,11 +8180,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7794, + "id": 7957, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5455:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8204,11 +8204,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7791, + "id": 7954, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "5440:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8223,18 +8223,18 @@ "typeString": "address" } ], - "id": 7790, + "id": 7953, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "5434:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7792, + "id": 7955, "isConstant": false, "isLValue": false, "isPure": false, @@ -8245,25 +8245,25 @@ "src": "5434:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7793, + "id": 7956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "5434:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 7795, + "id": 7958, "isConstant": false, "isLValue": false, "isPure": false, @@ -8278,7 +8278,7 @@ "typeString": "tuple()" } }, - "id": 7796, + "id": 7959, "nodeType": "ExpressionStatement", "src": "5434:31:29" }, @@ -8288,11 +8288,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7800, + "id": 7963, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7752, + "referencedDeclaration": 7915, "src": "5506:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8301,11 +8301,11 @@ }, { "argumentTypes": null, - "id": 7801, + "id": 7964, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5510:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8326,32 +8326,32 @@ ], "expression": { "argumentTypes": null, - "id": 7797, + "id": 7960, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "5475:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7799, + "id": 7962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "5475:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7802, + "id": 7965, "isConstant": false, "isLValue": false, "isPure": false, @@ -8366,7 +8366,7 @@ "typeString": "tuple()" } }, - "id": 7803, + "id": 7966, "nodeType": "ExpressionStatement", "src": "5475:45:29" } @@ -8374,7 +8374,7 @@ }, "documentation": null, "functionSelector": "02751cec", - "id": 7805, + "id": 7968, "implemented": true, "kind": "function", "modifiers": [ @@ -8382,11 +8382,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7758, + "id": 7921, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7754, + "referencedDeclaration": 7917, "src": "5085:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8394,14 +8394,14 @@ } } ], - "id": 7759, + "id": 7922, "modifierName": { "argumentTypes": null, - "id": 7757, + "id": 7920, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "5078:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -8415,23 +8415,23 @@ "name": "removeLiquidityETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 7756, + "id": 7919, "nodeType": "OverrideSpecifier", "overrides": [], "src": "5069:8:29" }, "parameters": { - "id": 7755, + "id": 7918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7744, + "id": 7907, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4911:13:29", "stateVariable": false, "storageLocation": "default", @@ -8440,7 +8440,7 @@ "typeString": "address" }, "typeName": { - "id": 7743, + "id": 7906, "name": "address", "nodeType": "ElementaryTypeName", "src": "4911:7:29", @@ -8455,12 +8455,12 @@ }, { "constant": false, - "id": 7746, + "id": 7909, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4934:14:29", "stateVariable": false, "storageLocation": "default", @@ -8469,7 +8469,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7745, + "id": 7908, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4934:4:29", @@ -8483,12 +8483,12 @@ }, { "constant": false, - "id": 7748, + "id": 7911, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4958:19:29", "stateVariable": false, "storageLocation": "default", @@ -8497,7 +8497,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7747, + "id": 7910, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4958:4:29", @@ -8511,12 +8511,12 @@ }, { "constant": false, - "id": 7750, + "id": 7913, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4987:17:29", "stateVariable": false, "storageLocation": "default", @@ -8525,7 +8525,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7749, + "id": 7912, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4987:4:29", @@ -8539,12 +8539,12 @@ }, { "constant": false, - "id": 7752, + "id": 7915, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5014:10:29", "stateVariable": false, "storageLocation": "default", @@ -8553,7 +8553,7 @@ "typeString": "address" }, "typeName": { - "id": 7751, + "id": 7914, "name": "address", "nodeType": "ElementaryTypeName", "src": "5014:7:29", @@ -8568,12 +8568,12 @@ }, { "constant": false, - "id": 7754, + "id": 7917, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5034:13:29", "stateVariable": false, "storageLocation": "default", @@ -8582,7 +8582,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7753, + "id": 7916, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5034:4:29", @@ -8598,17 +8598,17 @@ "src": "4901:152:29" }, "returnParameters": { - "id": 7764, + "id": 7927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7761, + "id": 7924, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5104:16:29", "stateVariable": false, "storageLocation": "default", @@ -8617,7 +8617,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7760, + "id": 7923, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5104:4:29", @@ -8631,12 +8631,12 @@ }, { "constant": false, - "id": 7763, + "id": 7926, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5122:14:29", "stateVariable": false, "storageLocation": "default", @@ -8645,7 +8645,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7762, + "id": 7925, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5122:4:29", @@ -8660,7 +8660,7 @@ ], "src": "5103:34:29" }, - "scope": 9312, + "scope": 9475, "src": "4874:653:29", "stateMutability": "nonpayable", "virtual": true, @@ -8668,26 +8668,26 @@ }, { "baseFunctions": [ - 9523 + 9686 ], "body": { - "id": 7886, + "id": 8049, "nodeType": "Block", "src": "5857:338:29", "statements": [ { "assignments": [ - 7836 + 7999 ], "declarations": [ { "constant": false, - "id": 7836, + "id": 7999, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7886, + "scope": 8049, "src": "5867:12:29", "stateVariable": false, "storageLocation": "default", @@ -8696,7 +8696,7 @@ "typeString": "address" }, "typeName": { - "id": 7835, + "id": 7998, "name": "address", "nodeType": "ElementaryTypeName", "src": "5867:7:29", @@ -8710,17 +8710,17 @@ "visibility": "internal" } ], - "id": 7843, + "id": 8006, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7839, + "id": 8002, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "5907:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8729,11 +8729,11 @@ }, { "argumentTypes": null, - "id": 7840, + "id": 8003, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7807, + "referencedDeclaration": 7970, "src": "5916:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8742,11 +8742,11 @@ }, { "argumentTypes": null, - "id": 7841, + "id": 8004, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7809, + "referencedDeclaration": 7972, "src": "5924:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8771,32 +8771,32 @@ ], "expression": { "argumentTypes": null, - "id": 7837, + "id": 8000, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "5882:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7838, + "id": 8001, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "5882:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7842, + "id": 8005, "isConstant": false, "isLValue": false, "isPure": false, @@ -8816,17 +8816,17 @@ }, { "assignments": [ - 7845 + 8008 ], "declarations": [ { "constant": false, - "id": 7845, + "id": 8008, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7886, + "scope": 8049, "src": "5941:10:29", "stateVariable": false, "storageLocation": "default", @@ -8835,7 +8835,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7844, + "id": 8007, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5941:4:29", @@ -8848,16 +8848,16 @@ "visibility": "internal" } ], - "id": 7854, + "id": 8017, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 7846, + "id": 8009, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7821, + "referencedDeclaration": 7984, "src": "5954:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8866,18 +8866,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 7852, + "id": 8015, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, + "referencedDeclaration": 7974, "src": "5978:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7853, + "id": 8016, "isConstant": false, "isLValue": false, "isPure": false, @@ -8889,7 +8889,7 @@ "arguments": [ { "argumentTypes": null, - "id": 7850, + "id": 8013, "isConstant": false, "isLValue": false, "isPure": true, @@ -8901,7 +8901,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 7849, + "id": 8012, "isConstant": false, "isLValue": false, "isPure": true, @@ -8929,7 +8929,7 @@ "typeString": "int_const -1" } ], - "id": 7848, + "id": 8011, "isConstant": false, "isLValue": false, "isPure": true, @@ -8941,7 +8941,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 7847, + "id": 8010, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5967:4:29", @@ -8951,7 +8951,7 @@ } } }, - "id": 7851, + "id": 8014, "isConstant": false, "isLValue": false, "isPure": true, @@ -8982,7 +8982,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7859, + "id": 8022, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8993,7 +8993,7 @@ "typeString": "msg" } }, - "id": 7860, + "id": 8023, "isConstant": false, "isLValue": false, "isPure": false, @@ -9012,14 +9012,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7863, + "id": 8026, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "6045:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -9027,11 +9027,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7862, + "id": 8025, "isConstant": false, "isLValue": false, "isPure": true, @@ -9043,7 +9043,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7861, + "id": 8024, "name": "address", "nodeType": "ElementaryTypeName", "src": "6037:7:29", @@ -9053,7 +9053,7 @@ } } }, - "id": 7864, + "id": 8027, "isConstant": false, "isLValue": false, "isPure": false, @@ -9070,11 +9070,11 @@ }, { "argumentTypes": null, - "id": 7865, + "id": 8028, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7845, + "referencedDeclaration": 8008, "src": "6052:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9083,11 +9083,11 @@ }, { "argumentTypes": null, - "id": 7866, + "id": 8029, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7819, + "referencedDeclaration": 7982, "src": "6059:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9096,11 +9096,11 @@ }, { "argumentTypes": null, - "id": 7867, + "id": 8030, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7823, + "referencedDeclaration": 7986, "src": "6069:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -9109,11 +9109,11 @@ }, { "argumentTypes": null, - "id": 7868, + "id": 8031, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7825, + "referencedDeclaration": 7988, "src": "6072:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -9122,11 +9122,11 @@ }, { "argumentTypes": null, - "id": 7869, + "id": 8032, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7827, + "referencedDeclaration": 7990, "src": "6075:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -9170,11 +9170,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7856, + "id": 8019, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7836, + "referencedDeclaration": 7999, "src": "6012:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9189,18 +9189,18 @@ "typeString": "address" } ], - "id": 7855, + "id": 8018, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "5997:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7857, + "id": 8020, "isConstant": false, "isLValue": false, "isPure": false, @@ -9211,25 +9211,25 @@ "src": "5997:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7858, + "id": 8021, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "5997:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 7870, + "id": 8033, "isConstant": false, "isLValue": false, "isPure": false, @@ -9244,14 +9244,14 @@ "typeString": "tuple()" } }, - "id": 7871, + "id": 8034, "nodeType": "ExpressionStatement", "src": "5997:80:29" }, { "expression": { "argumentTypes": null, - "id": 7884, + "id": 8047, "isConstant": false, "isLValue": false, "isPure": false, @@ -9261,11 +9261,11 @@ "components": [ { "argumentTypes": null, - "id": 7872, + "id": 8035, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7831, + "referencedDeclaration": 7994, "src": "6088:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9274,11 +9274,11 @@ }, { "argumentTypes": null, - "id": 7873, + "id": 8036, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7833, + "referencedDeclaration": 7996, "src": "6097:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9286,7 +9286,7 @@ } } ], - "id": 7874, + "id": 8037, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -9306,11 +9306,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7876, + "id": 8039, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7807, + "referencedDeclaration": 7970, "src": "6124:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9319,11 +9319,11 @@ }, { "argumentTypes": null, - "id": 7877, + "id": 8040, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7809, + "referencedDeclaration": 7972, "src": "6132:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9332,11 +9332,11 @@ }, { "argumentTypes": null, - "id": 7878, + "id": 8041, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, + "referencedDeclaration": 7974, "src": "6140:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9345,11 +9345,11 @@ }, { "argumentTypes": null, - "id": 7879, + "id": 8042, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7813, + "referencedDeclaration": 7976, "src": "6151:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9358,11 +9358,11 @@ }, { "argumentTypes": null, - "id": 7880, + "id": 8043, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7815, + "referencedDeclaration": 7978, "src": "6163:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9371,11 +9371,11 @@ }, { "argumentTypes": null, - "id": 7881, + "id": 8044, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7817, + "referencedDeclaration": 7980, "src": "6175:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9384,11 +9384,11 @@ }, { "argumentTypes": null, - "id": 7882, + "id": 8045, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7819, + "referencedDeclaration": 7982, "src": "6179:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9427,18 +9427,18 @@ "typeString": "uint256" } ], - "id": 7875, + "id": 8038, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "6108:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7883, + "id": 8046, "isConstant": false, "isLValue": false, "isPure": false, @@ -9459,7 +9459,7 @@ "typeString": "tuple()" } }, - "id": 7885, + "id": 8048, "nodeType": "ExpressionStatement", "src": "6087:101:29" } @@ -9467,30 +9467,30 @@ }, "documentation": null, "functionSelector": "2195995c", - "id": 7887, + "id": 8050, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityWithPermit", "nodeType": "FunctionDefinition", "overrides": { - "id": 7829, + "id": 7992, "nodeType": "OverrideSpecifier", "overrides": [], "src": "5811:8:29" }, "parameters": { - "id": 7828, + "id": 7991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7807, + "id": 7970, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5576:14:29", "stateVariable": false, "storageLocation": "default", @@ -9499,7 +9499,7 @@ "typeString": "address" }, "typeName": { - "id": 7806, + "id": 7969, "name": "address", "nodeType": "ElementaryTypeName", "src": "5576:7:29", @@ -9514,12 +9514,12 @@ }, { "constant": false, - "id": 7809, + "id": 7972, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5600:14:29", "stateVariable": false, "storageLocation": "default", @@ -9528,7 +9528,7 @@ "typeString": "address" }, "typeName": { - "id": 7808, + "id": 7971, "name": "address", "nodeType": "ElementaryTypeName", "src": "5600:7:29", @@ -9543,12 +9543,12 @@ }, { "constant": false, - "id": 7811, + "id": 7974, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5624:14:29", "stateVariable": false, "storageLocation": "default", @@ -9557,7 +9557,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7810, + "id": 7973, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5624:4:29", @@ -9571,12 +9571,12 @@ }, { "constant": false, - "id": 7813, + "id": 7976, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5648:15:29", "stateVariable": false, "storageLocation": "default", @@ -9585,7 +9585,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7812, + "id": 7975, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5648:4:29", @@ -9599,12 +9599,12 @@ }, { "constant": false, - "id": 7815, + "id": 7978, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5673:15:29", "stateVariable": false, "storageLocation": "default", @@ -9613,7 +9613,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7814, + "id": 7977, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5673:4:29", @@ -9627,12 +9627,12 @@ }, { "constant": false, - "id": 7817, + "id": 7980, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5698:10:29", "stateVariable": false, "storageLocation": "default", @@ -9641,7 +9641,7 @@ "typeString": "address" }, "typeName": { - "id": 7816, + "id": 7979, "name": "address", "nodeType": "ElementaryTypeName", "src": "5698:7:29", @@ -9656,12 +9656,12 @@ }, { "constant": false, - "id": 7819, + "id": 7982, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5718:13:29", "stateVariable": false, "storageLocation": "default", @@ -9670,7 +9670,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7818, + "id": 7981, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5718:4:29", @@ -9684,12 +9684,12 @@ }, { "constant": false, - "id": 7821, + "id": 7984, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5741:15:29", "stateVariable": false, "storageLocation": "default", @@ -9698,7 +9698,7 @@ "typeString": "bool" }, "typeName": { - "id": 7820, + "id": 7983, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5741:4:29", @@ -9712,12 +9712,12 @@ }, { "constant": false, - "id": 7823, + "id": 7986, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5758:7:29", "stateVariable": false, "storageLocation": "default", @@ -9726,7 +9726,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7822, + "id": 7985, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5758:5:29", @@ -9740,12 +9740,12 @@ }, { "constant": false, - "id": 7825, + "id": 7988, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5767:9:29", "stateVariable": false, "storageLocation": "default", @@ -9754,7 +9754,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7824, + "id": 7987, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5767:7:29", @@ -9768,12 +9768,12 @@ }, { "constant": false, - "id": 7827, + "id": 7990, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5778:9:29", "stateVariable": false, "storageLocation": "default", @@ -9782,7 +9782,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7826, + "id": 7989, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5778:7:29", @@ -9798,17 +9798,17 @@ "src": "5566:227:29" }, "returnParameters": { - "id": 7834, + "id": 7997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7831, + "id": 7994, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5829:12:29", "stateVariable": false, "storageLocation": "default", @@ -9817,7 +9817,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7830, + "id": 7993, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5829:4:29", @@ -9831,12 +9831,12 @@ }, { "constant": false, - "id": 7833, + "id": 7996, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5843:12:29", "stateVariable": false, "storageLocation": "default", @@ -9845,7 +9845,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7832, + "id": 7995, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5843:4:29", @@ -9860,7 +9860,7 @@ ], "src": "5828:28:29" }, - "scope": 9312, + "scope": 9475, "src": "5532:663:29", "stateMutability": "nonpayable", "virtual": true, @@ -9868,26 +9868,26 @@ }, { "baseFunctions": [ - 9550 + 9713 ], "body": { - "id": 7965, + "id": 8128, "nodeType": "Block", "src": "6515:341:29", "statements": [ { "assignments": [ - 7916 + 8079 ], "declarations": [ { "constant": false, - "id": 7916, + "id": 8079, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7965, + "scope": 8128, "src": "6525:12:29", "stateVariable": false, "storageLocation": "default", @@ -9896,7 +9896,7 @@ "typeString": "address" }, "typeName": { - "id": 7915, + "id": 8078, "name": "address", "nodeType": "ElementaryTypeName", "src": "6525:7:29", @@ -9910,17 +9910,17 @@ "visibility": "internal" } ], - "id": 7923, + "id": 8086, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7919, + "id": 8082, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "6565:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9929,11 +9929,11 @@ }, { "argumentTypes": null, - "id": 7920, + "id": 8083, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7889, + "referencedDeclaration": 8052, "src": "6574:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9942,11 +9942,11 @@ }, { "argumentTypes": null, - "id": 7921, + "id": 8084, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "6581:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9971,32 +9971,32 @@ ], "expression": { "argumentTypes": null, - "id": 7917, + "id": 8080, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "6540:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7918, + "id": 8081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "6540:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7922, + "id": 8085, "isConstant": false, "isLValue": false, "isPure": false, @@ -10016,17 +10016,17 @@ }, { "assignments": [ - 7925 + 8088 ], "declarations": [ { "constant": false, - "id": 7925, + "id": 8088, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7965, + "scope": 8128, "src": "6596:10:29", "stateVariable": false, "storageLocation": "default", @@ -10035,7 +10035,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7924, + "id": 8087, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6596:4:29", @@ -10048,16 +10048,16 @@ "visibility": "internal" } ], - "id": 7934, + "id": 8097, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 7926, + "id": 8089, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7901, + "referencedDeclaration": 8064, "src": "6609:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10066,18 +10066,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 7932, + "id": 8095, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8054, "src": "6633:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7933, + "id": 8096, "isConstant": false, "isLValue": false, "isPure": false, @@ -10089,7 +10089,7 @@ "arguments": [ { "argumentTypes": null, - "id": 7930, + "id": 8093, "isConstant": false, "isLValue": false, "isPure": true, @@ -10101,7 +10101,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 7929, + "id": 8092, "isConstant": false, "isLValue": false, "isPure": true, @@ -10129,7 +10129,7 @@ "typeString": "int_const -1" } ], - "id": 7928, + "id": 8091, "isConstant": false, "isLValue": false, "isPure": true, @@ -10141,7 +10141,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 7927, + "id": 8090, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6622:4:29", @@ -10151,7 +10151,7 @@ } } }, - "id": 7931, + "id": 8094, "isConstant": false, "isLValue": false, "isPure": true, @@ -10182,7 +10182,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7939, + "id": 8102, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10193,7 +10193,7 @@ "typeString": "msg" } }, - "id": 7940, + "id": 8103, "isConstant": false, "isLValue": false, "isPure": false, @@ -10212,14 +10212,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7943, + "id": 8106, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "6700:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -10227,11 +10227,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7942, + "id": 8105, "isConstant": false, "isLValue": false, "isPure": true, @@ -10243,7 +10243,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7941, + "id": 8104, "name": "address", "nodeType": "ElementaryTypeName", "src": "6692:7:29", @@ -10253,7 +10253,7 @@ } } }, - "id": 7944, + "id": 8107, "isConstant": false, "isLValue": false, "isPure": false, @@ -10270,11 +10270,11 @@ }, { "argumentTypes": null, - "id": 7945, + "id": 8108, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7925, + "referencedDeclaration": 8088, "src": "6707:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10283,11 +10283,11 @@ }, { "argumentTypes": null, - "id": 7946, + "id": 8109, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7899, + "referencedDeclaration": 8062, "src": "6714:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10296,11 +10296,11 @@ }, { "argumentTypes": null, - "id": 7947, + "id": 8110, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7903, + "referencedDeclaration": 8066, "src": "6724:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -10309,11 +10309,11 @@ }, { "argumentTypes": null, - "id": 7948, + "id": 8111, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7905, + "referencedDeclaration": 8068, "src": "6727:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -10322,11 +10322,11 @@ }, { "argumentTypes": null, - "id": 7949, + "id": 8112, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7907, + "referencedDeclaration": 8070, "src": "6730:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -10370,11 +10370,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7936, + "id": 8099, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7916, + "referencedDeclaration": 8079, "src": "6667:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10389,18 +10389,18 @@ "typeString": "address" } ], - "id": 7935, + "id": 8098, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "6652:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7937, + "id": 8100, "isConstant": false, "isLValue": false, "isPure": false, @@ -10411,25 +10411,25 @@ "src": "6652:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7938, + "id": 8101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "6652:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 7950, + "id": 8113, "isConstant": false, "isLValue": false, "isPure": false, @@ -10444,14 +10444,14 @@ "typeString": "tuple()" } }, - "id": 7951, + "id": 8114, "nodeType": "ExpressionStatement", "src": "6652:80:29" }, { "expression": { "argumentTypes": null, - "id": 7963, + "id": 8126, "isConstant": false, "isLValue": false, "isPure": false, @@ -10461,11 +10461,11 @@ "components": [ { "argumentTypes": null, - "id": 7952, + "id": 8115, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7911, + "referencedDeclaration": 8074, "src": "6743:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10474,11 +10474,11 @@ }, { "argumentTypes": null, - "id": 7953, + "id": 8116, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7913, + "referencedDeclaration": 8076, "src": "6756:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10486,7 +10486,7 @@ } } ], - "id": 7954, + "id": 8117, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -10506,11 +10506,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7956, + "id": 8119, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7889, + "referencedDeclaration": 8052, "src": "6788:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10519,11 +10519,11 @@ }, { "argumentTypes": null, - "id": 7957, + "id": 8120, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8054, "src": "6795:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10532,11 +10532,11 @@ }, { "argumentTypes": null, - "id": 7958, + "id": 8121, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7893, + "referencedDeclaration": 8056, "src": "6806:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10545,11 +10545,11 @@ }, { "argumentTypes": null, - "id": 7959, + "id": 8122, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, + "referencedDeclaration": 8058, "src": "6822:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10558,11 +10558,11 @@ }, { "argumentTypes": null, - "id": 7960, + "id": 8123, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7897, + "referencedDeclaration": 8060, "src": "6836:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10571,11 +10571,11 @@ }, { "argumentTypes": null, - "id": 7961, + "id": 8124, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7899, + "referencedDeclaration": 8062, "src": "6840:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10610,18 +10610,18 @@ "typeString": "uint256" } ], - "id": 7955, + "id": 8118, "name": "removeLiquidityETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7805, + "referencedDeclaration": 7968, "src": "6769:18:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7962, + "id": 8125, "isConstant": false, "isLValue": false, "isPure": false, @@ -10642,7 +10642,7 @@ "typeString": "tuple()" } }, - "id": 7964, + "id": 8127, "nodeType": "ExpressionStatement", "src": "6742:107:29" } @@ -10650,30 +10650,30 @@ }, "documentation": null, "functionSelector": "ded9382a", - "id": 7966, + "id": 8129, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermit", "nodeType": "FunctionDefinition", "overrides": { - "id": 7909, + "id": 8072, "nodeType": "OverrideSpecifier", "overrides": [], "src": "6463:8:29" }, "parameters": { - "id": 7908, + "id": 8071, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7889, + "id": 8052, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6247:13:29", "stateVariable": false, "storageLocation": "default", @@ -10682,7 +10682,7 @@ "typeString": "address" }, "typeName": { - "id": 7888, + "id": 8051, "name": "address", "nodeType": "ElementaryTypeName", "src": "6247:7:29", @@ -10697,12 +10697,12 @@ }, { "constant": false, - "id": 7891, + "id": 8054, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6270:14:29", "stateVariable": false, "storageLocation": "default", @@ -10711,7 +10711,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7890, + "id": 8053, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6270:4:29", @@ -10725,12 +10725,12 @@ }, { "constant": false, - "id": 7893, + "id": 8056, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6294:19:29", "stateVariable": false, "storageLocation": "default", @@ -10739,7 +10739,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7892, + "id": 8055, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6294:4:29", @@ -10753,12 +10753,12 @@ }, { "constant": false, - "id": 7895, + "id": 8058, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6323:17:29", "stateVariable": false, "storageLocation": "default", @@ -10767,7 +10767,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7894, + "id": 8057, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6323:4:29", @@ -10781,12 +10781,12 @@ }, { "constant": false, - "id": 7897, + "id": 8060, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6350:10:29", "stateVariable": false, "storageLocation": "default", @@ -10795,7 +10795,7 @@ "typeString": "address" }, "typeName": { - "id": 7896, + "id": 8059, "name": "address", "nodeType": "ElementaryTypeName", "src": "6350:7:29", @@ -10810,12 +10810,12 @@ }, { "constant": false, - "id": 7899, + "id": 8062, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6370:13:29", "stateVariable": false, "storageLocation": "default", @@ -10824,7 +10824,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7898, + "id": 8061, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6370:4:29", @@ -10838,12 +10838,12 @@ }, { "constant": false, - "id": 7901, + "id": 8064, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6393:15:29", "stateVariable": false, "storageLocation": "default", @@ -10852,7 +10852,7 @@ "typeString": "bool" }, "typeName": { - "id": 7900, + "id": 8063, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6393:4:29", @@ -10866,12 +10866,12 @@ }, { "constant": false, - "id": 7903, + "id": 8066, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6410:7:29", "stateVariable": false, "storageLocation": "default", @@ -10880,7 +10880,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7902, + "id": 8065, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "6410:5:29", @@ -10894,12 +10894,12 @@ }, { "constant": false, - "id": 7905, + "id": 8068, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6419:9:29", "stateVariable": false, "storageLocation": "default", @@ -10908,7 +10908,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7904, + "id": 8067, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6419:7:29", @@ -10922,12 +10922,12 @@ }, { "constant": false, - "id": 7907, + "id": 8070, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6430:9:29", "stateVariable": false, "storageLocation": "default", @@ -10936,7 +10936,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7906, + "id": 8069, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6430:7:29", @@ -10952,17 +10952,17 @@ "src": "6237:208:29" }, "returnParameters": { - "id": 7914, + "id": 8077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7911, + "id": 8074, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6481:16:29", "stateVariable": false, "storageLocation": "default", @@ -10971,7 +10971,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7910, + "id": 8073, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6481:4:29", @@ -10985,12 +10985,12 @@ }, { "constant": false, - "id": 7913, + "id": 8076, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6499:14:29", "stateVariable": false, "storageLocation": "default", @@ -10999,7 +10999,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7912, + "id": 8075, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6499:4:29", @@ -11014,7 +11014,7 @@ ], "src": "6480:34:29" }, - "scope": 9312, + "scope": 9475, "src": "6200:656:29", "stateMutability": "nonpayable", "virtual": true, @@ -11022,17 +11022,17 @@ }, { "baseFunctions": [ - 9726 + 9889 ], "body": { - "id": 8033, + "id": 8196, "nodeType": "Block", "src": "7207:405:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8001, + "id": 8164, "isConstant": false, "isLValue": false, "isPure": false, @@ -11043,11 +11043,11 @@ null, { "argumentTypes": null, - "id": 7987, + "id": 8150, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7220:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11055,7 +11055,7 @@ } } ], - "id": 7988, + "id": 8151, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -11075,11 +11075,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7990, + "id": 8153, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7262:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11088,11 +11088,11 @@ }, { "argumentTypes": null, - "id": 7991, + "id": 8154, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "7281:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11101,11 +11101,11 @@ }, { "argumentTypes": null, - "id": 7992, + "id": 8155, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7970, + "referencedDeclaration": 8133, "src": "7299:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11114,11 +11114,11 @@ }, { "argumentTypes": null, - "id": 7993, + "id": 8156, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7972, + "referencedDeclaration": 8135, "src": "7322:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11127,11 +11127,11 @@ }, { "argumentTypes": null, - "id": 7994, + "id": 8157, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7974, + "referencedDeclaration": 8137, "src": "7350:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11143,14 +11143,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7997, + "id": 8160, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7384:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -11158,11 +11158,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7996, + "id": 8159, "isConstant": false, "isLValue": false, "isPure": true, @@ -11174,7 +11174,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7995, + "id": 8158, "name": "address", "nodeType": "ElementaryTypeName", "src": "7376:7:29", @@ -11184,7 +11184,7 @@ } } }, - "id": 7998, + "id": 8161, "isConstant": false, "isLValue": false, "isPure": false, @@ -11201,11 +11201,11 @@ }, { "argumentTypes": null, - "id": 7999, + "id": 8162, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7978, + "referencedDeclaration": 8141, "src": "7403:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11244,18 +11244,18 @@ "typeString": "uint256" } ], - "id": 7989, + "id": 8152, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "7233:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 8000, + "id": 8163, "isConstant": false, "isLValue": false, "isPure": false, @@ -11276,7 +11276,7 @@ "typeString": "tuple()" } }, - "id": 8002, + "id": 8165, "nodeType": "ExpressionStatement", "src": "7217:204:29" }, @@ -11286,11 +11286,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8006, + "id": 8169, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7459:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11299,11 +11299,11 @@ }, { "argumentTypes": null, - "id": 8007, + "id": 8170, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7976, + "referencedDeclaration": 8139, "src": "7466:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11318,14 +11318,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8014, + "id": 8177, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7502:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -11333,11 +11333,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8013, + "id": 8176, "isConstant": false, "isLValue": false, "isPure": true, @@ -11349,7 +11349,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8012, + "id": 8175, "name": "address", "nodeType": "ElementaryTypeName", "src": "7494:7:29", @@ -11359,7 +11359,7 @@ } } }, - "id": 8015, + "id": 8178, "isConstant": false, "isLValue": false, "isPure": false, @@ -11387,11 +11387,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8009, + "id": 8172, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7477:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11406,18 +11406,18 @@ "typeString": "address" } ], - "id": 8008, + "id": 8171, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "7470:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8010, + "id": 8173, "isConstant": false, "isLValue": false, "isPure": false, @@ -11428,25 +11428,25 @@ "src": "7470:13:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8011, + "id": 8174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "7470:23:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8016, + "id": 8179, "isConstant": false, "isLValue": false, "isPure": false, @@ -11479,32 +11479,32 @@ ], "expression": { "argumentTypes": null, - "id": 8003, + "id": 8166, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "7431:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8005, + "id": 8168, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 6897, + "referencedDeclaration": 7060, "src": "7431:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8017, + "id": 8180, "isConstant": false, "isLValue": false, "isPure": false, @@ -11519,7 +11519,7 @@ "typeString": "tuple()" } }, - "id": 8018, + "id": 8181, "nodeType": "ExpressionStatement", "src": "7431:78:29" }, @@ -11529,11 +11529,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8023, + "id": 8186, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7540:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11553,11 +11553,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8020, + "id": 8183, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "7525:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11572,18 +11572,18 @@ "typeString": "address" } ], - "id": 8019, + "id": 8182, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "7519:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8021, + "id": 8184, "isConstant": false, "isLValue": false, "isPure": false, @@ -11594,25 +11594,25 @@ "src": "7519:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8022, + "id": 8185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "7519:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8024, + "id": 8187, "isConstant": false, "isLValue": false, "isPure": false, @@ -11627,7 +11627,7 @@ "typeString": "tuple()" } }, - "id": 8025, + "id": 8188, "nodeType": "ExpressionStatement", "src": "7519:31:29" }, @@ -11637,11 +11637,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8029, + "id": 8192, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7976, + "referencedDeclaration": 8139, "src": "7591:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11650,11 +11650,11 @@ }, { "argumentTypes": null, - "id": 8030, + "id": 8193, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7595:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11675,32 +11675,32 @@ ], "expression": { "argumentTypes": null, - "id": 8026, + "id": 8189, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "7560:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8028, + "id": 8191, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "7560:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8031, + "id": 8194, "isConstant": false, "isLValue": false, "isPure": false, @@ -11715,7 +11715,7 @@ "typeString": "tuple()" } }, - "id": 8032, + "id": 8195, "nodeType": "ExpressionStatement", "src": "7560:45:29" } @@ -11723,7 +11723,7 @@ }, "documentation": null, "functionSelector": "af2979eb", - "id": 8034, + "id": 8197, "implemented": true, "kind": "function", "modifiers": [ @@ -11731,11 +11731,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7982, + "id": 8145, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7978, + "referencedDeclaration": 8141, "src": "7172:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11743,14 +11743,14 @@ } } ], - "id": 7983, + "id": 8146, "modifierName": { "argumentTypes": null, - "id": 7981, + "id": 8144, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "7165:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -11764,23 +11764,23 @@ "name": "removeLiquidityETHSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 7980, + "id": 8143, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7156:8:29" }, "parameters": { - "id": 7979, + "id": 8142, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7968, + "id": 8131, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "6998:13:29", "stateVariable": false, "storageLocation": "default", @@ -11789,7 +11789,7 @@ "typeString": "address" }, "typeName": { - "id": 7967, + "id": 8130, "name": "address", "nodeType": "ElementaryTypeName", "src": "6998:7:29", @@ -11804,12 +11804,12 @@ }, { "constant": false, - "id": 7970, + "id": 8133, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7021:14:29", "stateVariable": false, "storageLocation": "default", @@ -11818,7 +11818,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7969, + "id": 8132, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7021:4:29", @@ -11832,12 +11832,12 @@ }, { "constant": false, - "id": 7972, + "id": 8135, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7045:19:29", "stateVariable": false, "storageLocation": "default", @@ -11846,7 +11846,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7971, + "id": 8134, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7045:4:29", @@ -11860,12 +11860,12 @@ }, { "constant": false, - "id": 7974, + "id": 8137, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7074:17:29", "stateVariable": false, "storageLocation": "default", @@ -11874,7 +11874,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7973, + "id": 8136, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7074:4:29", @@ -11888,12 +11888,12 @@ }, { "constant": false, - "id": 7976, + "id": 8139, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7101:10:29", "stateVariable": false, "storageLocation": "default", @@ -11902,7 +11902,7 @@ "typeString": "address" }, "typeName": { - "id": 7975, + "id": 8138, "name": "address", "nodeType": "ElementaryTypeName", "src": "7101:7:29", @@ -11917,12 +11917,12 @@ }, { "constant": false, - "id": 7978, + "id": 8141, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7121:13:29", "stateVariable": false, "storageLocation": "default", @@ -11931,7 +11931,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7977, + "id": 8140, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7121:4:29", @@ -11947,17 +11947,17 @@ "src": "6988:152:29" }, "returnParameters": { - "id": 7986, + "id": 8149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7985, + "id": 8148, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7191:14:29", "stateVariable": false, "storageLocation": "default", @@ -11966,7 +11966,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7984, + "id": 8147, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7191:4:29", @@ -11981,7 +11981,7 @@ ], "src": "7190:16:29" }, - "scope": 9312, + "scope": 9475, "src": "6932:680:29", "stateMutability": "nonpayable", "virtual": true, @@ -11989,26 +11989,26 @@ }, { "baseFunctions": [ - 9751 + 9914 ], "body": { - "id": 8108, + "id": 8271, "nodeType": "Block", "src": "7943:377:29", "statements": [ { "assignments": [ - 8061 + 8224 ], "declarations": [ { "constant": false, - "id": 8061, + "id": 8224, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8108, + "scope": 8271, "src": "7953:12:29", "stateVariable": false, "storageLocation": "default", @@ -12017,7 +12017,7 @@ "typeString": "address" }, "typeName": { - "id": 8060, + "id": 8223, "name": "address", "nodeType": "ElementaryTypeName", "src": "7953:7:29", @@ -12031,17 +12031,17 @@ "visibility": "internal" } ], - "id": 8068, + "id": 8231, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8064, + "id": 8227, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "7993:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12050,11 +12050,11 @@ }, { "argumentTypes": null, - "id": 8065, + "id": 8228, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, + "referencedDeclaration": 8199, "src": "8002:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12063,11 +12063,11 @@ }, { "argumentTypes": null, - "id": 8066, + "id": 8229, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "8009:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12092,32 +12092,32 @@ ], "expression": { "argumentTypes": null, - "id": 8062, + "id": 8225, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "7968:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8063, + "id": 8226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "7968:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8067, + "id": 8230, "isConstant": false, "isLValue": false, "isPure": false, @@ -12137,17 +12137,17 @@ }, { "assignments": [ - 8070 + 8233 ], "declarations": [ { "constant": false, - "id": 8070, + "id": 8233, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8108, + "scope": 8271, "src": "8024:10:29", "stateVariable": false, "storageLocation": "default", @@ -12156,7 +12156,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8069, + "id": 8232, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8024:4:29", @@ -12169,16 +12169,16 @@ "visibility": "internal" } ], - "id": 8079, + "id": 8242, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 8071, + "id": 8234, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8048, + "referencedDeclaration": 8211, "src": "8037:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12187,18 +12187,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8077, + "id": 8240, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, + "referencedDeclaration": 8201, "src": "8061:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8078, + "id": 8241, "isConstant": false, "isLValue": false, "isPure": false, @@ -12210,7 +12210,7 @@ "arguments": [ { "argumentTypes": null, - "id": 8075, + "id": 8238, "isConstant": false, "isLValue": false, "isPure": true, @@ -12222,7 +12222,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8074, + "id": 8237, "isConstant": false, "isLValue": false, "isPure": true, @@ -12250,7 +12250,7 @@ "typeString": "int_const -1" } ], - "id": 8073, + "id": 8236, "isConstant": false, "isLValue": false, "isPure": true, @@ -12262,7 +12262,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8072, + "id": 8235, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8050:4:29", @@ -12272,7 +12272,7 @@ } } }, - "id": 8076, + "id": 8239, "isConstant": false, "isLValue": false, "isPure": true, @@ -12303,7 +12303,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8084, + "id": 8247, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12314,7 +12314,7 @@ "typeString": "msg" } }, - "id": 8085, + "id": 8248, "isConstant": false, "isLValue": false, "isPure": false, @@ -12333,14 +12333,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8088, + "id": 8251, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "8128:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -12348,11 +12348,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8087, + "id": 8250, "isConstant": false, "isLValue": false, "isPure": true, @@ -12364,7 +12364,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8086, + "id": 8249, "name": "address", "nodeType": "ElementaryTypeName", "src": "8120:7:29", @@ -12374,7 +12374,7 @@ } } }, - "id": 8089, + "id": 8252, "isConstant": false, "isLValue": false, "isPure": false, @@ -12391,11 +12391,11 @@ }, { "argumentTypes": null, - "id": 8090, + "id": 8253, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8070, + "referencedDeclaration": 8233, "src": "8135:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12404,11 +12404,11 @@ }, { "argumentTypes": null, - "id": 8091, + "id": 8254, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, + "referencedDeclaration": 8209, "src": "8142:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12417,11 +12417,11 @@ }, { "argumentTypes": null, - "id": 8092, + "id": 8255, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8050, + "referencedDeclaration": 8213, "src": "8152:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -12430,11 +12430,11 @@ }, { "argumentTypes": null, - "id": 8093, + "id": 8256, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8052, + "referencedDeclaration": 8215, "src": "8155:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12443,11 +12443,11 @@ }, { "argumentTypes": null, - "id": 8094, + "id": 8257, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8054, + "referencedDeclaration": 8217, "src": "8158:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12491,11 +12491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8081, + "id": 8244, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8061, + "referencedDeclaration": 8224, "src": "8095:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12510,18 +12510,18 @@ "typeString": "address" } ], - "id": 8080, + "id": 8243, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "8080:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8082, + "id": 8245, "isConstant": false, "isLValue": false, "isPure": false, @@ -12532,25 +12532,25 @@ "src": "8080:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8083, + "id": 8246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "8080:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 8095, + "id": 8258, "isConstant": false, "isLValue": false, "isPure": false, @@ -12565,25 +12565,25 @@ "typeString": "tuple()" } }, - "id": 8096, + "id": 8259, "nodeType": "ExpressionStatement", "src": "8080:80:29" }, { "expression": { "argumentTypes": null, - "id": 8106, + "id": 8269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8097, + "id": 8260, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8058, + "referencedDeclaration": 8221, "src": "8170:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12597,11 +12597,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8099, + "id": 8262, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, + "referencedDeclaration": 8199, "src": "8243:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12610,11 +12610,11 @@ }, { "argumentTypes": null, - "id": 8100, + "id": 8263, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, + "referencedDeclaration": 8201, "src": "8250:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12623,11 +12623,11 @@ }, { "argumentTypes": null, - "id": 8101, + "id": 8264, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8040, + "referencedDeclaration": 8203, "src": "8261:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12636,11 +12636,11 @@ }, { "argumentTypes": null, - "id": 8102, + "id": 8265, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, + "referencedDeclaration": 8205, "src": "8277:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12649,11 +12649,11 @@ }, { "argumentTypes": null, - "id": 8103, + "id": 8266, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8044, + "referencedDeclaration": 8207, "src": "8291:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12662,11 +12662,11 @@ }, { "argumentTypes": null, - "id": 8104, + "id": 8267, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, + "referencedDeclaration": 8209, "src": "8295:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12701,18 +12701,18 @@ "typeString": "uint256" } ], - "id": 8098, + "id": 8261, "name": "removeLiquidityETHSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8034, + "referencedDeclaration": 8197, "src": "8182:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256)" } }, - "id": 8105, + "id": 8268, "isConstant": false, "isLValue": false, "isPure": false, @@ -12733,7 +12733,7 @@ "typeString": "uint256" } }, - "id": 8107, + "id": 8270, "nodeType": "ExpressionStatement", "src": "8170:143:29" } @@ -12741,30 +12741,30 @@ }, "documentation": null, "functionSelector": "5b0d5984", - "id": 8109, + "id": 8272, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8056, + "id": 8219, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7909:8:29" }, "parameters": { - "id": 8055, + "id": 8218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8036, + "id": 8199, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7693:13:29", "stateVariable": false, "storageLocation": "default", @@ -12773,7 +12773,7 @@ "typeString": "address" }, "typeName": { - "id": 8035, + "id": 8198, "name": "address", "nodeType": "ElementaryTypeName", "src": "7693:7:29", @@ -12788,12 +12788,12 @@ }, { "constant": false, - "id": 8038, + "id": 8201, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7716:14:29", "stateVariable": false, "storageLocation": "default", @@ -12802,7 +12802,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8037, + "id": 8200, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7716:4:29", @@ -12816,12 +12816,12 @@ }, { "constant": false, - "id": 8040, + "id": 8203, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7740:19:29", "stateVariable": false, "storageLocation": "default", @@ -12830,7 +12830,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8039, + "id": 8202, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7740:4:29", @@ -12844,12 +12844,12 @@ }, { "constant": false, - "id": 8042, + "id": 8205, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7769:17:29", "stateVariable": false, "storageLocation": "default", @@ -12858,7 +12858,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8041, + "id": 8204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7769:4:29", @@ -12872,12 +12872,12 @@ }, { "constant": false, - "id": 8044, + "id": 8207, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7796:10:29", "stateVariable": false, "storageLocation": "default", @@ -12886,7 +12886,7 @@ "typeString": "address" }, "typeName": { - "id": 8043, + "id": 8206, "name": "address", "nodeType": "ElementaryTypeName", "src": "7796:7:29", @@ -12901,12 +12901,12 @@ }, { "constant": false, - "id": 8046, + "id": 8209, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7816:13:29", "stateVariable": false, "storageLocation": "default", @@ -12915,7 +12915,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8045, + "id": 8208, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7816:4:29", @@ -12929,12 +12929,12 @@ }, { "constant": false, - "id": 8048, + "id": 8211, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7839:15:29", "stateVariable": false, "storageLocation": "default", @@ -12943,7 +12943,7 @@ "typeString": "bool" }, "typeName": { - "id": 8047, + "id": 8210, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7839:4:29", @@ -12957,12 +12957,12 @@ }, { "constant": false, - "id": 8050, + "id": 8213, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7856:7:29", "stateVariable": false, "storageLocation": "default", @@ -12971,7 +12971,7 @@ "typeString": "uint8" }, "typeName": { - "id": 8049, + "id": 8212, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "7856:5:29", @@ -12985,12 +12985,12 @@ }, { "constant": false, - "id": 8052, + "id": 8215, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7865:9:29", "stateVariable": false, "storageLocation": "default", @@ -12999,7 +12999,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8051, + "id": 8214, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7865:7:29", @@ -13013,12 +13013,12 @@ }, { "constant": false, - "id": 8054, + "id": 8217, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7876:9:29", "stateVariable": false, "storageLocation": "default", @@ -13027,7 +13027,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8053, + "id": 8216, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7876:7:29", @@ -13043,17 +13043,17 @@ "src": "7683:208:29" }, "returnParameters": { - "id": 8059, + "id": 8222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8058, + "id": 8221, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7927:14:29", "stateVariable": false, "storageLocation": "default", @@ -13062,7 +13062,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8057, + "id": 8220, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7927:4:29", @@ -13077,7 +13077,7 @@ ], "src": "7926:16:29" }, - "scope": 9312, + "scope": 9475, "src": "7617:703:29", "stateMutability": "nonpayable", "virtual": true, @@ -13085,30 +13085,30 @@ }, { "body": { - "id": 8224, + "id": 8387, "nodeType": "Block", "src": "8518:633:29", "statements": [ { "body": { - "id": 8222, + "id": 8385, "nodeType": "Block", "src": "8567:578:29", "statements": [ { "assignments": [ - 8133, - 8135 + 8296, + 8298 ], "declarations": [ { "constant": false, - "id": 8133, + "id": 8296, "mutability": "mutable", "name": "input", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8582:13:29", "stateVariable": false, "storageLocation": "default", @@ -13117,7 +13117,7 @@ "typeString": "address" }, "typeName": { - "id": 8132, + "id": 8295, "name": "address", "nodeType": "ElementaryTypeName", "src": "8582:7:29", @@ -13132,12 +13132,12 @@ }, { "constant": false, - "id": 8135, + "id": 8298, "mutability": "mutable", "name": "output", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8597:14:29", "stateVariable": false, "storageLocation": "default", @@ -13146,7 +13146,7 @@ "typeString": "address" }, "typeName": { - "id": 8134, + "id": 8297, "name": "address", "nodeType": "ElementaryTypeName", "src": "8597:7:29", @@ -13160,7 +13160,7 @@ "visibility": "internal" } ], - "id": 8145, + "id": 8308, "initialValue": { "argumentTypes": null, "components": [ @@ -13168,25 +13168,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8136, + "id": 8299, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8616:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8138, + "id": 8301, "indexExpression": { "argumentTypes": null, - "id": 8137, + "id": 8300, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8621:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13208,36 +13208,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8139, + "id": 8302, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8625:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8143, + "id": 8306, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8142, + "id": 8305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8140, + "id": 8303, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8630:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13249,7 +13249,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8141, + "id": 8304, "isConstant": false, "isLValue": false, "isPure": true, @@ -13282,7 +13282,7 @@ } } ], - "id": 8144, + "id": 8307, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -13300,18 +13300,18 @@ }, { "assignments": [ - 8147, + 8310, null ], "declarations": [ { "constant": false, - "id": 8147, + "id": 8310, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8652:14:29", "stateVariable": false, "storageLocation": "default", @@ -13320,7 +13320,7 @@ "typeString": "address" }, "typeName": { - "id": 8146, + "id": 8309, "name": "address", "nodeType": "ElementaryTypeName", "src": "8652:7:29", @@ -13335,17 +13335,17 @@ }, null ], - "id": 8153, + "id": 8316, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8150, + "id": 8313, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "8699:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13354,11 +13354,11 @@ }, { "argumentTypes": null, - "id": 8151, + "id": 8314, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "8706:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13379,32 +13379,32 @@ ], "expression": { "argumentTypes": null, - "id": 8148, + "id": 8311, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "8671:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8149, + "id": 8312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "8671:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 8152, + "id": 8315, "isConstant": false, "isLValue": false, "isPure": false, @@ -13424,17 +13424,17 @@ }, { "assignments": [ - 8155 + 8318 ], "declarations": [ { "constant": false, - "id": 8155, + "id": 8318, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8727:14:29", "stateVariable": false, "storageLocation": "default", @@ -13443,7 +13443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8154, + "id": 8317, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8727:4:29", @@ -13456,41 +13456,41 @@ "visibility": "internal" } ], - "id": 8161, + "id": 8324, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8156, + "id": 8319, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, + "referencedDeclaration": 8275, "src": "8744:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8160, + "id": 8323, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8159, + "id": 8322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8157, + "id": 8320, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8752:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13502,7 +13502,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8158, + "id": 8321, "isConstant": false, "isLValue": false, "isPure": true, @@ -13539,18 +13539,18 @@ }, { "assignments": [ - 8163, - 8165 + 8326, + 8328 ], "declarations": [ { "constant": false, - "id": 8163, + "id": 8326, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8773:15:29", "stateVariable": false, "storageLocation": "default", @@ -13559,7 +13559,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8162, + "id": 8325, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8773:4:29", @@ -13573,12 +13573,12 @@ }, { "constant": false, - "id": 8165, + "id": 8328, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8790:15:29", "stateVariable": false, "storageLocation": "default", @@ -13587,7 +13587,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8164, + "id": 8327, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8790:4:29", @@ -13600,7 +13600,7 @@ "visibility": "internal" } ], - "id": 8182, + "id": 8345, "initialValue": { "argumentTypes": null, "condition": { @@ -13609,18 +13609,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8168, + "id": 8331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8166, + "id": 8329, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "8809:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13631,11 +13631,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8167, + "id": 8330, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, + "referencedDeclaration": 8310, "src": "8818:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13653,11 +13653,11 @@ "components": [ { "argumentTypes": null, - "id": 8175, + "id": 8338, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8155, + "referencedDeclaration": 8318, "src": "8851:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13670,7 +13670,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8178, + "id": 8341, "isConstant": false, "isLValue": false, "isPure": true, @@ -13693,7 +13693,7 @@ "typeString": "int_const 0" } ], - "id": 8177, + "id": 8340, "isConstant": false, "isLValue": false, "isPure": true, @@ -13705,7 +13705,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8176, + "id": 8339, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8862:4:29", @@ -13715,7 +13715,7 @@ } } }, - "id": 8179, + "id": 8342, "isConstant": false, "isLValue": false, "isPure": true, @@ -13731,7 +13731,7 @@ } } ], - "id": 8180, + "id": 8343, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -13744,7 +13744,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8181, + "id": 8344, "isConstant": false, "isLValue": false, "isPure": false, @@ -13760,7 +13760,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8171, + "id": 8334, "isConstant": false, "isLValue": false, "isPure": true, @@ -13783,7 +13783,7 @@ "typeString": "int_const 0" } ], - "id": 8170, + "id": 8333, "isConstant": false, "isLValue": false, "isPure": true, @@ -13795,7 +13795,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8169, + "id": 8332, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8828:4:29", @@ -13805,7 +13805,7 @@ } } }, - "id": 8172, + "id": 8335, "isConstant": false, "isLValue": false, "isPure": true, @@ -13822,11 +13822,11 @@ }, { "argumentTypes": null, - "id": 8173, + "id": 8336, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8155, + "referencedDeclaration": 8318, "src": "8837:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13834,7 +13834,7 @@ } } ], - "id": 8174, + "id": 8337, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -13857,17 +13857,17 @@ }, { "assignments": [ - 8184 + 8347 ], "declarations": [ { "constant": false, - "id": 8184, + "id": 8347, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8884:10:29", "stateVariable": false, "storageLocation": "default", @@ -13876,7 +13876,7 @@ "typeString": "address" }, "typeName": { - "id": 8183, + "id": 8346, "name": "address", "nodeType": "ElementaryTypeName", "src": "8884:7:29", @@ -13890,7 +13890,7 @@ "visibility": "internal" } ], - "id": 8203, + "id": 8366, "initialValue": { "argumentTypes": null, "condition": { @@ -13899,18 +13899,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8190, + "id": 8353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8185, + "id": 8348, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8897:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13925,7 +13925,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8189, + "id": 8352, "isConstant": false, "isLValue": false, "isPure": false, @@ -13934,18 +13934,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8186, + "id": 8349, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8901:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8187, + "id": 8350, "isConstant": false, "isLValue": false, "isPure": false, @@ -13964,7 +13964,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8188, + "id": 8351, "isConstant": false, "isLValue": false, "isPure": true, @@ -13993,18 +13993,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8201, + "id": 8364, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8117, + "referencedDeclaration": 8280, "src": "8976:3:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8202, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, @@ -14016,11 +14016,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8193, + "id": 8356, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "8944:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14029,11 +14029,11 @@ }, { "argumentTypes": null, - "id": 8194, + "id": 8357, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "8953:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14044,36 +14044,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8195, + "id": 8358, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8961:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8199, + "id": 8362, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8198, + "id": 8361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8196, + "id": 8359, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8966:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14085,7 +14085,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8197, + "id": 8360, "isConstant": false, "isLValue": false, "isPure": true, @@ -14135,32 +14135,32 @@ ], "expression": { "argumentTypes": null, - "id": 8191, + "id": 8354, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "8919:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8192, + "id": 8355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "8919:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8200, + "id": 8363, "isConstant": false, "isLValue": false, "isPure": false, @@ -14189,11 +14189,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8213, + "id": 8376, "name": "amount0Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8163, + "referencedDeclaration": 8326, "src": "9080:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14202,11 +14202,11 @@ }, { "argumentTypes": null, - "id": 8214, + "id": 8377, "name": "amount1Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8165, + "referencedDeclaration": 8328, "src": "9092:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14215,11 +14215,11 @@ }, { "argumentTypes": null, - "id": 8215, + "id": 8378, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, + "referencedDeclaration": 8347, "src": "9104:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14232,7 +14232,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8218, + "id": 8381, "isConstant": false, "isLValue": false, "isPure": true, @@ -14255,7 +14255,7 @@ "typeString": "int_const 0" } ], - "id": 8217, + "id": 8380, "isConstant": false, "isLValue": false, "isPure": true, @@ -14267,7 +14267,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 8216, + "id": 8379, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9112:5:29", @@ -14277,7 +14277,7 @@ } } }, - "id": 8219, + "id": 8382, "isConstant": false, "isLValue": false, "isPure": true, @@ -14320,11 +14320,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8207, + "id": 8370, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9033:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14333,11 +14333,11 @@ }, { "argumentTypes": null, - "id": 8208, + "id": 8371, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "9042:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14346,11 +14346,11 @@ }, { "argumentTypes": null, - "id": 8209, + "id": 8372, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "9049:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14375,32 +14375,32 @@ ], "expression": { "argumentTypes": null, - "id": 8205, + "id": 8368, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9008:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8206, + "id": 8369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "9008:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8210, + "id": 8373, "isConstant": false, "isLValue": false, "isPure": false, @@ -14423,18 +14423,18 @@ "typeString": "address" } ], - "id": 8204, + "id": 8367, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "8993:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8211, + "id": 8374, "isConstant": false, "isLValue": false, "isPure": false, @@ -14445,25 +14445,25 @@ "src": "8993:64:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8212, + "id": 8375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swap", "nodeType": "MemberAccess", - "referencedDeclaration": 7258, + "referencedDeclaration": 7421, "src": "8993:69:29", "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": 8220, + "id": 8383, "isConstant": false, "isLValue": false, "isPure": false, @@ -14478,7 +14478,7 @@ "typeString": "tuple()" } }, - "id": 8221, + "id": 8384, "nodeType": "ExpressionStatement", "src": "8993:141:29" } @@ -14490,18 +14490,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8128, + "id": 8291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8123, + "id": 8286, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8541:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14516,7 +14516,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8127, + "id": 8290, "isConstant": false, "isLValue": false, "isPure": false, @@ -14525,18 +14525,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8124, + "id": 8287, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8545:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8125, + "id": 8288, "isConstant": false, "isLValue": false, "isPure": false, @@ -14555,7 +14555,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8126, + "id": 8289, "isConstant": false, "isLValue": false, "isPure": true, @@ -14582,20 +14582,20 @@ "typeString": "bool" } }, - "id": 8223, + "id": 8386, "initializationExpression": { "assignments": [ - 8121 + 8284 ], "declarations": [ { "constant": false, - "id": 8121, + "id": 8284, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8223, + "scope": 8386, "src": "8533:6:29", "stateVariable": false, "storageLocation": "default", @@ -14604,7 +14604,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8120, + "id": 8283, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8533:4:29", @@ -14617,7 +14617,7 @@ "visibility": "internal" } ], - "id": 8122, + "id": 8285, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "8533:6:29" @@ -14625,7 +14625,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 8130, + "id": 8293, "isConstant": false, "isLValue": false, "isPure": false, @@ -14636,11 +14636,11 @@ "src": "8562:3:29", "subExpression": { "argumentTypes": null, - "id": 8129, + "id": 8292, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8562:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14652,7 +14652,7 @@ "typeString": "uint256" } }, - "id": 8131, + "id": 8294, "nodeType": "ExpressionStatement", "src": "8562:3:29" }, @@ -14662,7 +14662,7 @@ ] }, "documentation": null, - "id": 8225, + "id": 8388, "implemented": true, "kind": "function", "modifiers": [], @@ -14670,17 +14670,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 8118, + "id": 8281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8112, + "id": 8275, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8442:21:29", "stateVariable": false, "storageLocation": "memory", @@ -14690,7 +14690,7 @@ }, "typeName": { "baseType": { - "id": 8110, + "id": 8273, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8442:4:29", @@ -14699,7 +14699,7 @@ "typeString": "uint256" } }, - "id": 8111, + "id": 8274, "length": null, "nodeType": "ArrayTypeName", "src": "8442:6:29", @@ -14713,12 +14713,12 @@ }, { "constant": false, - "id": 8115, + "id": 8278, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8465:21:29", "stateVariable": false, "storageLocation": "memory", @@ -14728,7 +14728,7 @@ }, "typeName": { "baseType": { - "id": 8113, + "id": 8276, "name": "address", "nodeType": "ElementaryTypeName", "src": "8465:7:29", @@ -14738,7 +14738,7 @@ "typeString": "address" } }, - "id": 8114, + "id": 8277, "length": null, "nodeType": "ArrayTypeName", "src": "8465:9:29", @@ -14752,12 +14752,12 @@ }, { "constant": false, - "id": 8117, + "id": 8280, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8488:11:29", "stateVariable": false, "storageLocation": "default", @@ -14766,7 +14766,7 @@ "typeString": "address" }, "typeName": { - "id": 8116, + "id": 8279, "name": "address", "nodeType": "ElementaryTypeName", "src": "8488:7:29", @@ -14783,12 +14783,12 @@ "src": "8441:59:29" }, "returnParameters": { - "id": 8119, + "id": 8282, "nodeType": "ParameterList", "parameters": [], "src": "8518:0:29" }, - "scope": 9312, + "scope": 9475, "src": "8427:724:29", "stateMutability": "nonpayable", "virtual": true, @@ -14796,28 +14796,28 @@ }, { "baseFunctions": [ - 9567 + 9730 ], "body": { - "id": 8296, + "id": 8459, "nodeType": "Block", "src": "9397:374:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8253, + "id": 8416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8246, + "id": 8409, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9407:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -14831,11 +14831,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8249, + "id": 8412, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9448:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14844,11 +14844,11 @@ }, { "argumentTypes": null, - "id": 8250, + "id": 8413, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8227, + "referencedDeclaration": 8390, "src": "9457:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14857,11 +14857,11 @@ }, { "argumentTypes": null, - "id": 8251, + "id": 8414, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9467:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -14886,32 +14886,32 @@ ], "expression": { "argumentTypes": null, - "id": 8247, + "id": 8410, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9417:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8248, + "id": 8411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "9417:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8252, + "id": 8415, "isConstant": false, "isLValue": false, "isPure": false, @@ -14932,7 +14932,7 @@ "typeString": "uint256[] memory" } }, - "id": 8254, + "id": 8417, "nodeType": "ExpressionStatement", "src": "9407:65:29" }, @@ -14946,7 +14946,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8263, + "id": 8426, "isConstant": false, "isLValue": false, "isPure": false, @@ -14955,25 +14955,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8256, + "id": 8419, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9490:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8261, + "id": 8424, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8260, + "id": 8423, "isConstant": false, "isLValue": false, "isPure": false, @@ -14982,18 +14982,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8257, + "id": 8420, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9498:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8258, + "id": 8421, "isConstant": false, "isLValue": false, "isPure": false, @@ -15012,7 +15012,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8259, + "id": 8422, "isConstant": false, "isLValue": false, "isPure": true, @@ -15048,11 +15048,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8262, + "id": 8425, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8229, + "referencedDeclaration": 8392, "src": "9521:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15068,7 +15068,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8264, + "id": 8427, "isConstant": false, "isLValue": false, "isPure": true, @@ -15095,7 +15095,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8255, + "id": 8418, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -15109,7 +15109,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8265, + "id": 8428, "isConstant": false, "isLValue": false, "isPure": false, @@ -15124,7 +15124,7 @@ "typeString": "tuple()" } }, - "id": 8266, + "id": 8429, "nodeType": "ExpressionStatement", "src": "9482:99:29" }, @@ -15136,22 +15136,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8270, + "id": 8433, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9636:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8272, + "id": 8435, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8271, + "id": 8434, "isConstant": false, "isLValue": false, "isPure": true, @@ -15181,7 +15181,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8273, + "id": 8436, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15192,7 +15192,7 @@ "typeString": "msg" } }, - "id": 8274, + "id": 8437, "isConstant": false, "isLValue": false, "isPure": false, @@ -15211,11 +15211,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8277, + "id": 8440, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9682:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15226,22 +15226,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8278, + "id": 8441, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9691:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8280, + "id": 8443, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8279, + "id": 8442, "isConstant": false, "isLValue": false, "isPure": true, @@ -15271,22 +15271,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8281, + "id": 8444, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9700:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8283, + "id": 8446, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8282, + "id": 8445, "isConstant": false, "isLValue": false, "isPure": true, @@ -15330,32 +15330,32 @@ ], "expression": { "argumentTypes": null, - "id": 8275, + "id": 8438, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9657:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8276, + "id": 8439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "9657:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8284, + "id": 8447, "isConstant": false, "isLValue": false, "isPure": false, @@ -15374,22 +15374,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8285, + "id": 8448, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9710:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8287, + "id": 8450, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8286, + "id": 8449, "isConstant": false, "isLValue": false, "isPure": true, @@ -15437,32 +15437,32 @@ ], "expression": { "argumentTypes": null, - "id": 8267, + "id": 8430, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "9591:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8269, + "id": 8432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "9591:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8288, + "id": 8451, "isConstant": false, "isLValue": false, "isPure": false, @@ -15477,7 +15477,7 @@ "typeString": "tuple()" } }, - "id": 8289, + "id": 8452, "nodeType": "ExpressionStatement", "src": "9591:139:29" }, @@ -15487,11 +15487,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8291, + "id": 8454, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9746:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -15500,11 +15500,11 @@ }, { "argumentTypes": null, - "id": 8292, + "id": 8455, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9755:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -15513,11 +15513,11 @@ }, { "argumentTypes": null, - "id": 8293, + "id": 8456, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8234, + "referencedDeclaration": 8397, "src": "9761:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15540,18 +15540,18 @@ "typeString": "address" } ], - "id": 8290, + "id": 8453, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "9740:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8294, + "id": 8457, "isConstant": false, "isLValue": false, "isPure": false, @@ -15566,7 +15566,7 @@ "typeString": "tuple()" } }, - "id": 8295, + "id": 8458, "nodeType": "ExpressionStatement", "src": "9740:24:29" } @@ -15574,7 +15574,7 @@ }, "documentation": null, "functionSelector": "38ed1739", - "id": 8297, + "id": 8460, "implemented": true, "kind": "function", "modifiers": [ @@ -15582,11 +15582,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8240, + "id": 8403, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8236, + "referencedDeclaration": 8399, "src": "9355:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15594,14 +15594,14 @@ } } ], - "id": 8241, + "id": 8404, "modifierName": { "argumentTypes": null, - "id": 8239, + "id": 8402, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "9348:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -15615,23 +15615,23 @@ "name": "swapExactTokensForTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8238, + "id": 8401, "nodeType": "OverrideSpecifier", "overrides": [], "src": "9339:8:29" }, "parameters": { - "id": 8237, + "id": 8400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8227, + "id": 8390, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9199:13:29", "stateVariable": false, "storageLocation": "default", @@ -15640,7 +15640,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8226, + "id": 8389, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9199:4:29", @@ -15654,12 +15654,12 @@ }, { "constant": false, - "id": 8229, + "id": 8392, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9222:17:29", "stateVariable": false, "storageLocation": "default", @@ -15668,7 +15668,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8228, + "id": 8391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9222:4:29", @@ -15682,12 +15682,12 @@ }, { "constant": false, - "id": 8232, + "id": 8395, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9249:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -15697,7 +15697,7 @@ }, "typeName": { "baseType": { - "id": 8230, + "id": 8393, "name": "address", "nodeType": "ElementaryTypeName", "src": "9249:7:29", @@ -15707,7 +15707,7 @@ "typeString": "address" } }, - "id": 8231, + "id": 8394, "length": null, "nodeType": "ArrayTypeName", "src": "9249:9:29", @@ -15721,12 +15721,12 @@ }, { "constant": false, - "id": 8234, + "id": 8397, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9282:10:29", "stateVariable": false, "storageLocation": "default", @@ -15735,7 +15735,7 @@ "typeString": "address" }, "typeName": { - "id": 8233, + "id": 8396, "name": "address", "nodeType": "ElementaryTypeName", "src": "9282:7:29", @@ -15750,12 +15750,12 @@ }, { "constant": false, - "id": 8236, + "id": 8399, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9302:13:29", "stateVariable": false, "storageLocation": "default", @@ -15764,7 +15764,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8235, + "id": 8398, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9302:4:29", @@ -15780,17 +15780,17 @@ "src": "9189:132:29" }, "returnParameters": { - "id": 8245, + "id": 8408, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8244, + "id": 8407, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9374:21:29", "stateVariable": false, "storageLocation": "memory", @@ -15800,7 +15800,7 @@ }, "typeName": { "baseType": { - "id": 8242, + "id": 8405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9374:4:29", @@ -15809,7 +15809,7 @@ "typeString": "uint256" } }, - "id": 8243, + "id": 8406, "length": null, "nodeType": "ArrayTypeName", "src": "9374:6:29", @@ -15824,7 +15824,7 @@ ], "src": "9373:23:29" }, - "scope": 9312, + "scope": 9475, "src": "9156:615:29", "stateMutability": "nonpayable", "virtual": true, @@ -15832,28 +15832,28 @@ }, { "baseFunctions": [ - 9584 + 9747 ], "body": { - "id": 8365, + "id": 8528, "nodeType": "Block", "src": "10017:352:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8325, + "id": 8488, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8318, + "id": 8481, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10027:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -15867,11 +15867,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8321, + "id": 8484, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10067:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15880,11 +15880,11 @@ }, { "argumentTypes": null, - "id": 8322, + "id": 8485, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8299, + "referencedDeclaration": 8462, "src": "10076:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15893,11 +15893,11 @@ }, { "argumentTypes": null, - "id": 8323, + "id": 8486, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10087:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -15922,32 +15922,32 @@ ], "expression": { "argumentTypes": null, - "id": 8319, + "id": 8482, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10037:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8320, + "id": 8483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "10037:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8324, + "id": 8487, "isConstant": false, "isLValue": false, "isPure": false, @@ -15968,7 +15968,7 @@ "typeString": "uint256[] memory" } }, - "id": 8326, + "id": 8489, "nodeType": "ExpressionStatement", "src": "10027:65:29" }, @@ -15982,7 +15982,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8332, + "id": 8495, "isConstant": false, "isLValue": false, "isPure": false, @@ -15991,22 +15991,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8328, + "id": 8491, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10110:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8330, + "id": 8493, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8329, + "id": 8492, "isConstant": false, "isLValue": false, "isPure": true, @@ -16036,11 +16036,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8331, + "id": 8494, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8301, + "referencedDeclaration": 8464, "src": "10124:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16056,7 +16056,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8333, + "id": 8496, "isConstant": false, "isLValue": false, "isPure": true, @@ -16083,7 +16083,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8327, + "id": 8490, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -16097,7 +16097,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8334, + "id": 8497, "isConstant": false, "isLValue": false, "isPure": false, @@ -16112,7 +16112,7 @@ "typeString": "tuple()" } }, - "id": 8335, + "id": 8498, "nodeType": "ExpressionStatement", "src": "10102:77:29" }, @@ -16124,22 +16124,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8339, + "id": 8502, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10234:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8341, + "id": 8504, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8340, + "id": 8503, "isConstant": false, "isLValue": false, "isPure": true, @@ -16169,7 +16169,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8342, + "id": 8505, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16180,7 +16180,7 @@ "typeString": "msg" } }, - "id": 8343, + "id": 8506, "isConstant": false, "isLValue": false, "isPure": false, @@ -16199,11 +16199,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8346, + "id": 8509, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10280:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16214,22 +16214,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8347, + "id": 8510, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10289:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8349, + "id": 8512, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8348, + "id": 8511, "isConstant": false, "isLValue": false, "isPure": true, @@ -16259,22 +16259,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8350, + "id": 8513, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10298:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8352, + "id": 8515, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8351, + "id": 8514, "isConstant": false, "isLValue": false, "isPure": true, @@ -16318,32 +16318,32 @@ ], "expression": { "argumentTypes": null, - "id": 8344, + "id": 8507, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10255:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8345, + "id": 8508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "10255:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8353, + "id": 8516, "isConstant": false, "isLValue": false, "isPure": false, @@ -16362,22 +16362,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8354, + "id": 8517, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10308:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8356, + "id": 8519, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8355, + "id": 8518, "isConstant": false, "isLValue": false, "isPure": true, @@ -16425,32 +16425,32 @@ ], "expression": { "argumentTypes": null, - "id": 8336, + "id": 8499, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "10189:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8338, + "id": 8501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "10189:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8357, + "id": 8520, "isConstant": false, "isLValue": false, "isPure": false, @@ -16465,7 +16465,7 @@ "typeString": "tuple()" } }, - "id": 8358, + "id": 8521, "nodeType": "ExpressionStatement", "src": "10189:139:29" }, @@ -16475,11 +16475,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8360, + "id": 8523, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10344:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -16488,11 +16488,11 @@ }, { "argumentTypes": null, - "id": 8361, + "id": 8524, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10353:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -16501,11 +16501,11 @@ }, { "argumentTypes": null, - "id": 8362, + "id": 8525, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8306, + "referencedDeclaration": 8469, "src": "10359:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16528,18 +16528,18 @@ "typeString": "address" } ], - "id": 8359, + "id": 8522, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "10338:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8363, + "id": 8526, "isConstant": false, "isLValue": false, "isPure": false, @@ -16554,7 +16554,7 @@ "typeString": "tuple()" } }, - "id": 8364, + "id": 8527, "nodeType": "ExpressionStatement", "src": "10338:24:29" } @@ -16562,7 +16562,7 @@ }, "documentation": null, "functionSelector": "8803dbee", - "id": 8366, + "id": 8529, "implemented": true, "kind": "function", "modifiers": [ @@ -16570,11 +16570,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8312, + "id": 8475, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8308, + "referencedDeclaration": 8471, "src": "9975:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16582,14 +16582,14 @@ } } ], - "id": 8313, + "id": 8476, "modifierName": { "argumentTypes": null, - "id": 8311, + "id": 8474, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "9968:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -16603,23 +16603,23 @@ "name": "swapTokensForExactTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8310, + "id": 8473, "nodeType": "OverrideSpecifier", "overrides": [], "src": "9959:8:29" }, "parameters": { - "id": 8309, + "id": 8472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8299, + "id": 8462, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9819:14:29", "stateVariable": false, "storageLocation": "default", @@ -16628,7 +16628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8298, + "id": 8461, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9819:4:29", @@ -16642,12 +16642,12 @@ }, { "constant": false, - "id": 8301, + "id": 8464, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9843:16:29", "stateVariable": false, "storageLocation": "default", @@ -16656,7 +16656,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8300, + "id": 8463, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9843:4:29", @@ -16670,12 +16670,12 @@ }, { "constant": false, - "id": 8304, + "id": 8467, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9869:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -16685,7 +16685,7 @@ }, "typeName": { "baseType": { - "id": 8302, + "id": 8465, "name": "address", "nodeType": "ElementaryTypeName", "src": "9869:7:29", @@ -16695,7 +16695,7 @@ "typeString": "address" } }, - "id": 8303, + "id": 8466, "length": null, "nodeType": "ArrayTypeName", "src": "9869:9:29", @@ -16709,12 +16709,12 @@ }, { "constant": false, - "id": 8306, + "id": 8469, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9902:10:29", "stateVariable": false, "storageLocation": "default", @@ -16723,7 +16723,7 @@ "typeString": "address" }, "typeName": { - "id": 8305, + "id": 8468, "name": "address", "nodeType": "ElementaryTypeName", "src": "9902:7:29", @@ -16738,12 +16738,12 @@ }, { "constant": false, - "id": 8308, + "id": 8471, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9922:13:29", "stateVariable": false, "storageLocation": "default", @@ -16752,7 +16752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8307, + "id": 8470, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9922:4:29", @@ -16768,17 +16768,17 @@ "src": "9809:132:29" }, "returnParameters": { - "id": 8317, + "id": 8480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8316, + "id": 8479, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9994:21:29", "stateVariable": false, "storageLocation": "memory", @@ -16788,7 +16788,7 @@ }, "typeName": { "baseType": { - "id": 8314, + "id": 8477, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9994:4:29", @@ -16797,7 +16797,7 @@ "typeString": "uint256" } }, - "id": 8315, + "id": 8478, "length": null, "nodeType": "ArrayTypeName", "src": "9994:6:29", @@ -16812,7 +16812,7 @@ ], "src": "9993:23:29" }, - "scope": 9312, + "scope": 9475, "src": "9776:593:29", "stateMutability": "nonpayable", "virtual": true, @@ -16820,10 +16820,10 @@ }, { "baseFunctions": [ - 9599 + 9762 ], "body": { - "id": 8453, + "id": 8616, "nodeType": "Block", "src": "10611:446:29", "statements": [ @@ -16837,7 +16837,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8390, + "id": 8553, "isConstant": false, "isLValue": false, "isPure": false, @@ -16846,22 +16846,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8386, + "id": 8549, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10629:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8388, + "id": 8551, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8387, + "id": 8550, "isConstant": false, "isLValue": false, "isPure": true, @@ -16891,11 +16891,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8389, + "id": 8552, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10640:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16911,7 +16911,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8391, + "id": 8554, "isConstant": false, "isLValue": false, "isPure": true, @@ -16938,7 +16938,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8385, + "id": 8548, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -16952,7 +16952,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8392, + "id": 8555, "isConstant": false, "isLValue": false, "isPure": false, @@ -16967,25 +16967,25 @@ "typeString": "tuple()" } }, - "id": 8393, + "id": 8556, "nodeType": "ExpressionStatement", "src": "10621:57:29" }, { "expression": { "argumentTypes": null, - "id": 8402, + "id": 8565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8394, + "id": 8557, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10688:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -16999,11 +16999,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8397, + "id": 8560, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10729:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17014,7 +17014,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8398, + "id": 8561, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17025,7 +17025,7 @@ "typeString": "msg" } }, - "id": 8399, + "id": 8562, "isConstant": false, "isLValue": false, "isPure": false, @@ -17041,11 +17041,11 @@ }, { "argumentTypes": null, - "id": 8400, + "id": 8563, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10749:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -17070,32 +17070,32 @@ ], "expression": { "argumentTypes": null, - "id": 8395, + "id": 8558, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10698:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8396, + "id": 8559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "10698:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8401, + "id": 8564, "isConstant": false, "isLValue": false, "isPure": false, @@ -17116,7 +17116,7 @@ "typeString": "uint256[] memory" } }, - "id": 8403, + "id": 8566, "nodeType": "ExpressionStatement", "src": "10688:66:29" }, @@ -17130,7 +17130,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8412, + "id": 8575, "isConstant": false, "isLValue": false, "isPure": false, @@ -17139,25 +17139,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8405, + "id": 8568, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10772:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8410, + "id": 8573, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8409, + "id": 8572, "isConstant": false, "isLValue": false, "isPure": false, @@ -17166,18 +17166,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8406, + "id": 8569, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10780:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8407, + "id": 8570, "isConstant": false, "isLValue": false, "isPure": false, @@ -17196,7 +17196,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8408, + "id": 8571, "isConstant": false, "isLValue": false, "isPure": true, @@ -17232,11 +17232,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8411, + "id": 8574, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, + "referencedDeclaration": 8531, "src": "10803:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17252,7 +17252,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8413, + "id": 8576, "isConstant": false, "isLValue": false, "isPure": true, @@ -17279,7 +17279,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8404, + "id": 8567, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -17293,7 +17293,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8414, + "id": 8577, "isConstant": false, "isLValue": false, "isPure": false, @@ -17308,7 +17308,7 @@ "typeString": "tuple()" } }, - "id": 8415, + "id": 8578, "nodeType": "ExpressionStatement", "src": "10764:99:29" }, @@ -17325,11 +17325,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8417, + "id": 8580, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10879:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17344,18 +17344,18 @@ "typeString": "address" } ], - "id": 8416, + "id": 8579, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "10873:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8418, + "id": 8581, "isConstant": false, "isLValue": false, "isPure": false, @@ -17366,25 +17366,25 @@ "src": "10873:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8419, + "id": 8582, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "10873:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 8423, + "id": 8586, "isConstant": false, "isLValue": false, "isPure": false, @@ -17398,22 +17398,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8420, + "id": 8583, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10900:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8422, + "id": 8585, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8421, + "id": 8584, "isConstant": false, "isLValue": false, "isPure": true, @@ -17446,7 +17446,7 @@ "typeString": "function () payable external" } }, - "id": 8424, + "id": 8587, "isConstant": false, "isLValue": false, "isPure": false, @@ -17461,7 +17461,7 @@ "typeString": "tuple()" } }, - "id": 8425, + "id": 8588, "nodeType": "ExpressionStatement", "src": "10873:40:29" }, @@ -17477,11 +17477,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8433, + "id": 8596, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10976:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17492,22 +17492,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8434, + "id": 8597, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10985:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8436, + "id": 8599, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8435, + "id": 8598, "isConstant": false, "isLValue": false, "isPure": true, @@ -17537,22 +17537,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8437, + "id": 8600, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10994:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8439, + "id": 8602, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8438, + "id": 8601, "isConstant": false, "isLValue": false, "isPure": true, @@ -17596,32 +17596,32 @@ ], "expression": { "argumentTypes": null, - "id": 8431, + "id": 8594, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10951:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8432, + "id": 8595, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "10951:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8440, + "id": 8603, "isConstant": false, "isLValue": false, "isPure": false, @@ -17640,22 +17640,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8441, + "id": 8604, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "11004:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8443, + "id": 8606, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8442, + "id": 8605, "isConstant": false, "isLValue": false, "isPure": true, @@ -17698,11 +17698,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8428, + "id": 8591, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10936:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17717,18 +17717,18 @@ "typeString": "address" } ], - "id": 8427, + "id": 8590, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "10930:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8429, + "id": 8592, "isConstant": false, "isLValue": false, "isPure": false, @@ -17739,25 +17739,25 @@ "src": "10930:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8430, + "id": 8593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "10930:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 8444, + "id": 8607, "isConstant": false, "isLValue": false, "isPure": false, @@ -17780,7 +17780,7 @@ "typeString": "bool" } ], - "id": 8426, + "id": 8589, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17791,7 +17791,7 @@ "typeString": "function (bool) pure" } }, - "id": 8445, + "id": 8608, "isConstant": false, "isLValue": false, "isPure": false, @@ -17806,7 +17806,7 @@ "typeString": "tuple()" } }, - "id": 8446, + "id": 8609, "nodeType": "ExpressionStatement", "src": "10923:93:29" }, @@ -17816,11 +17816,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8448, + "id": 8611, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "11032:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -17829,11 +17829,11 @@ }, { "argumentTypes": null, - "id": 8449, + "id": 8612, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "11041:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -17842,11 +17842,11 @@ }, { "argumentTypes": null, - "id": 8450, + "id": 8613, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8373, + "referencedDeclaration": 8536, "src": "11047:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17869,18 +17869,18 @@ "typeString": "address" } ], - "id": 8447, + "id": 8610, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "11026:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8451, + "id": 8614, "isConstant": false, "isLValue": false, "isPure": false, @@ -17895,7 +17895,7 @@ "typeString": "tuple()" } }, - "id": 8452, + "id": 8615, "nodeType": "ExpressionStatement", "src": "11026:24:29" } @@ -17903,7 +17903,7 @@ }, "documentation": null, "functionSelector": "7ff36ab5", - "id": 8454, + "id": 8617, "implemented": true, "kind": "function", "modifiers": [ @@ -17911,11 +17911,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8379, + "id": 8542, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8375, + "referencedDeclaration": 8538, "src": "10557:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17923,14 +17923,14 @@ } } ], - "id": 8380, + "id": 8543, "modifierName": { "argumentTypes": null, - "id": 8378, + "id": 8541, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "10550:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -17944,23 +17944,23 @@ "name": "swapExactETHForTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8377, + "id": 8540, "nodeType": "OverrideSpecifier", "overrides": [], "src": "10517:8:29" }, "parameters": { - "id": 8376, + "id": 8539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8368, + "id": 8531, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10405:17:29", "stateVariable": false, "storageLocation": "default", @@ -17969,7 +17969,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8367, + "id": 8530, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10405:4:29", @@ -17983,12 +17983,12 @@ }, { "constant": false, - "id": 8371, + "id": 8534, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10424:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -17998,7 +17998,7 @@ }, "typeName": { "baseType": { - "id": 8369, + "id": 8532, "name": "address", "nodeType": "ElementaryTypeName", "src": "10424:7:29", @@ -18008,7 +18008,7 @@ "typeString": "address" } }, - "id": 8370, + "id": 8533, "length": null, "nodeType": "ArrayTypeName", "src": "10424:9:29", @@ -18022,12 +18022,12 @@ }, { "constant": false, - "id": 8373, + "id": 8536, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10449:10:29", "stateVariable": false, "storageLocation": "default", @@ -18036,7 +18036,7 @@ "typeString": "address" }, "typeName": { - "id": 8372, + "id": 8535, "name": "address", "nodeType": "ElementaryTypeName", "src": "10449:7:29", @@ -18051,12 +18051,12 @@ }, { "constant": false, - "id": 8375, + "id": 8538, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10461:13:29", "stateVariable": false, "storageLocation": "default", @@ -18065,7 +18065,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8374, + "id": 8537, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10461:4:29", @@ -18081,17 +18081,17 @@ "src": "10404:71:29" }, "returnParameters": { - "id": 8384, + "id": 8547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8383, + "id": 8546, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10584:21:29", "stateVariable": false, "storageLocation": "memory", @@ -18101,7 +18101,7 @@ }, "typeName": { "baseType": { - "id": 8381, + "id": 8544, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10584:4:29", @@ -18110,7 +18110,7 @@ "typeString": "uint256" } }, - "id": 8382, + "id": 8545, "length": null, "nodeType": "ArrayTypeName", "src": "10584:6:29", @@ -18125,7 +18125,7 @@ ], "src": "10583:23:29" }, - "scope": 9312, + "scope": 9475, "src": "10374:683:29", "stateMutability": "payable", "virtual": true, @@ -18133,10 +18133,10 @@ }, { "baseFunctions": [ - 9616 + 9779 ], "body": { - "id": 8561, + "id": 8724, "nodeType": "Block", "src": "11298:576:29", "statements": [ @@ -18150,7 +18150,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8483, + "id": 8646, "isConstant": false, "isLValue": false, "isPure": false, @@ -18159,25 +18159,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8476, + "id": 8639, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11316:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8481, + "id": 8644, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8480, + "id": 8643, "isConstant": false, "isLValue": false, "isPure": false, @@ -18186,18 +18186,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8477, + "id": 8640, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11321:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8478, + "id": 8641, "isConstant": false, "isLValue": false, "isPure": false, @@ -18216,7 +18216,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8479, + "id": 8642, "isConstant": false, "isLValue": false, "isPure": true, @@ -18252,11 +18252,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8482, + "id": 8645, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "11341:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18272,7 +18272,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8484, + "id": 8647, "isConstant": false, "isLValue": false, "isPure": true, @@ -18299,7 +18299,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8475, + "id": 8638, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -18313,7 +18313,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8485, + "id": 8648, "isConstant": false, "isLValue": false, "isPure": false, @@ -18328,25 +18328,25 @@ "typeString": "tuple()" } }, - "id": 8486, + "id": 8649, "nodeType": "ExpressionStatement", "src": "11308:71:29" }, { "expression": { "argumentTypes": null, - "id": 8494, + "id": 8657, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8487, + "id": 8650, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11389:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -18360,11 +18360,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8490, + "id": 8653, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "11429:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18373,11 +18373,11 @@ }, { "argumentTypes": null, - "id": 8491, + "id": 8654, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8456, + "referencedDeclaration": 8619, "src": "11438:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18386,11 +18386,11 @@ }, { "argumentTypes": null, - "id": 8492, + "id": 8655, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11449:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -18415,32 +18415,32 @@ ], "expression": { "argumentTypes": null, - "id": 8488, + "id": 8651, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "11399:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8489, + "id": 8652, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "11399:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8493, + "id": 8656, "isConstant": false, "isLValue": false, "isPure": false, @@ -18461,7 +18461,7 @@ "typeString": "uint256[] memory" } }, - "id": 8495, + "id": 8658, "nodeType": "ExpressionStatement", "src": "11389:65:29" }, @@ -18475,7 +18475,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8501, + "id": 8664, "isConstant": false, "isLValue": false, "isPure": false, @@ -18484,22 +18484,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8497, + "id": 8660, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11472:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8499, + "id": 8662, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8498, + "id": 8661, "isConstant": false, "isLValue": false, "isPure": true, @@ -18529,11 +18529,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8500, + "id": 8663, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8458, + "referencedDeclaration": 8621, "src": "11486:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18549,7 +18549,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8502, + "id": 8665, "isConstant": false, "isLValue": false, "isPure": true, @@ -18576,7 +18576,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8496, + "id": 8659, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -18590,7 +18590,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8503, + "id": 8666, "isConstant": false, "isLValue": false, "isPure": false, @@ -18605,7 +18605,7 @@ "typeString": "tuple()" } }, - "id": 8504, + "id": 8667, "nodeType": "ExpressionStatement", "src": "11464:77:29" }, @@ -18617,22 +18617,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8508, + "id": 8671, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11596:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8510, + "id": 8673, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8509, + "id": 8672, "isConstant": false, "isLValue": false, "isPure": true, @@ -18662,7 +18662,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8511, + "id": 8674, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18673,7 +18673,7 @@ "typeString": "msg" } }, - "id": 8512, + "id": 8675, "isConstant": false, "isLValue": false, "isPure": false, @@ -18692,11 +18692,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8515, + "id": 8678, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "11642:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18707,22 +18707,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8516, + "id": 8679, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11651:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8518, + "id": 8681, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8517, + "id": 8680, "isConstant": false, "isLValue": false, "isPure": true, @@ -18752,22 +18752,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8519, + "id": 8682, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11660:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8521, + "id": 8684, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8520, + "id": 8683, "isConstant": false, "isLValue": false, "isPure": true, @@ -18811,32 +18811,32 @@ ], "expression": { "argumentTypes": null, - "id": 8513, + "id": 8676, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "11617:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8514, + "id": 8677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "11617:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8522, + "id": 8685, "isConstant": false, "isLValue": false, "isPure": false, @@ -18855,22 +18855,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8523, + "id": 8686, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11670:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8525, + "id": 8688, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8524, + "id": 8687, "isConstant": false, "isLValue": false, "isPure": true, @@ -18918,32 +18918,32 @@ ], "expression": { "argumentTypes": null, - "id": 8505, + "id": 8668, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "11551:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8507, + "id": 8670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "11551:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8526, + "id": 8689, "isConstant": false, "isLValue": false, "isPure": false, @@ -18958,7 +18958,7 @@ "typeString": "tuple()" } }, - "id": 8527, + "id": 8690, "nodeType": "ExpressionStatement", "src": "11551:139:29" }, @@ -18968,11 +18968,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8529, + "id": 8692, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11706:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -18981,11 +18981,11 @@ }, { "argumentTypes": null, - "id": 8530, + "id": 8693, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11715:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -18997,14 +18997,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8533, + "id": 8696, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "11729:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -19012,11 +19012,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8532, + "id": 8695, "isConstant": false, "isLValue": false, "isPure": true, @@ -19028,7 +19028,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8531, + "id": 8694, "name": "address", "nodeType": "ElementaryTypeName", "src": "11721:7:29", @@ -19038,7 +19038,7 @@ } } }, - "id": 8534, + "id": 8697, "isConstant": false, "isLValue": false, "isPure": false, @@ -19069,18 +19069,18 @@ "typeString": "address payable" } ], - "id": 8528, + "id": 8691, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "11700:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8535, + "id": 8698, "isConstant": false, "isLValue": false, "isPure": false, @@ -19095,7 +19095,7 @@ "typeString": "tuple()" } }, - "id": 8536, + "id": 8699, "nodeType": "ExpressionStatement", "src": "11700:35:29" }, @@ -19107,25 +19107,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8541, + "id": 8704, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11766:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8546, + "id": 8709, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8545, + "id": 8708, "isConstant": false, "isLValue": false, "isPure": false, @@ -19134,18 +19134,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8542, + "id": 8705, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11774:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8543, + "id": 8706, "isConstant": false, "isLValue": false, "isPure": false, @@ -19164,7 +19164,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8544, + "id": 8707, "isConstant": false, "isLValue": false, "isPure": true, @@ -19209,11 +19209,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8538, + "id": 8701, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "11751:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19228,18 +19228,18 @@ "typeString": "address" } ], - "id": 8537, + "id": 8700, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "11745:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8539, + "id": 8702, "isConstant": false, "isLValue": false, "isPure": false, @@ -19250,25 +19250,25 @@ "src": "11745:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8540, + "id": 8703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "11745:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8547, + "id": 8710, "isConstant": false, "isLValue": false, "isPure": false, @@ -19283,7 +19283,7 @@ "typeString": "tuple()" } }, - "id": 8548, + "id": 8711, "nodeType": "ExpressionStatement", "src": "11745:49:29" }, @@ -19293,11 +19293,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8552, + "id": 8715, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8463, + "referencedDeclaration": 8626, "src": "11835:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19308,25 +19308,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8553, + "id": 8716, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11839:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8558, + "id": 8721, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8557, + "id": 8720, "isConstant": false, "isLValue": false, "isPure": false, @@ -19335,18 +19335,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8554, + "id": 8717, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11847:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8555, + "id": 8718, "isConstant": false, "isLValue": false, "isPure": false, @@ -19365,7 +19365,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8556, + "id": 8719, "isConstant": false, "isLValue": false, "isPure": true, @@ -19411,32 +19411,32 @@ ], "expression": { "argumentTypes": null, - "id": 8549, + "id": 8712, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "11804:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8551, + "id": 8714, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "11804:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8559, + "id": 8722, "isConstant": false, "isLValue": false, "isPure": false, @@ -19451,7 +19451,7 @@ "typeString": "tuple()" } }, - "id": 8560, + "id": 8723, "nodeType": "ExpressionStatement", "src": "11804:63:29" } @@ -19459,7 +19459,7 @@ }, "documentation": null, "functionSelector": "4a25d94a", - "id": 8562, + "id": 8725, "implemented": true, "kind": "function", "modifiers": [ @@ -19467,11 +19467,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8469, + "id": 8632, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8465, + "referencedDeclaration": 8628, "src": "11244:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19479,14 +19479,14 @@ } } ], - "id": 8470, + "id": 8633, "modifierName": { "argumentTypes": null, - "id": 8468, + "id": 8631, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "11237:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -19500,23 +19500,23 @@ "name": "swapTokensForExactETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 8467, + "id": 8630, "nodeType": "OverrideSpecifier", "overrides": [], "src": "11220:8:29" }, "parameters": { - "id": 8466, + "id": 8629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8456, + "id": 8619, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11093:14:29", "stateVariable": false, "storageLocation": "default", @@ -19525,7 +19525,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8455, + "id": 8618, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11093:4:29", @@ -19539,12 +19539,12 @@ }, { "constant": false, - "id": 8458, + "id": 8621, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11109:16:29", "stateVariable": false, "storageLocation": "default", @@ -19553,7 +19553,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8457, + "id": 8620, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11109:4:29", @@ -19567,12 +19567,12 @@ }, { "constant": false, - "id": 8461, + "id": 8624, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11127:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -19582,7 +19582,7 @@ }, "typeName": { "baseType": { - "id": 8459, + "id": 8622, "name": "address", "nodeType": "ElementaryTypeName", "src": "11127:7:29", @@ -19592,7 +19592,7 @@ "typeString": "address" } }, - "id": 8460, + "id": 8623, "length": null, "nodeType": "ArrayTypeName", "src": "11127:9:29", @@ -19606,12 +19606,12 @@ }, { "constant": false, - "id": 8463, + "id": 8626, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11152:10:29", "stateVariable": false, "storageLocation": "default", @@ -19620,7 +19620,7 @@ "typeString": "address" }, "typeName": { - "id": 8462, + "id": 8625, "name": "address", "nodeType": "ElementaryTypeName", "src": "11152:7:29", @@ -19635,12 +19635,12 @@ }, { "constant": false, - "id": 8465, + "id": 8628, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11164:13:29", "stateVariable": false, "storageLocation": "default", @@ -19649,7 +19649,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8464, + "id": 8627, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11164:4:29", @@ -19665,17 +19665,17 @@ "src": "11092:86:29" }, "returnParameters": { - "id": 8474, + "id": 8637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8473, + "id": 8636, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11271:21:29", "stateVariable": false, "storageLocation": "memory", @@ -19685,7 +19685,7 @@ }, "typeName": { "baseType": { - "id": 8471, + "id": 8634, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11271:4:29", @@ -19694,7 +19694,7 @@ "typeString": "uint256" } }, - "id": 8472, + "id": 8635, "length": null, "nodeType": "ArrayTypeName", "src": "11271:6:29", @@ -19709,7 +19709,7 @@ ], "src": "11270:23:29" }, - "scope": 9312, + "scope": 9475, "src": "11062:812:29", "stateMutability": "nonpayable", "virtual": true, @@ -19717,10 +19717,10 @@ }, { "baseFunctions": [ - 9633 + 9796 ], "body": { - "id": 8672, + "id": 8835, "nodeType": "Block", "src": "12115:598:29", "statements": [ @@ -19734,7 +19734,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8591, + "id": 8754, "isConstant": false, "isLValue": false, "isPure": false, @@ -19743,25 +19743,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8584, + "id": 8747, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12133:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8589, + "id": 8752, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8588, + "id": 8751, "isConstant": false, "isLValue": false, "isPure": false, @@ -19770,18 +19770,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8585, + "id": 8748, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12138:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8586, + "id": 8749, "isConstant": false, "isLValue": false, "isPure": false, @@ -19800,7 +19800,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8587, + "id": 8750, "isConstant": false, "isLValue": false, "isPure": true, @@ -19836,11 +19836,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8590, + "id": 8753, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12158:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19856,7 +19856,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8592, + "id": 8755, "isConstant": false, "isLValue": false, "isPure": true, @@ -19883,7 +19883,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8583, + "id": 8746, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -19897,7 +19897,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8593, + "id": 8756, "isConstant": false, "isLValue": false, "isPure": false, @@ -19912,25 +19912,25 @@ "typeString": "tuple()" } }, - "id": 8594, + "id": 8757, "nodeType": "ExpressionStatement", "src": "12125:71:29" }, { "expression": { "argumentTypes": null, - "id": 8602, + "id": 8765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8595, + "id": 8758, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12206:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -19944,11 +19944,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8598, + "id": 8761, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "12247:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19957,11 +19957,11 @@ }, { "argumentTypes": null, - "id": 8599, + "id": 8762, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8564, + "referencedDeclaration": 8727, "src": "12256:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19970,11 +19970,11 @@ }, { "argumentTypes": null, - "id": 8600, + "id": 8763, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12266:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -19999,32 +19999,32 @@ ], "expression": { "argumentTypes": null, - "id": 8596, + "id": 8759, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "12216:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8597, + "id": 8760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "12216:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8601, + "id": 8764, "isConstant": false, "isLValue": false, "isPure": false, @@ -20045,7 +20045,7 @@ "typeString": "uint256[] memory" } }, - "id": 8603, + "id": 8766, "nodeType": "ExpressionStatement", "src": "12206:65:29" }, @@ -20059,7 +20059,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8612, + "id": 8775, "isConstant": false, "isLValue": false, "isPure": false, @@ -20068,25 +20068,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8605, + "id": 8768, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12289:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8610, + "id": 8773, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8609, + "id": 8772, "isConstant": false, "isLValue": false, "isPure": false, @@ -20095,18 +20095,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8606, + "id": 8769, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12297:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8607, + "id": 8770, "isConstant": false, "isLValue": false, "isPure": false, @@ -20125,7 +20125,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8608, + "id": 8771, "isConstant": false, "isLValue": false, "isPure": true, @@ -20161,11 +20161,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8611, + "id": 8774, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, + "referencedDeclaration": 8729, "src": "12320:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20181,7 +20181,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8613, + "id": 8776, "isConstant": false, "isLValue": false, "isPure": true, @@ -20208,7 +20208,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8604, + "id": 8767, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -20222,7 +20222,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8614, + "id": 8777, "isConstant": false, "isLValue": false, "isPure": false, @@ -20237,7 +20237,7 @@ "typeString": "tuple()" } }, - "id": 8615, + "id": 8778, "nodeType": "ExpressionStatement", "src": "12281:99:29" }, @@ -20249,22 +20249,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8619, + "id": 8782, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12435:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8621, + "id": 8784, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8620, + "id": 8783, "isConstant": false, "isLValue": false, "isPure": true, @@ -20294,7 +20294,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8622, + "id": 8785, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20305,7 +20305,7 @@ "typeString": "msg" } }, - "id": 8623, + "id": 8786, "isConstant": false, "isLValue": false, "isPure": false, @@ -20324,11 +20324,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8626, + "id": 8789, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "12481:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20339,22 +20339,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8627, + "id": 8790, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12490:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8629, + "id": 8792, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8628, + "id": 8791, "isConstant": false, "isLValue": false, "isPure": true, @@ -20384,22 +20384,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8630, + "id": 8793, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12499:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8632, + "id": 8795, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8631, + "id": 8794, "isConstant": false, "isLValue": false, "isPure": true, @@ -20443,32 +20443,32 @@ ], "expression": { "argumentTypes": null, - "id": 8624, + "id": 8787, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "12456:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8625, + "id": 8788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "12456:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8633, + "id": 8796, "isConstant": false, "isLValue": false, "isPure": false, @@ -20487,22 +20487,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8634, + "id": 8797, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12509:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8636, + "id": 8799, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8635, + "id": 8798, "isConstant": false, "isLValue": false, "isPure": true, @@ -20550,32 +20550,32 @@ ], "expression": { "argumentTypes": null, - "id": 8616, + "id": 8779, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "12390:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8618, + "id": 8781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "12390:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8637, + "id": 8800, "isConstant": false, "isLValue": false, "isPure": false, @@ -20590,7 +20590,7 @@ "typeString": "tuple()" } }, - "id": 8638, + "id": 8801, "nodeType": "ExpressionStatement", "src": "12390:139:29" }, @@ -20600,11 +20600,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8640, + "id": 8803, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12545:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -20613,11 +20613,11 @@ }, { "argumentTypes": null, - "id": 8641, + "id": 8804, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12554:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -20629,14 +20629,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8644, + "id": 8807, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "12568:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -20644,11 +20644,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8643, + "id": 8806, "isConstant": false, "isLValue": false, "isPure": true, @@ -20660,7 +20660,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8642, + "id": 8805, "name": "address", "nodeType": "ElementaryTypeName", "src": "12560:7:29", @@ -20670,7 +20670,7 @@ } } }, - "id": 8645, + "id": 8808, "isConstant": false, "isLValue": false, "isPure": false, @@ -20701,18 +20701,18 @@ "typeString": "address payable" } ], - "id": 8639, + "id": 8802, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "12539:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8646, + "id": 8809, "isConstant": false, "isLValue": false, "isPure": false, @@ -20727,7 +20727,7 @@ "typeString": "tuple()" } }, - "id": 8647, + "id": 8810, "nodeType": "ExpressionStatement", "src": "12539:35:29" }, @@ -20739,25 +20739,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8652, + "id": 8815, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12605:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8657, + "id": 8820, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8656, + "id": 8819, "isConstant": false, "isLValue": false, "isPure": false, @@ -20766,18 +20766,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8653, + "id": 8816, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12613:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8654, + "id": 8817, "isConstant": false, "isLValue": false, "isPure": false, @@ -20796,7 +20796,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8655, + "id": 8818, "isConstant": false, "isLValue": false, "isPure": true, @@ -20841,11 +20841,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8649, + "id": 8812, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12590:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20860,18 +20860,18 @@ "typeString": "address" } ], - "id": 8648, + "id": 8811, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "12584:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8650, + "id": 8813, "isConstant": false, "isLValue": false, "isPure": false, @@ -20882,25 +20882,25 @@ "src": "12584:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8651, + "id": 8814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "12584:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8658, + "id": 8821, "isConstant": false, "isLValue": false, "isPure": false, @@ -20915,7 +20915,7 @@ "typeString": "tuple()" } }, - "id": 8659, + "id": 8822, "nodeType": "ExpressionStatement", "src": "12584:49:29" }, @@ -20925,11 +20925,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8663, + "id": 8826, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8571, + "referencedDeclaration": 8734, "src": "12674:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20940,25 +20940,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8664, + "id": 8827, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12678:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8669, + "id": 8832, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8668, + "id": 8831, "isConstant": false, "isLValue": false, "isPure": false, @@ -20967,18 +20967,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8665, + "id": 8828, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12686:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8666, + "id": 8829, "isConstant": false, "isLValue": false, "isPure": false, @@ -20997,7 +20997,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8667, + "id": 8830, "isConstant": false, "isLValue": false, "isPure": true, @@ -21043,32 +21043,32 @@ ], "expression": { "argumentTypes": null, - "id": 8660, + "id": 8823, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "12643:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8662, + "id": 8825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "12643:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8670, + "id": 8833, "isConstant": false, "isLValue": false, "isPure": false, @@ -21083,7 +21083,7 @@ "typeString": "tuple()" } }, - "id": 8671, + "id": 8834, "nodeType": "ExpressionStatement", "src": "12643:63:29" } @@ -21091,7 +21091,7 @@ }, "documentation": null, "functionSelector": "18cbafe5", - "id": 8673, + "id": 8836, "implemented": true, "kind": "function", "modifiers": [ @@ -21099,11 +21099,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8577, + "id": 8740, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8573, + "referencedDeclaration": 8736, "src": "12061:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21111,14 +21111,14 @@ } } ], - "id": 8578, + "id": 8741, "modifierName": { "argumentTypes": null, - "id": 8576, + "id": 8739, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "12054:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -21132,23 +21132,23 @@ "name": "swapExactTokensForETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 8575, + "id": 8738, "nodeType": "OverrideSpecifier", "overrides": [], "src": "12037:8:29" }, "parameters": { - "id": 8574, + "id": 8737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8564, + "id": 8727, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11910:13:29", "stateVariable": false, "storageLocation": "default", @@ -21157,7 +21157,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8563, + "id": 8726, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11910:4:29", @@ -21171,12 +21171,12 @@ }, { "constant": false, - "id": 8566, + "id": 8729, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11925:17:29", "stateVariable": false, "storageLocation": "default", @@ -21185,7 +21185,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8565, + "id": 8728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11925:4:29", @@ -21199,12 +21199,12 @@ }, { "constant": false, - "id": 8569, + "id": 8732, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11944:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -21214,7 +21214,7 @@ }, "typeName": { "baseType": { - "id": 8567, + "id": 8730, "name": "address", "nodeType": "ElementaryTypeName", "src": "11944:7:29", @@ -21224,7 +21224,7 @@ "typeString": "address" } }, - "id": 8568, + "id": 8731, "length": null, "nodeType": "ArrayTypeName", "src": "11944:9:29", @@ -21238,12 +21238,12 @@ }, { "constant": false, - "id": 8571, + "id": 8734, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11969:10:29", "stateVariable": false, "storageLocation": "default", @@ -21252,7 +21252,7 @@ "typeString": "address" }, "typeName": { - "id": 8570, + "id": 8733, "name": "address", "nodeType": "ElementaryTypeName", "src": "11969:7:29", @@ -21267,12 +21267,12 @@ }, { "constant": false, - "id": 8573, + "id": 8736, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11981:13:29", "stateVariable": false, "storageLocation": "default", @@ -21281,7 +21281,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8572, + "id": 8735, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11981:4:29", @@ -21297,17 +21297,17 @@ "src": "11909:86:29" }, "returnParameters": { - "id": 8582, + "id": 8745, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8581, + "id": 8744, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "12088:21:29", "stateVariable": false, "storageLocation": "memory", @@ -21317,7 +21317,7 @@ }, "typeName": { "baseType": { - "id": 8579, + "id": 8742, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12088:4:29", @@ -21326,7 +21326,7 @@ "typeString": "uint256" } }, - "id": 8580, + "id": 8743, "length": null, "nodeType": "ArrayTypeName", "src": "12088:6:29", @@ -21341,7 +21341,7 @@ ], "src": "12087:23:29" }, - "scope": 9312, + "scope": 9475, "src": "11879:834:29", "stateMutability": "nonpayable", "virtual": true, @@ -21349,10 +21349,10 @@ }, { "baseFunctions": [ - 9648 + 9811 ], "body": { - "id": 8777, + "id": 8940, "nodeType": "Block", "src": "12952:560:29", "statements": [ @@ -21366,7 +21366,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8697, + "id": 8860, "isConstant": false, "isLValue": false, "isPure": false, @@ -21375,22 +21375,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8693, + "id": 8856, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "12970:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8695, + "id": 8858, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8694, + "id": 8857, "isConstant": false, "isLValue": false, "isPure": true, @@ -21420,11 +21420,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8696, + "id": 8859, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12981:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21440,7 +21440,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8698, + "id": 8861, "isConstant": false, "isLValue": false, "isPure": true, @@ -21467,7 +21467,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8692, + "id": 8855, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -21481,7 +21481,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8699, + "id": 8862, "isConstant": false, "isLValue": false, "isPure": false, @@ -21496,25 +21496,25 @@ "typeString": "tuple()" } }, - "id": 8700, + "id": 8863, "nodeType": "ExpressionStatement", "src": "12962:57:29" }, { "expression": { "argumentTypes": null, - "id": 8708, + "id": 8871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8701, + "id": 8864, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13029:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -21528,11 +21528,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8704, + "id": 8867, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "13069:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21541,11 +21541,11 @@ }, { "argumentTypes": null, - "id": 8705, + "id": 8868, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8675, + "referencedDeclaration": 8838, "src": "13078:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21554,11 +21554,11 @@ }, { "argumentTypes": null, - "id": 8706, + "id": 8869, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13089:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -21583,32 +21583,32 @@ ], "expression": { "argumentTypes": null, - "id": 8702, + "id": 8865, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13039:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8703, + "id": 8866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "13039:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8707, + "id": 8870, "isConstant": false, "isLValue": false, "isPure": false, @@ -21629,7 +21629,7 @@ "typeString": "uint256[] memory" } }, - "id": 8709, + "id": 8872, "nodeType": "ExpressionStatement", "src": "13029:65:29" }, @@ -21643,7 +21643,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8716, + "id": 8879, "isConstant": false, "isLValue": false, "isPure": false, @@ -21652,22 +21652,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8711, + "id": 8874, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13112:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8713, + "id": 8876, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8712, + "id": 8875, "isConstant": false, "isLValue": false, "isPure": true, @@ -21699,7 +21699,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8714, + "id": 8877, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21710,7 +21710,7 @@ "typeString": "msg" } }, - "id": 8715, + "id": 8878, "isConstant": false, "isLValue": false, "isPure": false, @@ -21733,7 +21733,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8717, + "id": 8880, "isConstant": false, "isLValue": false, "isPure": true, @@ -21760,7 +21760,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8710, + "id": 8873, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -21774,7 +21774,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8718, + "id": 8881, "isConstant": false, "isLValue": false, "isPure": false, @@ -21789,7 +21789,7 @@ "typeString": "tuple()" } }, - "id": 8719, + "id": 8882, "nodeType": "ExpressionStatement", "src": "13104:75:29" }, @@ -21806,11 +21806,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8721, + "id": 8884, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "13195:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21825,18 +21825,18 @@ "typeString": "address" } ], - "id": 8720, + "id": 8883, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "13189:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8722, + "id": 8885, "isConstant": false, "isLValue": false, "isPure": false, @@ -21847,25 +21847,25 @@ "src": "13189:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8723, + "id": 8886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "13189:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 8727, + "id": 8890, "isConstant": false, "isLValue": false, "isPure": false, @@ -21879,22 +21879,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8724, + "id": 8887, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13216:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8726, + "id": 8889, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8725, + "id": 8888, "isConstant": false, "isLValue": false, "isPure": true, @@ -21927,7 +21927,7 @@ "typeString": "function () payable external" } }, - "id": 8728, + "id": 8891, "isConstant": false, "isLValue": false, "isPure": false, @@ -21942,7 +21942,7 @@ "typeString": "tuple()" } }, - "id": 8729, + "id": 8892, "nodeType": "ExpressionStatement", "src": "13189:40:29" }, @@ -21958,11 +21958,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8737, + "id": 8900, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "13292:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21973,22 +21973,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8738, + "id": 8901, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13301:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8740, + "id": 8903, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8739, + "id": 8902, "isConstant": false, "isLValue": false, "isPure": true, @@ -22018,22 +22018,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8741, + "id": 8904, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13310:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8743, + "id": 8906, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8742, + "id": 8905, "isConstant": false, "isLValue": false, "isPure": true, @@ -22077,32 +22077,32 @@ ], "expression": { "argumentTypes": null, - "id": 8735, + "id": 8898, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13267:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8736, + "id": 8899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "13267:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8744, + "id": 8907, "isConstant": false, "isLValue": false, "isPure": false, @@ -22121,22 +22121,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8745, + "id": 8908, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13320:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8747, + "id": 8910, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8746, + "id": 8909, "isConstant": false, "isLValue": false, "isPure": true, @@ -22179,11 +22179,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8732, + "id": 8895, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "13252:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22198,18 +22198,18 @@ "typeString": "address" } ], - "id": 8731, + "id": 8894, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "13246:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8733, + "id": 8896, "isConstant": false, "isLValue": false, "isPure": false, @@ -22220,25 +22220,25 @@ "src": "13246:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8734, + "id": 8897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "13246:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 8748, + "id": 8911, "isConstant": false, "isLValue": false, "isPure": false, @@ -22261,7 +22261,7 @@ "typeString": "bool" } ], - "id": 8730, + "id": 8893, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22272,7 +22272,7 @@ "typeString": "function (bool) pure" } }, - "id": 8749, + "id": 8912, "isConstant": false, "isLValue": false, "isPure": false, @@ -22287,7 +22287,7 @@ "typeString": "tuple()" } }, - "id": 8750, + "id": 8913, "nodeType": "ExpressionStatement", "src": "13239:93:29" }, @@ -22297,11 +22297,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8752, + "id": 8915, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13348:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -22310,11 +22310,11 @@ }, { "argumentTypes": null, - "id": 8753, + "id": 8916, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13357:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -22323,11 +22323,11 @@ }, { "argumentTypes": null, - "id": 8754, + "id": 8917, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8680, + "referencedDeclaration": 8843, "src": "13363:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22350,18 +22350,18 @@ "typeString": "address" } ], - "id": 8751, + "id": 8914, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "13342:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8755, + "id": 8918, "isConstant": false, "isLValue": false, "isPure": false, @@ -22376,7 +22376,7 @@ "typeString": "tuple()" } }, - "id": 8756, + "id": 8919, "nodeType": "ExpressionStatement", "src": "13342:24:29" }, @@ -22387,7 +22387,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8762, + "id": 8925, "isConstant": false, "isLValue": false, "isPure": false, @@ -22396,7 +22396,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8757, + "id": 8920, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22407,7 +22407,7 @@ "typeString": "msg" } }, - "id": 8758, + "id": 8921, "isConstant": false, "isLValue": false, "isPure": false, @@ -22427,22 +22427,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8759, + "id": 8922, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13427:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8761, + "id": 8924, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8760, + "id": 8923, "isConstant": false, "isLValue": false, "isPure": true, @@ -22475,7 +22475,7 @@ } }, "falseBody": null, - "id": 8776, + "id": 8939, "nodeType": "IfStatement", "src": "13411:94:29", "trueBody": { @@ -22486,7 +22486,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8766, + "id": 8929, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22497,7 +22497,7 @@ "typeString": "msg" } }, - "id": 8767, + "id": 8930, "isConstant": false, "isLValue": false, "isPure": false, @@ -22517,7 +22517,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8773, + "id": 8936, "isConstant": false, "isLValue": false, "isPure": false, @@ -22526,7 +22526,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8768, + "id": 8931, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22537,7 +22537,7 @@ "typeString": "msg" } }, - "id": 8769, + "id": 8932, "isConstant": false, "isLValue": false, "isPure": false, @@ -22557,22 +22557,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8770, + "id": 8933, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13494:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8772, + "id": 8935, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8771, + "id": 8934, "isConstant": false, "isLValue": false, "isPure": true, @@ -22618,32 +22618,32 @@ ], "expression": { "argumentTypes": null, - "id": 8763, + "id": 8926, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "13439:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8765, + "id": 8928, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "13439:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8774, + "id": 8937, "isConstant": false, "isLValue": false, "isPure": false, @@ -22658,7 +22658,7 @@ "typeString": "tuple()" } }, - "id": 8775, + "id": 8938, "nodeType": "ExpressionStatement", "src": "13439:66:29" } @@ -22667,7 +22667,7 @@ }, "documentation": null, "functionSelector": "fb3bdb41", - "id": 8778, + "id": 8941, "implemented": true, "kind": "function", "modifiers": [ @@ -22675,11 +22675,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8686, + "id": 8849, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8682, + "referencedDeclaration": 8845, "src": "12898:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -22687,14 +22687,14 @@ } } ], - "id": 8687, + "id": 8850, "modifierName": { "argumentTypes": null, - "id": 8685, + "id": 8848, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "12891:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -22708,23 +22708,23 @@ "name": "swapETHForExactTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8684, + "id": 8847, "nodeType": "OverrideSpecifier", "overrides": [], "src": "12858:8:29" }, "parameters": { - "id": 8683, + "id": 8846, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8675, + "id": 8838, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12749:14:29", "stateVariable": false, "storageLocation": "default", @@ -22733,7 +22733,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8674, + "id": 8837, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12749:4:29", @@ -22747,12 +22747,12 @@ }, { "constant": false, - "id": 8678, + "id": 8841, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12765:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -22762,7 +22762,7 @@ }, "typeName": { "baseType": { - "id": 8676, + "id": 8839, "name": "address", "nodeType": "ElementaryTypeName", "src": "12765:7:29", @@ -22772,7 +22772,7 @@ "typeString": "address" } }, - "id": 8677, + "id": 8840, "length": null, "nodeType": "ArrayTypeName", "src": "12765:9:29", @@ -22786,12 +22786,12 @@ }, { "constant": false, - "id": 8680, + "id": 8843, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12790:10:29", "stateVariable": false, "storageLocation": "default", @@ -22800,7 +22800,7 @@ "typeString": "address" }, "typeName": { - "id": 8679, + "id": 8842, "name": "address", "nodeType": "ElementaryTypeName", "src": "12790:7:29", @@ -22815,12 +22815,12 @@ }, { "constant": false, - "id": 8682, + "id": 8845, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12802:13:29", "stateVariable": false, "storageLocation": "default", @@ -22829,7 +22829,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8681, + "id": 8844, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12802:4:29", @@ -22845,17 +22845,17 @@ "src": "12748:68:29" }, "returnParameters": { - "id": 8691, + "id": 8854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8690, + "id": 8853, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12925:21:29", "stateVariable": false, "storageLocation": "memory", @@ -22865,7 +22865,7 @@ }, "typeName": { "baseType": { - "id": 8688, + "id": 8851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12925:4:29", @@ -22874,7 +22874,7 @@ "typeString": "uint256" } }, - "id": 8689, + "id": 8852, "length": null, "nodeType": "ArrayTypeName", "src": "12925:6:29", @@ -22889,7 +22889,7 @@ ], "src": "12924:23:29" }, - "scope": 9312, + "scope": 9475, "src": "12718:794:29", "stateMutability": "payable", "virtual": true, @@ -22897,30 +22897,30 @@ }, { "body": { - "id": 8941, + "id": 9104, "nodeType": "Block", "src": "13752:1100:29", "statements": [ { "body": { - "id": 8939, + "id": 9102, "nodeType": "Block", "src": "13801:1045:29", "statements": [ { "assignments": [ - 8799, - 8801 + 8962, + 8964 ], "declarations": [ { "constant": false, - "id": 8799, + "id": 8962, "mutability": "mutable", "name": "input", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13816:13:29", "stateVariable": false, "storageLocation": "default", @@ -22929,7 +22929,7 @@ "typeString": "address" }, "typeName": { - "id": 8798, + "id": 8961, "name": "address", "nodeType": "ElementaryTypeName", "src": "13816:7:29", @@ -22944,12 +22944,12 @@ }, { "constant": false, - "id": 8801, + "id": 8964, "mutability": "mutable", "name": "output", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13831:14:29", "stateVariable": false, "storageLocation": "default", @@ -22958,7 +22958,7 @@ "typeString": "address" }, "typeName": { - "id": 8800, + "id": 8963, "name": "address", "nodeType": "ElementaryTypeName", "src": "13831:7:29", @@ -22972,7 +22972,7 @@ "visibility": "internal" } ], - "id": 8811, + "id": 8974, "initialValue": { "argumentTypes": null, "components": [ @@ -22980,25 +22980,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8802, + "id": 8965, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13850:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8804, + "id": 8967, "indexExpression": { "argumentTypes": null, - "id": 8803, + "id": 8966, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13855:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23020,36 +23020,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8805, + "id": 8968, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13859:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8809, + "id": 8972, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8808, + "id": 8971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8806, + "id": 8969, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13864:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23061,7 +23061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8807, + "id": 8970, "isConstant": false, "isLValue": false, "isPure": true, @@ -23094,7 +23094,7 @@ } } ], - "id": 8810, + "id": 8973, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23112,18 +23112,18 @@ }, { "assignments": [ - 8813, + 8976, null ], "declarations": [ { "constant": false, - "id": 8813, + "id": 8976, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13886:14:29", "stateVariable": false, "storageLocation": "default", @@ -23132,7 +23132,7 @@ "typeString": "address" }, "typeName": { - "id": 8812, + "id": 8975, "name": "address", "nodeType": "ElementaryTypeName", "src": "13886:7:29", @@ -23147,17 +23147,17 @@ }, null ], - "id": 8819, + "id": 8982, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8816, + "id": 8979, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "13933:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23166,11 +23166,11 @@ }, { "argumentTypes": null, - "id": 8817, + "id": 8980, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "13940:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23191,32 +23191,32 @@ ], "expression": { "argumentTypes": null, - "id": 8814, + "id": 8977, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13905:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8815, + "id": 8978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "13905:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 8818, + "id": 8981, "isConstant": false, "isLValue": false, "isPure": false, @@ -23236,33 +23236,33 @@ }, { "assignments": [ - 8821 + 8984 ], "declarations": [ { "constant": false, - "id": 8821, + "id": 8984, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13961:19:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 8820, + "id": 8983, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "13961:14:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -23270,7 +23270,7 @@ "visibility": "internal" } ], - "id": 8830, + "id": 8993, "initialValue": { "argumentTypes": null, "arguments": [ @@ -23279,11 +23279,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8825, + "id": 8988, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "14023:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23292,11 +23292,11 @@ }, { "argumentTypes": null, - "id": 8826, + "id": 8989, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14032:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23305,11 +23305,11 @@ }, { "argumentTypes": null, - "id": 8827, + "id": 8990, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "14039:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23334,32 +23334,32 @@ ], "expression": { "argumentTypes": null, - "id": 8823, + "id": 8986, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13998:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8824, + "id": 8987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "13998:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8828, + "id": 8991, "isConstant": false, "isLValue": false, "isPure": false, @@ -23382,18 +23382,18 @@ "typeString": "address" } ], - "id": 8822, + "id": 8985, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "13983:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8829, + "id": 8992, "isConstant": false, "isLValue": false, "isPure": false, @@ -23404,7 +23404,7 @@ "src": "13983:64:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -23413,17 +23413,17 @@ }, { "assignments": [ - 8832 + 8995 ], "declarations": [ { "constant": false, - "id": 8832, + "id": 8995, "mutability": "mutable", "name": "amountInput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14061:16:29", "stateVariable": false, "storageLocation": "default", @@ -23432,7 +23432,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8831, + "id": 8994, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14061:4:29", @@ -23445,24 +23445,24 @@ "visibility": "internal" } ], - "id": 8833, + "id": 8996, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14061:16:29" }, { "assignments": [ - 8835 + 8998 ], "declarations": [ { "constant": false, - "id": 8835, + "id": 8998, "mutability": "mutable", "name": "amountOutput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14091:17:29", "stateVariable": false, "storageLocation": "default", @@ -23471,7 +23471,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8834, + "id": 8997, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14091:4:29", @@ -23484,31 +23484,31 @@ "visibility": "internal" } ], - "id": 8836, + "id": 8999, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14091:17:29" }, { - "id": 8884, + "id": 9047, "nodeType": "Block", "src": "14122:422:29", "statements": [ { "assignments": [ - 8838, - 8840, + 9001, + 9003, null ], "declarations": [ { "constant": false, - "id": 8838, + "id": 9001, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14177:13:29", "stateVariable": false, "storageLocation": "default", @@ -23517,7 +23517,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8837, + "id": 9000, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14177:4:29", @@ -23531,12 +23531,12 @@ }, { "constant": false, - "id": 8840, + "id": 9003, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14192:13:29", "stateVariable": false, "storageLocation": "default", @@ -23545,7 +23545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8839, + "id": 9002, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14192:4:29", @@ -23559,7 +23559,7 @@ }, null ], - "id": 8844, + "id": 9007, "initialValue": { "argumentTypes": null, "arguments": [], @@ -23567,32 +23567,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8841, + "id": 9004, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14210:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8842, + "id": 9005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "14210:16:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 8843, + "id": 9006, "isConstant": false, "isLValue": false, "isPure": false, @@ -23612,18 +23612,18 @@ }, { "assignments": [ - 8846, - 8848 + 9009, + 9011 ], "declarations": [ { "constant": false, - "id": 8846, + "id": 9009, "mutability": "mutable", "name": "reserveInput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14243:17:29", "stateVariable": false, "storageLocation": "default", @@ -23632,7 +23632,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8845, + "id": 9008, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14243:4:29", @@ -23646,12 +23646,12 @@ }, { "constant": false, - "id": 8848, + "id": 9011, "mutability": "mutable", "name": "reserveOutput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14262:18:29", "stateVariable": false, "storageLocation": "default", @@ -23660,7 +23660,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8847, + "id": 9010, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14262:4:29", @@ -23673,7 +23673,7 @@ "visibility": "internal" } ], - "id": 8859, + "id": 9022, "initialValue": { "argumentTypes": null, "condition": { @@ -23682,18 +23682,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8851, + "id": 9014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8849, + "id": 9012, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14284:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23704,11 +23704,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8850, + "id": 9013, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8813, + "referencedDeclaration": 8976, "src": "14293:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23726,11 +23726,11 @@ "components": [ { "argumentTypes": null, - "id": 8855, + "id": 9018, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8840, + "referencedDeclaration": 9003, "src": "14326:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23739,11 +23739,11 @@ }, { "argumentTypes": null, - "id": 8856, + "id": 9019, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8838, + "referencedDeclaration": 9001, "src": "14336:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23751,7 +23751,7 @@ } } ], - "id": 8857, + "id": 9020, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23764,7 +23764,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8858, + "id": 9021, "isConstant": false, "isLValue": false, "isPure": false, @@ -23776,11 +23776,11 @@ "components": [ { "argumentTypes": null, - "id": 8852, + "id": 9015, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8838, + "referencedDeclaration": 9001, "src": "14303:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23789,11 +23789,11 @@ }, { "argumentTypes": null, - "id": 8853, + "id": 9016, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8840, + "referencedDeclaration": 9003, "src": "14313:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23801,7 +23801,7 @@ } } ], - "id": 8854, + "id": 9017, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23825,18 +23825,18 @@ { "expression": { "argumentTypes": null, - "id": 8873, + "id": 9036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8860, + "id": 9023, "name": "amountInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8832, + "referencedDeclaration": 8995, "src": "14359:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23850,11 +23850,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8871, + "id": 9034, "name": "reserveInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8846, + "referencedDeclaration": 9009, "src": "14416:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23877,14 +23877,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8867, + "id": 9030, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14405:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } } @@ -23892,11 +23892,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } ], - "id": 8866, + "id": 9029, "isConstant": false, "isLValue": false, "isPure": true, @@ -23908,7 +23908,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8865, + "id": 9028, "name": "address", "nodeType": "ElementaryTypeName", "src": "14397:7:29", @@ -23918,7 +23918,7 @@ } } }, - "id": 8868, + "id": 9031, "isConstant": false, "isLValue": false, "isPure": false, @@ -23946,11 +23946,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8862, + "id": 9025, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14380:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23965,18 +23965,18 @@ "typeString": "address" } ], - "id": 8861, + "id": 9024, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "14373:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8863, + "id": 9026, "isConstant": false, "isLValue": false, "isPure": false, @@ -23987,25 +23987,25 @@ "src": "14373:13:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8864, + "id": 9027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "14373:23:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8869, + "id": 9032, "isConstant": false, "isLValue": false, "isPure": false, @@ -24020,21 +24020,21 @@ "typeString": "uint256" } }, - "id": 8870, + "id": 9033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "14373:42:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8872, + "id": 9035, "isConstant": false, "isLValue": false, "isPure": false, @@ -24055,25 +24055,25 @@ "typeString": "uint256" } }, - "id": 8874, + "id": 9037, "nodeType": "ExpressionStatement", "src": "14359:70:29" }, { "expression": { "argumentTypes": null, - "id": 8882, + "id": 9045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8875, + "id": 9038, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14443:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24087,11 +24087,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8878, + "id": 9041, "name": "amountInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8832, + "referencedDeclaration": 8995, "src": "14488:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24100,11 +24100,11 @@ }, { "argumentTypes": null, - "id": 8879, + "id": 9042, "name": "reserveInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8846, + "referencedDeclaration": 9009, "src": "14501:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24113,11 +24113,11 @@ }, { "argumentTypes": null, - "id": 8880, + "id": 9043, "name": "reserveOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8848, + "referencedDeclaration": 9011, "src": "14515:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24142,32 +24142,32 @@ ], "expression": { "argumentTypes": null, - "id": 8876, + "id": 9039, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "14458:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8877, + "id": 9040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "14458:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 8881, + "id": 9044, "isConstant": false, "isLValue": false, "isPure": false, @@ -24188,7 +24188,7 @@ "typeString": "uint256" } }, - "id": 8883, + "id": 9046, "nodeType": "ExpressionStatement", "src": "14443:86:29" } @@ -24196,18 +24196,18 @@ }, { "assignments": [ - 8886, - 8888 + 9049, + 9051 ], "declarations": [ { "constant": false, - "id": 8886, + "id": 9049, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14558:15:29", "stateVariable": false, "storageLocation": "default", @@ -24216,7 +24216,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8885, + "id": 9048, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14558:4:29", @@ -24230,12 +24230,12 @@ }, { "constant": false, - "id": 8888, + "id": 9051, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14575:15:29", "stateVariable": false, "storageLocation": "default", @@ -24244,7 +24244,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8887, + "id": 9050, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14575:4:29", @@ -24257,7 +24257,7 @@ "visibility": "internal" } ], - "id": 8905, + "id": 9068, "initialValue": { "argumentTypes": null, "condition": { @@ -24266,18 +24266,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8891, + "id": 9054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8889, + "id": 9052, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14594:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24288,11 +24288,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8890, + "id": 9053, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8813, + "referencedDeclaration": 8976, "src": "14603:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24310,11 +24310,11 @@ "components": [ { "argumentTypes": null, - "id": 8898, + "id": 9061, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14639:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24327,7 +24327,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8901, + "id": 9064, "isConstant": false, "isLValue": false, "isPure": true, @@ -24350,7 +24350,7 @@ "typeString": "int_const 0" } ], - "id": 8900, + "id": 9063, "isConstant": false, "isLValue": false, "isPure": true, @@ -24362,7 +24362,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8899, + "id": 9062, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14653:4:29", @@ -24372,7 +24372,7 @@ } } }, - "id": 8902, + "id": 9065, "isConstant": false, "isLValue": false, "isPure": true, @@ -24388,7 +24388,7 @@ } } ], - "id": 8903, + "id": 9066, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -24401,7 +24401,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8904, + "id": 9067, "isConstant": false, "isLValue": false, "isPure": false, @@ -24417,7 +24417,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8894, + "id": 9057, "isConstant": false, "isLValue": false, "isPure": true, @@ -24440,7 +24440,7 @@ "typeString": "int_const 0" } ], - "id": 8893, + "id": 9056, "isConstant": false, "isLValue": false, "isPure": true, @@ -24452,7 +24452,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8892, + "id": 9055, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14613:4:29", @@ -24462,7 +24462,7 @@ } } }, - "id": 8895, + "id": 9058, "isConstant": false, "isLValue": false, "isPure": true, @@ -24479,11 +24479,11 @@ }, { "argumentTypes": null, - "id": 8896, + "id": 9059, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14622:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24491,7 +24491,7 @@ } } ], - "id": 8897, + "id": 9060, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -24514,17 +24514,17 @@ }, { "assignments": [ - 8907 + 9070 ], "declarations": [ { "constant": false, - "id": 8907, + "id": 9070, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14675:10:29", "stateVariable": false, "storageLocation": "default", @@ -24533,7 +24533,7 @@ "typeString": "address" }, "typeName": { - "id": 8906, + "id": 9069, "name": "address", "nodeType": "ElementaryTypeName", "src": "14675:7:29", @@ -24547,7 +24547,7 @@ "visibility": "internal" } ], - "id": 8926, + "id": 9089, "initialValue": { "argumentTypes": null, "condition": { @@ -24556,18 +24556,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8913, + "id": 9076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8908, + "id": 9071, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "14688:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24582,7 +24582,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8912, + "id": 9075, "isConstant": false, "isLValue": false, "isPure": false, @@ -24591,18 +24591,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8909, + "id": 9072, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "14692:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8910, + "id": 9073, "isConstant": false, "isLValue": false, "isPure": false, @@ -24621,7 +24621,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8911, + "id": 9074, "isConstant": false, "isLValue": false, "isPure": true, @@ -24650,18 +24650,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8924, + "id": 9087, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8783, + "referencedDeclaration": 8946, "src": "14767:3:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8925, + "id": 9088, "isConstant": false, "isLValue": false, "isPure": false, @@ -24673,11 +24673,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8916, + "id": 9079, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "14735:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24686,11 +24686,11 @@ }, { "argumentTypes": null, - "id": 8917, + "id": 9080, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "14744:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24701,36 +24701,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8918, + "id": 9081, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "14752:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8922, + "id": 9085, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8921, + "id": 9084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8919, + "id": 9082, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "14757:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24742,7 +24742,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8920, + "id": 9083, "isConstant": false, "isLValue": false, "isPure": true, @@ -24792,32 +24792,32 @@ ], "expression": { "argumentTypes": null, - "id": 8914, + "id": 9077, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "14710:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8915, + "id": 9078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "14710:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8923, + "id": 9086, "isConstant": false, "isLValue": false, "isPure": false, @@ -24846,11 +24846,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8930, + "id": 9093, "name": "amount0Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8886, + "referencedDeclaration": 9049, "src": "14794:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24859,11 +24859,11 @@ }, { "argumentTypes": null, - "id": 8931, + "id": 9094, "name": "amount1Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8888, + "referencedDeclaration": 9051, "src": "14806:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24872,11 +24872,11 @@ }, { "argumentTypes": null, - "id": 8932, + "id": 9095, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8907, + "referencedDeclaration": 9070, "src": "14818:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24889,7 +24889,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8935, + "id": 9098, "isConstant": false, "isLValue": false, "isPure": true, @@ -24912,7 +24912,7 @@ "typeString": "int_const 0" } ], - "id": 8934, + "id": 9097, "isConstant": false, "isLValue": false, "isPure": true, @@ -24924,7 +24924,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 8933, + "id": 9096, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14826:5:29", @@ -24934,7 +24934,7 @@ } } }, - "id": 8936, + "id": 9099, "isConstant": false, "isLValue": false, "isPure": true, @@ -24971,32 +24971,32 @@ ], "expression": { "argumentTypes": null, - "id": 8927, + "id": 9090, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14784:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8929, + "id": 9092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swap", "nodeType": "MemberAccess", - "referencedDeclaration": 7258, + "referencedDeclaration": 7421, "src": "14784:9:29", "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": 8937, + "id": 9100, "isConstant": false, "isLValue": false, "isPure": false, @@ -25011,7 +25011,7 @@ "typeString": "tuple()" } }, - "id": 8938, + "id": 9101, "nodeType": "ExpressionStatement", "src": "14784:51:29" } @@ -25023,18 +25023,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8794, + "id": 8957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8789, + "id": 8952, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13775:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25049,7 +25049,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8793, + "id": 8956, "isConstant": false, "isLValue": false, "isPure": false, @@ -25058,18 +25058,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8790, + "id": 8953, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13779:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8791, + "id": 8954, "isConstant": false, "isLValue": false, "isPure": false, @@ -25088,7 +25088,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8792, + "id": 8955, "isConstant": false, "isLValue": false, "isPure": true, @@ -25115,20 +25115,20 @@ "typeString": "bool" } }, - "id": 8940, + "id": 9103, "initializationExpression": { "assignments": [ - 8787 + 8950 ], "declarations": [ { "constant": false, - "id": 8787, + "id": 8950, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8940, + "scope": 9103, "src": "13767:6:29", "stateVariable": false, "storageLocation": "default", @@ -25137,7 +25137,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8786, + "id": 8949, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13767:4:29", @@ -25150,7 +25150,7 @@ "visibility": "internal" } ], - "id": 8788, + "id": 8951, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "13767:6:29" @@ -25158,7 +25158,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 8796, + "id": 8959, "isConstant": false, "isLValue": false, "isPure": false, @@ -25169,11 +25169,11 @@ "src": "13796:3:29", "subExpression": { "argumentTypes": null, - "id": 8795, + "id": 8958, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13796:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25185,7 +25185,7 @@ "typeString": "uint256" } }, - "id": 8797, + "id": 8960, "nodeType": "ExpressionStatement", "src": "13796:3:29" }, @@ -25195,7 +25195,7 @@ ] }, "documentation": null, - "id": 8942, + "id": 9105, "implemented": true, "kind": "function", "modifiers": [], @@ -25203,17 +25203,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 8784, + "id": 8947, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8781, + "id": 8944, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8942, + "scope": 9105, "src": "13699:21:29", "stateVariable": false, "storageLocation": "memory", @@ -25223,7 +25223,7 @@ }, "typeName": { "baseType": { - "id": 8779, + "id": 8942, "name": "address", "nodeType": "ElementaryTypeName", "src": "13699:7:29", @@ -25233,7 +25233,7 @@ "typeString": "address" } }, - "id": 8780, + "id": 8943, "length": null, "nodeType": "ArrayTypeName", "src": "13699:9:29", @@ -25247,12 +25247,12 @@ }, { "constant": false, - "id": 8783, + "id": 8946, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8942, + "scope": 9105, "src": "13722:11:29", "stateVariable": false, "storageLocation": "default", @@ -25261,7 +25261,7 @@ "typeString": "address" }, "typeName": { - "id": 8782, + "id": 8945, "name": "address", "nodeType": "ElementaryTypeName", "src": "13722:7:29", @@ -25278,12 +25278,12 @@ "src": "13698:36:29" }, "returnParameters": { - "id": 8785, + "id": 8948, "nodeType": "ParameterList", "parameters": [], "src": "13752:0:29" }, - "scope": 9312, + "scope": 9475, "src": "13655:1197:29", "stateMutability": "nonpayable", "virtual": true, @@ -25291,10 +25291,10 @@ }, { "baseFunctions": [ - 9765 + 9928 ], "body": { - "id": 9020, + "id": 9183, "nodeType": "Block", "src": "15095:460:29", "statements": [ @@ -25306,22 +25306,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8963, + "id": 9126, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15150:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8965, + "id": 9128, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8964, + "id": 9127, "isConstant": false, "isLValue": false, "isPure": true, @@ -25351,7 +25351,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8966, + "id": 9129, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -25362,7 +25362,7 @@ "typeString": "msg" } }, - "id": 8967, + "id": 9130, "isConstant": false, "isLValue": false, "isPure": false, @@ -25381,11 +25381,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8970, + "id": 9133, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "15196:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25396,22 +25396,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8971, + "id": 9134, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15205:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8973, + "id": 9136, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8972, + "id": 9135, "isConstant": false, "isLValue": false, "isPure": true, @@ -25441,22 +25441,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8974, + "id": 9137, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15214:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8976, + "id": 9139, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8975, + "id": 9138, "isConstant": false, "isLValue": false, "isPure": true, @@ -25500,32 +25500,32 @@ ], "expression": { "argumentTypes": null, - "id": 8968, + "id": 9131, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "15171:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8969, + "id": 9132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "15171:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8977, + "id": 9140, "isConstant": false, "isLValue": false, "isPure": false, @@ -25542,11 +25542,11 @@ }, { "argumentTypes": null, - "id": 8978, + "id": 9141, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8944, + "referencedDeclaration": 9107, "src": "15224:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25575,32 +25575,32 @@ ], "expression": { "argumentTypes": null, - "id": 8960, + "id": 9123, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "15105:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8962, + "id": 9125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "15105:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8979, + "id": 9142, "isConstant": false, "isLValue": false, "isPure": false, @@ -25615,23 +25615,23 @@ "typeString": "tuple()" } }, - "id": 8980, + "id": 9143, "nodeType": "ExpressionStatement", "src": "15105:137:29" }, { "assignments": [ - 8982 + 9145 ], "declarations": [ { "constant": false, - "id": 8982, + "id": 9145, "mutability": "mutable", "name": "balanceBefore", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9020, + "scope": 9183, "src": "15252:18:29", "stateVariable": false, "storageLocation": "default", @@ -25640,7 +25640,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8981, + "id": 9144, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15252:4:29", @@ -25653,17 +25653,17 @@ "visibility": "internal" } ], - "id": 8994, + "id": 9157, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8992, + "id": 9155, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15313:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25685,25 +25685,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8984, + "id": 9147, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15280:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8989, + "id": 9152, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8988, + "id": 9151, "isConstant": false, "isLValue": false, "isPure": false, @@ -25712,18 +25712,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8985, + "id": 9148, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15285:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8986, + "id": 9149, "isConstant": false, "isLValue": false, "isPure": false, @@ -25742,7 +25742,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8987, + "id": 9150, "isConstant": false, "isLValue": false, "isPure": true, @@ -25782,18 +25782,18 @@ "typeString": "address" } ], - "id": 8983, + "id": 9146, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "15273:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8990, + "id": 9153, "isConstant": false, "isLValue": false, "isPure": false, @@ -25804,25 +25804,25 @@ "src": "15273:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8991, + "id": 9154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "15273:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8993, + "id": 9156, "isConstant": false, "isLValue": false, "isPure": false, @@ -25846,11 +25846,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8996, + "id": 9159, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15361:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -25859,11 +25859,11 @@ }, { "argumentTypes": null, - "id": 8997, + "id": 9160, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15367:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25882,18 +25882,18 @@ "typeString": "address" } ], - "id": 8995, + "id": 9158, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "15326:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 8998, + "id": 9161, "isConstant": false, "isLValue": false, "isPure": false, @@ -25908,7 +25908,7 @@ "typeString": "tuple()" } }, - "id": 8999, + "id": 9162, "nodeType": "ExpressionStatement", "src": "15326:44:29" }, @@ -25922,7 +25922,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9016, + "id": 9179, "isConstant": false, "isLValue": false, "isPure": false, @@ -25932,11 +25932,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9013, + "id": 9176, "name": "balanceBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8982, + "referencedDeclaration": 9145, "src": "15449:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25956,11 +25956,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9010, + "id": 9173, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15441:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25982,25 +25982,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9002, + "id": 9165, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15408:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9007, + "id": 9170, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9006, + "id": 9169, "isConstant": false, "isLValue": false, "isPure": false, @@ -26009,18 +26009,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9003, + "id": 9166, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15413:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9004, + "id": 9167, "isConstant": false, "isLValue": false, "isPure": false, @@ -26039,7 +26039,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9005, + "id": 9168, "isConstant": false, "isLValue": false, "isPure": true, @@ -26079,18 +26079,18 @@ "typeString": "address" } ], - "id": 9001, + "id": 9164, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "15401:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9008, + "id": 9171, "isConstant": false, "isLValue": false, "isPure": false, @@ -26101,25 +26101,25 @@ "src": "15401:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9009, + "id": 9172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "15401:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9011, + "id": 9174, "isConstant": false, "isLValue": false, "isPure": false, @@ -26134,21 +26134,21 @@ "typeString": "uint256" } }, - "id": 9012, + "id": 9175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "15401:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9014, + "id": 9177, "isConstant": false, "isLValue": false, "isPure": false, @@ -26167,11 +26167,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9015, + "id": 9178, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8946, + "referencedDeclaration": 9109, "src": "15467:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26187,7 +26187,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9017, + "id": 9180, "isConstant": false, "isLValue": false, "isPure": true, @@ -26214,7 +26214,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9000, + "id": 9163, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -26228,7 +26228,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9018, + "id": 9181, "isConstant": false, "isLValue": false, "isPure": false, @@ -26243,7 +26243,7 @@ "typeString": "tuple()" } }, - "id": 9019, + "id": 9182, "nodeType": "ExpressionStatement", "src": "15380:168:29" } @@ -26251,7 +26251,7 @@ }, "documentation": null, "functionSelector": "5c11d795", - "id": 9021, + "id": 9184, "implemented": true, "kind": "function", "modifiers": [ @@ -26259,11 +26259,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8957, + "id": 9120, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8953, + "referencedDeclaration": 9116, "src": "15085:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26271,14 +26271,14 @@ } } ], - "id": 8958, + "id": 9121, "modifierName": { "argumentTypes": null, - "id": 8956, + "id": 9119, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "15078:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -26292,23 +26292,23 @@ "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8955, + "id": 9118, "nodeType": "OverrideSpecifier", "overrides": [], "src": "15069:8:29" }, "parameters": { - "id": 8954, + "id": 9117, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8944, + "id": 9107, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14929:13:29", "stateVariable": false, "storageLocation": "default", @@ -26317,7 +26317,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8943, + "id": 9106, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14929:4:29", @@ -26331,12 +26331,12 @@ }, { "constant": false, - "id": 8946, + "id": 9109, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14952:17:29", "stateVariable": false, "storageLocation": "default", @@ -26345,7 +26345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8945, + "id": 9108, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14952:4:29", @@ -26359,12 +26359,12 @@ }, { "constant": false, - "id": 8949, + "id": 9112, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14979:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -26374,7 +26374,7 @@ }, "typeName": { "baseType": { - "id": 8947, + "id": 9110, "name": "address", "nodeType": "ElementaryTypeName", "src": "14979:7:29", @@ -26384,7 +26384,7 @@ "typeString": "address" } }, - "id": 8948, + "id": 9111, "length": null, "nodeType": "ArrayTypeName", "src": "14979:9:29", @@ -26398,12 +26398,12 @@ }, { "constant": false, - "id": 8951, + "id": 9114, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "15012:10:29", "stateVariable": false, "storageLocation": "default", @@ -26412,7 +26412,7 @@ "typeString": "address" }, "typeName": { - "id": 8950, + "id": 9113, "name": "address", "nodeType": "ElementaryTypeName", "src": "15012:7:29", @@ -26427,12 +26427,12 @@ }, { "constant": false, - "id": 8953, + "id": 9116, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "15032:13:29", "stateVariable": false, "storageLocation": "default", @@ -26441,7 +26441,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8952, + "id": 9115, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15032:4:29", @@ -26457,12 +26457,12 @@ "src": "14919:132:29" }, "returnParameters": { - "id": 8959, + "id": 9122, "nodeType": "ParameterList", "parameters": [], "src": "15095:0:29" }, - "scope": 9312, + "scope": 9475, "src": "14857:698:29", "stateMutability": "nonpayable", "virtual": true, @@ -26470,10 +26470,10 @@ }, { "baseFunctions": [ - 9777 + 9940 ], "body": { - "id": 9117, + "id": 9280, "nodeType": "Block", "src": "15824:564:29", "statements": [ @@ -26487,7 +26487,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9042, + "id": 9205, "isConstant": false, "isLValue": false, "isPure": false, @@ -26496,22 +26496,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9038, + "id": 9201, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "15842:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9040, + "id": 9203, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9039, + "id": 9202, "isConstant": false, "isLValue": false, "isPure": true, @@ -26541,11 +26541,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 9041, + "id": 9204, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15853:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26561,7 +26561,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 9043, + "id": 9206, "isConstant": false, "isLValue": false, "isPure": true, @@ -26588,7 +26588,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 9037, + "id": 9200, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -26602,7 +26602,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9044, + "id": 9207, "isConstant": false, "isLValue": false, "isPure": false, @@ -26617,23 +26617,23 @@ "typeString": "tuple()" } }, - "id": 9045, + "id": 9208, "nodeType": "ExpressionStatement", "src": "15834:57:29" }, { "assignments": [ - 9047 + 9210 ], "declarations": [ { "constant": false, - "id": 9047, + "id": 9210, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9117, + "scope": 9280, "src": "15901:13:29", "stateVariable": false, "storageLocation": "default", @@ -26642,7 +26642,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9046, + "id": 9209, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15901:4:29", @@ -26655,12 +26655,12 @@ "visibility": "internal" } ], - "id": 9050, + "id": 9213, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9048, + "id": 9211, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26671,7 +26671,7 @@ "typeString": "msg" } }, - "id": 9049, + "id": 9212, "isConstant": false, "isLValue": false, "isPure": false, @@ -26701,11 +26701,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9052, + "id": 9215, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15942:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26720,18 +26720,18 @@ "typeString": "address" } ], - "id": 9051, + "id": 9214, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "15936:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9053, + "id": 9216, "isConstant": false, "isLValue": false, "isPure": false, @@ -26742,25 +26742,25 @@ "src": "15936:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9054, + "id": 9217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "15936:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 9056, + "id": 9219, "isConstant": false, "isLValue": false, "isPure": false, @@ -26772,11 +26772,11 @@ "options": [ { "argumentTypes": null, - "id": 9055, + "id": 9218, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9047, + "referencedDeclaration": 9210, "src": "15963:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26790,7 +26790,7 @@ "typeString": "function () payable external" } }, - "id": 9057, + "id": 9220, "isConstant": false, "isLValue": false, "isPure": false, @@ -26805,7 +26805,7 @@ "typeString": "tuple()" } }, - "id": 9058, + "id": 9221, "nodeType": "ExpressionStatement", "src": "15936:38:29" }, @@ -26821,11 +26821,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9066, + "id": 9229, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "16037:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26836,22 +26836,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9067, + "id": 9230, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16046:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9069, + "id": 9232, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9068, + "id": 9231, "isConstant": false, "isLValue": false, "isPure": true, @@ -26881,22 +26881,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9070, + "id": 9233, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16055:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9072, + "id": 9235, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9071, + "id": 9234, "isConstant": false, "isLValue": false, "isPure": true, @@ -26940,32 +26940,32 @@ ], "expression": { "argumentTypes": null, - "id": 9064, + "id": 9227, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "16012:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9065, + "id": 9228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "16012:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 9073, + "id": 9236, "isConstant": false, "isLValue": false, "isPure": false, @@ -26982,11 +26982,11 @@ }, { "argumentTypes": null, - "id": 9074, + "id": 9237, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9047, + "referencedDeclaration": 9210, "src": "16065:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27010,11 +27010,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9061, + "id": 9224, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15997:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27029,18 +27029,18 @@ "typeString": "address" } ], - "id": 9060, + "id": 9223, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "15991:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9062, + "id": 9225, "isConstant": false, "isLValue": false, "isPure": false, @@ -27051,25 +27051,25 @@ "src": "15991:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9063, + "id": 9226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "15991:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 9075, + "id": 9238, "isConstant": false, "isLValue": false, "isPure": false, @@ -27092,7 +27092,7 @@ "typeString": "bool" } ], - "id": 9059, + "id": 9222, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -27103,7 +27103,7 @@ "typeString": "function (bool) pure" } }, - "id": 9076, + "id": 9239, "isConstant": false, "isLValue": false, "isPure": false, @@ -27118,23 +27118,23 @@ "typeString": "tuple()" } }, - "id": 9077, + "id": 9240, "nodeType": "ExpressionStatement", "src": "15984:91:29" }, { "assignments": [ - 9079 + 9242 ], "declarations": [ { "constant": false, - "id": 9079, + "id": 9242, "mutability": "mutable", "name": "balanceBefore", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9117, + "scope": 9280, "src": "16085:18:29", "stateVariable": false, "storageLocation": "default", @@ -27143,7 +27143,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9078, + "id": 9241, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16085:4:29", @@ -27156,17 +27156,17 @@ "visibility": "internal" } ], - "id": 9091, + "id": 9254, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9089, + "id": 9252, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16146:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27188,25 +27188,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9081, + "id": 9244, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16113:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9086, + "id": 9249, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9085, + "id": 9248, "isConstant": false, "isLValue": false, "isPure": false, @@ -27215,18 +27215,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9082, + "id": 9245, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16118:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9083, + "id": 9246, "isConstant": false, "isLValue": false, "isPure": false, @@ -27245,7 +27245,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9084, + "id": 9247, "isConstant": false, "isLValue": false, "isPure": true, @@ -27285,18 +27285,18 @@ "typeString": "address" } ], - "id": 9080, + "id": 9243, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16106:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9087, + "id": 9250, "isConstant": false, "isLValue": false, "isPure": false, @@ -27307,25 +27307,25 @@ "src": "16106:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9088, + "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16106:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9090, + "id": 9253, "isConstant": false, "isLValue": false, "isPure": false, @@ -27349,11 +27349,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9093, + "id": 9256, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16194:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -27362,11 +27362,11 @@ }, { "argumentTypes": null, - "id": 9094, + "id": 9257, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16200:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27385,18 +27385,18 @@ "typeString": "address" } ], - "id": 9092, + "id": 9255, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "16159:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 9095, + "id": 9258, "isConstant": false, "isLValue": false, "isPure": false, @@ -27411,7 +27411,7 @@ "typeString": "tuple()" } }, - "id": 9096, + "id": 9259, "nodeType": "ExpressionStatement", "src": "16159:44:29" }, @@ -27425,7 +27425,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9113, + "id": 9276, "isConstant": false, "isLValue": false, "isPure": false, @@ -27435,11 +27435,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9110, + "id": 9273, "name": "balanceBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9079, + "referencedDeclaration": 9242, "src": "16282:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27459,11 +27459,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9107, + "id": 9270, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16274:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27485,25 +27485,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9099, + "id": 9262, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16241:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9104, + "id": 9267, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9103, + "id": 9266, "isConstant": false, "isLValue": false, "isPure": false, @@ -27512,18 +27512,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9100, + "id": 9263, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16246:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9101, + "id": 9264, "isConstant": false, "isLValue": false, "isPure": false, @@ -27542,7 +27542,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9102, + "id": 9265, "isConstant": false, "isLValue": false, "isPure": true, @@ -27582,18 +27582,18 @@ "typeString": "address" } ], - "id": 9098, + "id": 9261, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16234:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9105, + "id": 9268, "isConstant": false, "isLValue": false, "isPure": false, @@ -27604,25 +27604,25 @@ "src": "16234:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9106, + "id": 9269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16234:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9108, + "id": 9271, "isConstant": false, "isLValue": false, "isPure": false, @@ -27637,21 +27637,21 @@ "typeString": "uint256" } }, - "id": 9109, + "id": 9272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "16234:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9111, + "id": 9274, "isConstant": false, "isLValue": false, "isPure": false, @@ -27670,11 +27670,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9112, + "id": 9275, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9023, + "referencedDeclaration": 9186, "src": "16300:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27690,7 +27690,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9114, + "id": 9277, "isConstant": false, "isLValue": false, "isPure": true, @@ -27717,7 +27717,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9097, + "id": 9260, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27731,7 +27731,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9115, + "id": 9278, "isConstant": false, "isLValue": false, "isPure": false, @@ -27746,7 +27746,7 @@ "typeString": "tuple()" } }, - "id": 9116, + "id": 9279, "nodeType": "ExpressionStatement", "src": "16213:168:29" } @@ -27754,7 +27754,7 @@ }, "documentation": null, "functionSelector": "b6f9de95", - "id": 9118, + "id": 9281, "implemented": true, "kind": "function", "modifiers": [ @@ -27762,11 +27762,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9034, + "id": 9197, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9030, + "referencedDeclaration": 9193, "src": "15810:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27774,14 +27774,14 @@ } } ], - "id": 9035, + "id": 9198, "modifierName": { "argumentTypes": null, - "id": 9033, + "id": 9196, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "15803:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -27795,23 +27795,23 @@ "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 9032, + "id": 9195, "nodeType": "OverrideSpecifier", "overrides": [], "src": "15770:8:29" }, "parameters": { - "id": 9031, + "id": 9194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9023, + "id": 9186, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15629:17:29", "stateVariable": false, "storageLocation": "default", @@ -27820,7 +27820,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9022, + "id": 9185, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15629:4:29", @@ -27834,12 +27834,12 @@ }, { "constant": false, - "id": 9026, + "id": 9189, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15656:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -27849,7 +27849,7 @@ }, "typeName": { "baseType": { - "id": 9024, + "id": 9187, "name": "address", "nodeType": "ElementaryTypeName", "src": "15656:7:29", @@ -27859,7 +27859,7 @@ "typeString": "address" } }, - "id": 9025, + "id": 9188, "length": null, "nodeType": "ArrayTypeName", "src": "15656:9:29", @@ -27873,12 +27873,12 @@ }, { "constant": false, - "id": 9028, + "id": 9191, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15689:10:29", "stateVariable": false, "storageLocation": "default", @@ -27887,7 +27887,7 @@ "typeString": "address" }, "typeName": { - "id": 9027, + "id": 9190, "name": "address", "nodeType": "ElementaryTypeName", "src": "15689:7:29", @@ -27902,12 +27902,12 @@ }, { "constant": false, - "id": 9030, + "id": 9193, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15709:13:29", "stateVariable": false, "storageLocation": "default", @@ -27916,7 +27916,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9029, + "id": 9192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15709:4:29", @@ -27932,12 +27932,12 @@ "src": "15619:109:29" }, "returnParameters": { - "id": 9036, + "id": 9199, "nodeType": "ParameterList", "parameters": [], "src": "15824:0:29" }, - "scope": 9312, + "scope": 9475, "src": "15560:828:29", "stateMutability": "payable", "virtual": true, @@ -27945,10 +27945,10 @@ }, { "baseFunctions": [ - 9791 + 9954 ], "body": { - "id": 9210, + "id": 9373, "nodeType": "Block", "src": "16664:551:29", "statements": [ @@ -27962,7 +27962,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9144, + "id": 9307, "isConstant": false, "isLValue": false, "isPure": false, @@ -27971,25 +27971,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9137, + "id": 9300, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16682:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9142, + "id": 9305, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9141, + "id": 9304, "isConstant": false, "isLValue": false, "isPure": false, @@ -27998,18 +27998,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9138, + "id": 9301, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16687:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9139, + "id": 9302, "isConstant": false, "isLValue": false, "isPure": false, @@ -28028,7 +28028,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9140, + "id": 9303, "isConstant": false, "isLValue": false, "isPure": true, @@ -28064,11 +28064,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 9143, + "id": 9306, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "16707:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28084,7 +28084,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 9145, + "id": 9308, "isConstant": false, "isLValue": false, "isPure": true, @@ -28111,7 +28111,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 9136, + "id": 9299, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28125,7 +28125,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9146, + "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, @@ -28140,7 +28140,7 @@ "typeString": "tuple()" } }, - "id": 9147, + "id": 9310, "nodeType": "ExpressionStatement", "src": "16674:71:29" }, @@ -28152,22 +28152,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9151, + "id": 9314, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16800:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9153, + "id": 9316, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9152, + "id": 9315, "isConstant": false, "isLValue": false, "isPure": true, @@ -28197,7 +28197,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9154, + "id": 9317, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28208,7 +28208,7 @@ "typeString": "msg" } }, - "id": 9155, + "id": 9318, "isConstant": false, "isLValue": false, "isPure": false, @@ -28227,11 +28227,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9158, + "id": 9321, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "16846:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28242,22 +28242,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9159, + "id": 9322, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16855:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9161, + "id": 9324, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9160, + "id": 9323, "isConstant": false, "isLValue": false, "isPure": true, @@ -28287,22 +28287,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9162, + "id": 9325, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16864:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9164, + "id": 9327, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9163, + "id": 9326, "isConstant": false, "isLValue": false, "isPure": true, @@ -28346,32 +28346,32 @@ ], "expression": { "argumentTypes": null, - "id": 9156, + "id": 9319, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "16821:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9157, + "id": 9320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "16821:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 9165, + "id": 9328, "isConstant": false, "isLValue": false, "isPure": false, @@ -28388,11 +28388,11 @@ }, { "argumentTypes": null, - "id": 9166, + "id": 9329, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9120, + "referencedDeclaration": 9283, "src": "16874:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28421,32 +28421,32 @@ ], "expression": { "argumentTypes": null, - "id": 9148, + "id": 9311, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "16755:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 9150, + "id": 9313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "16755:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 9167, + "id": 9330, "isConstant": false, "isLValue": false, "isPure": false, @@ -28461,7 +28461,7 @@ "typeString": "tuple()" } }, - "id": 9168, + "id": 9331, "nodeType": "ExpressionStatement", "src": "16755:137:29" }, @@ -28471,11 +28471,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9170, + "id": 9333, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16937:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -28487,14 +28487,14 @@ "arguments": [ { "argumentTypes": null, - "id": 9173, + "id": 9336, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "16951:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -28502,11 +28502,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 9172, + "id": 9335, "isConstant": false, "isLValue": false, "isPure": true, @@ -28518,7 +28518,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9171, + "id": 9334, "name": "address", "nodeType": "ElementaryTypeName", "src": "16943:7:29", @@ -28528,7 +28528,7 @@ } } }, - "id": 9174, + "id": 9337, "isConstant": false, "isLValue": false, "isPure": false, @@ -28555,18 +28555,18 @@ "typeString": "address payable" } ], - "id": 9169, + "id": 9332, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "16902:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 9175, + "id": 9338, "isConstant": false, "isLValue": false, "isPure": false, @@ -28581,23 +28581,23 @@ "typeString": "tuple()" } }, - "id": 9176, + "id": 9339, "nodeType": "ExpressionStatement", "src": "16902:55:29" }, { "assignments": [ - 9178 + 9341 ], "declarations": [ { "constant": false, - "id": 9178, + "id": 9341, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9210, + "scope": 9373, "src": "16967:14:29", "stateVariable": false, "storageLocation": "default", @@ -28606,7 +28606,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9177, + "id": 9340, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16967:4:29", @@ -28619,7 +28619,7 @@ "visibility": "internal" } ], - "id": 9188, + "id": 9351, "initialValue": { "argumentTypes": null, "arguments": [ @@ -28628,14 +28628,14 @@ "arguments": [ { "argumentTypes": null, - "id": 9185, + "id": 9348, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "17015:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -28643,11 +28643,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 9184, + "id": 9347, "isConstant": false, "isLValue": false, "isPure": true, @@ -28659,7 +28659,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9183, + "id": 9346, "name": "address", "nodeType": "ElementaryTypeName", "src": "17007:7:29", @@ -28669,7 +28669,7 @@ } } }, - "id": 9186, + "id": 9349, "isConstant": false, "isLValue": false, "isPure": false, @@ -28697,11 +28697,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9180, + "id": 9343, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "16991:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28716,18 +28716,18 @@ "typeString": "address" } ], - "id": 9179, + "id": 9342, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16984:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9181, + "id": 9344, "isConstant": false, "isLValue": false, "isPure": false, @@ -28738,25 +28738,25 @@ "src": "16984:12:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9182, + "id": 9345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16984:22:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9187, + "id": 9350, "isConstant": false, "isLValue": false, "isPure": false, @@ -28784,18 +28784,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9192, + "id": 9355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9190, + "id": 9353, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17039:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28806,11 +28806,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9191, + "id": 9354, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9122, + "referencedDeclaration": 9285, "src": "17052:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28826,7 +28826,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9193, + "id": 9356, "isConstant": false, "isLValue": false, "isPure": true, @@ -28853,7 +28853,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9189, + "id": 9352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -28867,7 +28867,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9194, + "id": 9357, "isConstant": false, "isLValue": false, "isPure": false, @@ -28882,7 +28882,7 @@ "typeString": "tuple()" } }, - "id": 9195, + "id": 9358, "nodeType": "ExpressionStatement", "src": "17031:81:29" }, @@ -28892,11 +28892,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9200, + "id": 9363, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17143:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28916,11 +28916,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9197, + "id": 9360, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "17128:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28935,18 +28935,18 @@ "typeString": "address" } ], - "id": 9196, + "id": 9359, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "17122:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9198, + "id": 9361, "isConstant": false, "isLValue": false, "isPure": false, @@ -28957,25 +28957,25 @@ "src": "17122:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9199, + "id": 9362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "17122:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 9201, + "id": 9364, "isConstant": false, "isLValue": false, "isPure": false, @@ -28990,7 +28990,7 @@ "typeString": "tuple()" } }, - "id": 9202, + "id": 9365, "nodeType": "ExpressionStatement", "src": "17122:31:29" }, @@ -29000,11 +29000,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9206, + "id": 9369, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, + "referencedDeclaration": 9290, "src": "17194:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29013,11 +29013,11 @@ }, { "argumentTypes": null, - "id": 9207, + "id": 9370, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17198:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29038,32 +29038,32 @@ ], "expression": { "argumentTypes": null, - "id": 9203, + "id": 9366, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "17163:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 9205, + "id": 9368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "17163:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9208, + "id": 9371, "isConstant": false, "isLValue": false, "isPure": false, @@ -29078,7 +29078,7 @@ "typeString": "tuple()" } }, - "id": 9209, + "id": 9372, "nodeType": "ExpressionStatement", "src": "17163:45:29" } @@ -29086,7 +29086,7 @@ }, "documentation": null, "functionSelector": "791ac947", - "id": 9211, + "id": 9374, "implemented": true, "kind": "function", "modifiers": [ @@ -29094,11 +29094,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9133, + "id": 9296, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, + "referencedDeclaration": 9292, "src": "16650:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29106,14 +29106,14 @@ } } ], - "id": 9134, + "id": 9297, "modifierName": { "argumentTypes": null, - "id": 9132, + "id": 9295, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "16643:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -29127,23 +29127,23 @@ "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 9131, + "id": 9294, "nodeType": "OverrideSpecifier", "overrides": [], "src": "16626:8:29" }, "parameters": { - "id": 9130, + "id": 9293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9120, + "id": 9283, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16462:13:29", "stateVariable": false, "storageLocation": "default", @@ -29152,7 +29152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9119, + "id": 9282, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16462:4:29", @@ -29166,12 +29166,12 @@ }, { "constant": false, - "id": 9122, + "id": 9285, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16485:17:29", "stateVariable": false, "storageLocation": "default", @@ -29180,7 +29180,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9121, + "id": 9284, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16485:4:29", @@ -29194,12 +29194,12 @@ }, { "constant": false, - "id": 9125, + "id": 9288, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16512:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -29209,7 +29209,7 @@ }, "typeName": { "baseType": { - "id": 9123, + "id": 9286, "name": "address", "nodeType": "ElementaryTypeName", "src": "16512:7:29", @@ -29219,7 +29219,7 @@ "typeString": "address" } }, - "id": 9124, + "id": 9287, "length": null, "nodeType": "ArrayTypeName", "src": "16512:9:29", @@ -29233,12 +29233,12 @@ }, { "constant": false, - "id": 9127, + "id": 9290, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16545:10:29", "stateVariable": false, "storageLocation": "default", @@ -29247,7 +29247,7 @@ "typeString": "address" }, "typeName": { - "id": 9126, + "id": 9289, "name": "address", "nodeType": "ElementaryTypeName", "src": "16545:7:29", @@ -29262,12 +29262,12 @@ }, { "constant": false, - "id": 9129, + "id": 9292, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16565:13:29", "stateVariable": false, "storageLocation": "default", @@ -29276,7 +29276,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9128, + "id": 9291, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16565:4:29", @@ -29292,12 +29292,12 @@ "src": "16452:132:29" }, "returnParameters": { - "id": 9135, + "id": 9298, "nodeType": "ParameterList", "parameters": [], "src": "16664:0:29" }, - "scope": 9312, + "scope": 9475, "src": "16393:822:29", "stateMutability": "nonpayable", "virtual": true, @@ -29305,10 +29305,10 @@ }, { "baseFunctions": [ - 9659 + 9822 ], "body": { - "id": 9230, + "id": 9393, "nodeType": "Block", "src": "17367:75:29", "statements": [ @@ -29318,11 +29318,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9225, + "id": 9388, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9213, + "referencedDeclaration": 9376, "src": "17407:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29331,11 +29331,11 @@ }, { "argumentTypes": null, - "id": 9226, + "id": 9389, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9215, + "referencedDeclaration": 9378, "src": "17416:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29344,11 +29344,11 @@ }, { "argumentTypes": null, - "id": 9227, + "id": 9390, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9217, + "referencedDeclaration": 9380, "src": "17426:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29373,32 +29373,32 @@ ], "expression": { "argumentTypes": null, - "id": 9223, + "id": 9386, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17384:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9224, + "id": 9387, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "17384:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9228, + "id": 9391, "isConstant": false, "isLValue": false, "isPure": false, @@ -29413,8 +29413,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9222, - "id": 9229, + "functionReturnParameters": 9385, + "id": 9392, "nodeType": "Return", "src": "17377:58:29" } @@ -29422,30 +29422,30 @@ }, "documentation": null, "functionSelector": "ad615dec", - "id": 9231, + "id": 9394, "implemented": true, "kind": "function", "modifiers": [], "name": "quote", "nodeType": "FunctionDefinition", "overrides": { - "id": 9219, + "id": 9382, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17335:8:29" }, "parameters": { - "id": 9218, + "id": 9381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9213, + "id": 9376, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17271:12:29", "stateVariable": false, "storageLocation": "default", @@ -29454,7 +29454,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9212, + "id": 9375, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17271:4:29", @@ -29468,12 +29468,12 @@ }, { "constant": false, - "id": 9215, + "id": 9378, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17285:13:29", "stateVariable": false, "storageLocation": "default", @@ -29482,7 +29482,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9214, + "id": 9377, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17285:4:29", @@ -29496,12 +29496,12 @@ }, { "constant": false, - "id": 9217, + "id": 9380, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17300:13:29", "stateVariable": false, "storageLocation": "default", @@ -29510,7 +29510,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9216, + "id": 9379, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17300:4:29", @@ -29526,17 +29526,17 @@ "src": "17270:44:29" }, "returnParameters": { - "id": 9222, + "id": 9385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9221, + "id": 9384, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17353:12:29", "stateVariable": false, "storageLocation": "default", @@ -29545,7 +29545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9220, + "id": 9383, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17353:4:29", @@ -29560,7 +29560,7 @@ ], "src": "17352:14:29" }, - "scope": 9312, + "scope": 9475, "src": "17256:186:29", "stateMutability": "pure", "virtual": true, @@ -29568,10 +29568,10 @@ }, { "baseFunctions": [ - 9670 + 9833 ], "body": { - "id": 9250, + "id": 9413, "nodeType": "Block", "src": "17616:86:29", "statements": [ @@ -29581,11 +29581,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9245, + "id": 9408, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9233, + "referencedDeclaration": 9396, "src": "17663:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29594,11 +29594,11 @@ }, { "argumentTypes": null, - "id": 9246, + "id": 9409, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9235, + "referencedDeclaration": 9398, "src": "17673:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29607,11 +29607,11 @@ }, { "argumentTypes": null, - "id": 9247, + "id": 9410, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9237, + "referencedDeclaration": 9400, "src": "17684:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29636,32 +29636,32 @@ ], "expression": { "argumentTypes": null, - "id": 9243, + "id": 9406, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17633:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9244, + "id": 9407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "17633:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9248, + "id": 9411, "isConstant": false, "isLValue": false, "isPure": false, @@ -29676,8 +29676,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9242, - "id": 9249, + "functionReturnParameters": 9405, + "id": 9412, "nodeType": "Return", "src": "17626:69:29" } @@ -29685,30 +29685,30 @@ }, "documentation": null, "functionSelector": "054d50d4", - "id": 9251, + "id": 9414, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountOut", "nodeType": "FunctionDefinition", "overrides": { - "id": 9239, + "id": 9402, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17570:8:29" }, "parameters": { - "id": 9238, + "id": 9401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9233, + "id": 9396, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17470:13:29", "stateVariable": false, "storageLocation": "default", @@ -29717,7 +29717,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9232, + "id": 9395, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17470:4:29", @@ -29731,12 +29731,12 @@ }, { "constant": false, - "id": 9235, + "id": 9398, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17485:14:29", "stateVariable": false, "storageLocation": "default", @@ -29745,7 +29745,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9234, + "id": 9397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17485:4:29", @@ -29759,12 +29759,12 @@ }, { "constant": false, - "id": 9237, + "id": 9400, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17501:15:29", "stateVariable": false, "storageLocation": "default", @@ -29773,7 +29773,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9236, + "id": 9399, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17501:4:29", @@ -29789,17 +29789,17 @@ "src": "17469:48:29" }, "returnParameters": { - "id": 9242, + "id": 9405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9241, + "id": 9404, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17596:14:29", "stateVariable": false, "storageLocation": "default", @@ -29808,7 +29808,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9240, + "id": 9403, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17596:4:29", @@ -29823,7 +29823,7 @@ ], "src": "17595:16:29" }, - "scope": 9312, + "scope": 9475, "src": "17448:254:29", "stateMutability": "pure", "virtual": true, @@ -29831,10 +29831,10 @@ }, { "baseFunctions": [ - 9681 + 9844 ], "body": { - "id": 9270, + "id": 9433, "nodeType": "Block", "src": "17875:86:29", "statements": [ @@ -29844,11 +29844,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9265, + "id": 9428, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9253, + "referencedDeclaration": 9416, "src": "17921:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29857,11 +29857,11 @@ }, { "argumentTypes": null, - "id": 9266, + "id": 9429, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9255, + "referencedDeclaration": 9418, "src": "17932:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29870,11 +29870,11 @@ }, { "argumentTypes": null, - "id": 9267, + "id": 9430, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9257, + "referencedDeclaration": 9420, "src": "17943:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29899,32 +29899,32 @@ ], "expression": { "argumentTypes": null, - "id": 9263, + "id": 9426, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17892:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9264, + "id": 9427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10192, + "referencedDeclaration": 10355, "src": "17892:28:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9268, + "id": 9431, "isConstant": false, "isLValue": false, "isPure": false, @@ -29939,8 +29939,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9262, - "id": 9269, + "functionReturnParameters": 9425, + "id": 9432, "nodeType": "Return", "src": "17885:69:29" } @@ -29948,30 +29948,30 @@ }, "documentation": null, "functionSelector": "85f8c259", - "id": 9271, + "id": 9434, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountIn", "nodeType": "FunctionDefinition", "overrides": { - "id": 9259, + "id": 9422, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17830:8:29" }, "parameters": { - "id": 9258, + "id": 9421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9253, + "id": 9416, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17729:14:29", "stateVariable": false, "storageLocation": "default", @@ -29980,7 +29980,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9252, + "id": 9415, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17729:4:29", @@ -29994,12 +29994,12 @@ }, { "constant": false, - "id": 9255, + "id": 9418, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17745:14:29", "stateVariable": false, "storageLocation": "default", @@ -30008,7 +30008,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9254, + "id": 9417, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17745:4:29", @@ -30022,12 +30022,12 @@ }, { "constant": false, - "id": 9257, + "id": 9420, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17761:15:29", "stateVariable": false, "storageLocation": "default", @@ -30036,7 +30036,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9256, + "id": 9419, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17761:4:29", @@ -30052,17 +30052,17 @@ "src": "17728:49:29" }, "returnParameters": { - "id": 9262, + "id": 9425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9261, + "id": 9424, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17856:13:29", "stateVariable": false, "storageLocation": "default", @@ -30071,7 +30071,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9260, + "id": 9423, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17856:4:29", @@ -30086,7 +30086,7 @@ ], "src": "17855:15:29" }, - "scope": 9312, + "scope": 9475, "src": "17708:253:29", "stateMutability": "pure", "virtual": true, @@ -30094,10 +30094,10 @@ }, { "baseFunctions": [ - 9692 + 9855 ], "body": { - "id": 9290, + "id": 9453, "nodeType": "Block", "src": "18133:79:29", "statements": [ @@ -30107,11 +30107,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9285, + "id": 9448, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "18181:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30120,11 +30120,11 @@ }, { "argumentTypes": null, - "id": 9286, + "id": 9449, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, + "referencedDeclaration": 9436, "src": "18190:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30133,11 +30133,11 @@ }, { "argumentTypes": null, - "id": 9287, + "id": 9450, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9276, + "referencedDeclaration": 9439, "src": "18200:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -30162,32 +30162,32 @@ ], "expression": { "argumentTypes": null, - "id": 9283, + "id": 9446, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "18150:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9284, + "id": 9447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "18150:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 9288, + "id": 9451, "isConstant": false, "isLValue": false, "isPure": false, @@ -30202,8 +30202,8 @@ "typeString": "uint256[] memory" } }, - "functionReturnParameters": 9282, - "id": 9289, + "functionReturnParameters": 9445, + "id": 9452, "nodeType": "Return", "src": "18143:62:29" } @@ -30211,30 +30211,30 @@ }, "documentation": null, "functionSelector": "d06ca61f", - "id": 9291, + "id": 9454, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountsOut", "nodeType": "FunctionDefinition", "overrides": { - "id": 9278, + "id": 9441, "nodeType": "OverrideSpecifier", "overrides": [], "src": "18080:8:29" }, "parameters": { - "id": 9277, + "id": 9440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9273, + "id": 9436, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "17990:13:29", "stateVariable": false, "storageLocation": "default", @@ -30243,7 +30243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9272, + "id": 9435, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17990:4:29", @@ -30257,12 +30257,12 @@ }, { "constant": false, - "id": 9276, + "id": 9439, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "18005:21:29", "stateVariable": false, "storageLocation": "memory", @@ -30272,7 +30272,7 @@ }, "typeName": { "baseType": { - "id": 9274, + "id": 9437, "name": "address", "nodeType": "ElementaryTypeName", "src": "18005:7:29", @@ -30282,7 +30282,7 @@ "typeString": "address" } }, - "id": 9275, + "id": 9438, "length": null, "nodeType": "ArrayTypeName", "src": "18005:9:29", @@ -30298,17 +30298,17 @@ "src": "17989:38:29" }, "returnParameters": { - "id": 9282, + "id": 9445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9281, + "id": 9444, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "18106:21:29", "stateVariable": false, "storageLocation": "memory", @@ -30318,7 +30318,7 @@ }, "typeName": { "baseType": { - "id": 9279, + "id": 9442, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18106:4:29", @@ -30327,7 +30327,7 @@ "typeString": "uint256" } }, - "id": 9280, + "id": 9443, "length": null, "nodeType": "ArrayTypeName", "src": "18106:6:29", @@ -30342,7 +30342,7 @@ ], "src": "18105:23:29" }, - "scope": 9312, + "scope": 9475, "src": "17967:245:29", "stateMutability": "view", "virtual": true, @@ -30350,10 +30350,10 @@ }, { "baseFunctions": [ - 9703 + 9866 ], "body": { - "id": 9310, + "id": 9473, "nodeType": "Block", "src": "18384:79:29", "statements": [ @@ -30363,11 +30363,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9305, + "id": 9468, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "18431:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30376,11 +30376,11 @@ }, { "argumentTypes": null, - "id": 9306, + "id": 9469, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9293, + "referencedDeclaration": 9456, "src": "18440:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30389,11 +30389,11 @@ }, { "argumentTypes": null, - "id": 9307, + "id": 9470, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9296, + "referencedDeclaration": 9459, "src": "18451:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -30418,32 +30418,32 @@ ], "expression": { "argumentTypes": null, - "id": 9303, + "id": 9466, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "18401:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9304, + "id": 9467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "18401:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 9308, + "id": 9471, "isConstant": false, "isLValue": false, "isPure": false, @@ -30458,8 +30458,8 @@ "typeString": "uint256[] memory" } }, - "functionReturnParameters": 9302, - "id": 9309, + "functionReturnParameters": 9465, + "id": 9472, "nodeType": "Return", "src": "18394:62:29" } @@ -30467,30 +30467,30 @@ }, "documentation": null, "functionSelector": "1f00ca74", - "id": 9311, + "id": 9474, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountsIn", "nodeType": "FunctionDefinition", "overrides": { - "id": 9298, + "id": 9461, "nodeType": "OverrideSpecifier", "overrides": [], "src": "18331:8:29" }, "parameters": { - "id": 9297, + "id": 9460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9293, + "id": 9456, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18240:14:29", "stateVariable": false, "storageLocation": "default", @@ -30499,7 +30499,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9292, + "id": 9455, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18240:4:29", @@ -30513,12 +30513,12 @@ }, { "constant": false, - "id": 9296, + "id": 9459, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18256:21:29", "stateVariable": false, "storageLocation": "memory", @@ -30528,7 +30528,7 @@ }, "typeName": { "baseType": { - "id": 9294, + "id": 9457, "name": "address", "nodeType": "ElementaryTypeName", "src": "18256:7:29", @@ -30538,7 +30538,7 @@ "typeString": "address" } }, - "id": 9295, + "id": 9458, "length": null, "nodeType": "ArrayTypeName", "src": "18256:9:29", @@ -30554,17 +30554,17 @@ "src": "18239:39:29" }, "returnParameters": { - "id": 9302, + "id": 9465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9301, + "id": 9464, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18357:21:29", "stateVariable": false, "storageLocation": "memory", @@ -30574,7 +30574,7 @@ }, "typeName": { "baseType": { - "id": 9299, + "id": 9462, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18357:4:29", @@ -30583,7 +30583,7 @@ "typeString": "uint256" } }, - "id": 9300, + "id": 9463, "length": null, "nodeType": "ArrayTypeName", "src": "18357:6:29", @@ -30598,14 +30598,14 @@ ], "src": "18356:23:29" }, - "scope": 9312, + "scope": 9475, "src": "18218:245:29", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 9313, + "scope": 9476, "src": "350:18115:29" } ], @@ -30615,14 +30615,14 @@ "absolutePath": "@uniswap/v2-periphery/contracts/UniswapV2Router02.sol", "exportedSymbols": { "UniswapV2Router02": [ - 9312 + 9475 ] }, - "id": 9313, + "id": 9476, "nodeType": "SourceUnit", "nodes": [ { - "id": 7276, + "id": 7439, "literals": [ "solidity", "=", @@ -30635,10 +30635,10 @@ { "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", "file": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol", - "id": 7277, + "id": 7440, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 7033, + "scope": 9476, + "sourceUnit": 7196, "src": "25:69:29", "symbolAliases": [], "unitAlias": "" @@ -30646,10 +30646,10 @@ { "absolutePath": "@uniswap/lib/contracts/libraries/TransferHelper.sol", "file": "@uniswap/lib/contracts/libraries/TransferHelper.sol", - "id": 7278, + "id": 7441, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 6970, + "scope": 9476, + "sourceUnit": 7133, "src": "95:61:29", "symbolAliases": [], "unitAlias": "" @@ -30657,10 +30657,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol", "file": "./interfaces/IUniswapV2Router02.sol", - "id": 7279, + "id": 7442, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9793, + "scope": 9476, + "sourceUnit": 9956, "src": "158:45:29", "symbolAliases": [], "unitAlias": "" @@ -30668,10 +30668,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/UniswapV2Library.sol", "file": "./libraries/UniswapV2Library.sol", - "id": 7280, + "id": 7443, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 10360, + "scope": 9476, + "sourceUnit": 10523, "src": "204:42:29", "symbolAliases": [], "unitAlias": "" @@ -30679,10 +30679,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/libraries/SafeMath.sol", "file": "./libraries/SafeMath.sol", - "id": 7281, + "id": 7444, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9888, + "scope": 9476, + "sourceUnit": 10051, "src": "247:34:29", "symbolAliases": [], "unitAlias": "" @@ -30690,10 +30690,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IERC20.sol", "file": "./interfaces/IERC20.sol", - "id": 7282, + "id": 7445, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9397, + "scope": 9476, + "sourceUnit": 9560, "src": "282:33:29", "symbolAliases": [], "unitAlias": "" @@ -30701,10 +30701,10 @@ { "absolutePath": "@uniswap/v2-periphery/contracts/interfaces/IWETH.sol", "file": "./interfaces/IWETH.sol", - "id": 7283, + "id": 7446, "nodeType": "ImportDirective", - "scope": 9313, - "sourceUnit": 9813, + "scope": 9476, + "sourceUnit": 9976, "src": "316:32:29", "symbolAliases": [], "unitAlias": "" @@ -30716,55 +30716,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 7284, + "id": 7447, "name": "IUniswapV2Router02", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9792, + "referencedDeclaration": 9955, "src": "380:18:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Router02_$9792", + "typeIdentifier": "t_contract$_IUniswapV2Router02_$9955", "typeString": "contract IUniswapV2Router02" } }, - "id": 7285, + "id": 7448, "nodeType": "InheritanceSpecifier", "src": "380:18:29" } ], "contractDependencies": [ - 9704, - 9792 + 9867, + 9955 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 9312, + "id": 9475, "linearizedBaseContracts": [ - 9312, - 9792, - 9704 + 9475, + 9955, + 9867 ], "name": "UniswapV2Router02", "nodeType": "ContractDefinition", "nodes": [ { - "id": 7288, + "id": 7451, "libraryName": { "contractScope": null, - "id": 7286, + "id": 7449, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9887, + "referencedDeclaration": 10050, "src": "411:8:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$9887", + "typeIdentifier": "t_contract$_SafeMath_$10050", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "405:24:29", "typeName": { - "id": 7287, + "id": 7450, "name": "uint", "nodeType": "ElementaryTypeName", "src": "424:4:29", @@ -30776,21 +30776,21 @@ }, { "baseFunctions": [ - 9403 + 9566 ], "constant": false, "functionSelector": "c45a0155", - "id": 7291, + "id": 7454, "mutability": "immutable", "name": "factory", "nodeType": "VariableDeclaration", "overrides": { - "id": 7290, + "id": 7453, "nodeType": "OverrideSpecifier", "overrides": [], "src": "460:8:29" }, - "scope": 9312, + "scope": 9475, "src": "435:41:29", "stateVariable": true, "storageLocation": "default", @@ -30799,7 +30799,7 @@ "typeString": "address" }, "typeName": { - "id": 7289, + "id": 7452, "name": "address", "nodeType": "ElementaryTypeName", "src": "435:7:29", @@ -30814,21 +30814,21 @@ }, { "baseFunctions": [ - 9408 + 9571 ], "constant": false, "functionSelector": "ad5c4648", - "id": 7294, + "id": 7457, "mutability": "immutable", "name": "WETH", "nodeType": "VariableDeclaration", "overrides": { - "id": 7293, + "id": 7456, "nodeType": "OverrideSpecifier", "overrides": [], "src": "507:8:29" }, - "scope": 9312, + "scope": 9475, "src": "482:38:29", "stateVariable": true, "storageLocation": "default", @@ -30837,7 +30837,7 @@ "typeString": "address" }, "typeName": { - "id": 7292, + "id": 7455, "name": "address", "nodeType": "ElementaryTypeName", "src": "482:7:29", @@ -30852,7 +30852,7 @@ }, { "body": { - "id": 7307, + "id": 7470, "nodeType": "Block", "src": "558:92:29", "statements": [ @@ -30866,18 +30866,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7302, + "id": 7465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7299, + "id": 7462, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7296, + "referencedDeclaration": 7459, "src": "576:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30890,7 +30890,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7300, + "id": 7463, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -30901,7 +30901,7 @@ "typeString": "block" } }, - "id": 7301, + "id": 7464, "isConstant": false, "isLValue": false, "isPure": false, @@ -30924,7 +30924,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a2045585049524544", - "id": 7303, + "id": 7466, "isConstant": false, "isLValue": false, "isPure": true, @@ -30951,7 +30951,7 @@ "typeString": "literal_string \"UniswapV2Router: EXPIRED\"" } ], - "id": 7298, + "id": 7461, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30965,7 +30965,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7304, + "id": 7467, "isConstant": false, "isLValue": false, "isPure": false, @@ -30980,34 +30980,34 @@ "typeString": "tuple()" } }, - "id": 7305, + "id": 7468, "nodeType": "ExpressionStatement", "src": "568:64:29" }, { - "id": 7306, + "id": 7469, "nodeType": "PlaceholderStatement", "src": "642:1:29" } ] }, "documentation": null, - "id": 7308, + "id": 7471, "name": "ensure", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { - "id": 7297, + "id": 7460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7296, + "id": 7459, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7308, + "scope": 7471, "src": "543:13:29", "stateVariable": false, "storageLocation": "default", @@ -31016,7 +31016,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7295, + "id": 7458, "name": "uint", "nodeType": "ElementaryTypeName", "src": "543:4:29", @@ -31037,25 +31037,25 @@ }, { "body": { - "id": 7323, + "id": 7486, "nodeType": "Block", "src": "708:57:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7317, + "id": 7480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7315, + "id": 7478, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "718:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31066,11 +31066,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7316, + "id": 7479, "name": "_factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7310, + "referencedDeclaration": 7473, "src": "728:8:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31083,25 +31083,25 @@ "typeString": "address" } }, - "id": 7318, + "id": 7481, "nodeType": "ExpressionStatement", "src": "718:18:29" }, { "expression": { "argumentTypes": null, - "id": 7321, + "id": 7484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7319, + "id": 7482, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "746:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31112,11 +31112,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7320, + "id": 7483, "name": "_WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7312, + "referencedDeclaration": 7475, "src": "753:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31129,14 +31129,14 @@ "typeString": "address" } }, - "id": 7322, + "id": 7485, "nodeType": "ExpressionStatement", "src": "746:12:29" } ] }, "documentation": null, - "id": 7324, + "id": 7487, "implemented": true, "kind": "constructor", "modifiers": [], @@ -31144,17 +31144,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7313, + "id": 7476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7310, + "id": 7473, "mutability": "mutable", "name": "_factory", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7324, + "scope": 7487, "src": "668:16:29", "stateVariable": false, "storageLocation": "default", @@ -31163,7 +31163,7 @@ "typeString": "address" }, "typeName": { - "id": 7309, + "id": 7472, "name": "address", "nodeType": "ElementaryTypeName", "src": "668:7:29", @@ -31178,12 +31178,12 @@ }, { "constant": false, - "id": 7312, + "id": 7475, "mutability": "mutable", "name": "_WETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7324, + "scope": 7487, "src": "686:13:29", "stateVariable": false, "storageLocation": "default", @@ -31192,7 +31192,7 @@ "typeString": "address" }, "typeName": { - "id": 7311, + "id": 7474, "name": "address", "nodeType": "ElementaryTypeName", "src": "686:7:29", @@ -31209,12 +31209,12 @@ "src": "667:33:29" }, "returnParameters": { - "id": 7314, + "id": 7477, "nodeType": "ParameterList", "parameters": [], "src": "708:0:29" }, - "scope": 9312, + "scope": 9475, "src": "656:109:29", "stateMutability": "nonpayable", "virtual": false, @@ -31222,7 +31222,7 @@ }, { "body": { - "id": 7334, + "id": 7497, "nodeType": "Block", "src": "798:98:29", "statements": [ @@ -31236,7 +31236,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7331, + "id": 7494, "isConstant": false, "isLValue": false, "isPure": false, @@ -31245,7 +31245,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7328, + "id": 7491, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -31256,7 +31256,7 @@ "typeString": "msg" } }, - "id": 7329, + "id": 7492, "isConstant": false, "isLValue": false, "isPure": false, @@ -31274,11 +31274,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7330, + "id": 7493, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "829:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31299,7 +31299,7 @@ "typeString": "bool" } ], - "id": 7327, + "id": 7490, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -31310,7 +31310,7 @@ "typeString": "function (bool) pure" } }, - "id": 7332, + "id": 7495, "isConstant": false, "isLValue": false, "isPure": false, @@ -31325,14 +31325,14 @@ "typeString": "tuple()" } }, - "id": 7333, + "id": 7496, "nodeType": "ExpressionStatement", "src": "808:26:29" } ] }, "documentation": null, - "id": 7335, + "id": 7498, "implemented": true, "kind": "receive", "modifiers": [], @@ -31340,18 +31340,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7325, + "id": 7488, "nodeType": "ParameterList", "parameters": [], "src": "778:2:29" }, "returnParameters": { - "id": 7326, + "id": 7489, "nodeType": "ParameterList", "parameters": [], "src": "798:0:29" }, - "scope": 9312, + "scope": 9475, "src": "771:125:29", "stateMutability": "payable", "virtual": false, @@ -31359,7 +31359,7 @@ }, { "body": { - "id": 7465, + "id": 7628, "nodeType": "Block", "src": "1172:1124:29", "statements": [ @@ -31370,7 +31370,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7365, + "id": 7528, "isConstant": false, "isLValue": false, "isPure": false, @@ -31380,11 +31380,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7358, + "id": 7521, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1272:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31393,11 +31393,11 @@ }, { "argumentTypes": null, - "id": 7359, + "id": 7522, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1280:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31421,11 +31421,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7355, + "id": 7518, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1255:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31440,18 +31440,18 @@ "typeString": "address" } ], - "id": 7354, + "id": 7517, "name": "IUniswapV2Factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7032, + "referencedDeclaration": 7195, "src": "1237:17:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7032_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7195_$", "typeString": "type(contract IUniswapV2Factory)" } }, - "id": 7356, + "id": 7519, "isConstant": false, "isLValue": false, "isPure": false, @@ -31462,25 +31462,25 @@ "src": "1237:26:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$7032", + "typeIdentifier": "t_contract$_IUniswapV2Factory_$7195", "typeString": "contract IUniswapV2Factory" } }, - "id": 7357, + "id": 7520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getPair", "nodeType": "MemberAccess", - "referencedDeclaration": 7000, + "referencedDeclaration": 7163, "src": "1237:34:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) view external returns (address)" } }, - "id": 7360, + "id": 7523, "isConstant": false, "isLValue": false, "isPure": false, @@ -31503,7 +31503,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 7363, + "id": 7526, "isConstant": false, "isLValue": false, "isPure": true, @@ -31526,7 +31526,7 @@ "typeString": "int_const 0" } ], - "id": 7362, + "id": 7525, "isConstant": false, "isLValue": false, "isPure": true, @@ -31538,7 +31538,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7361, + "id": 7524, "name": "address", "nodeType": "ElementaryTypeName", "src": "1291:7:29", @@ -31548,7 +31548,7 @@ } } }, - "id": 7364, + "id": 7527, "isConstant": false, "isLValue": false, "isPure": true, @@ -31570,11 +31570,11 @@ } }, "falseBody": null, - "id": 7375, + "id": 7538, "nodeType": "IfStatement", "src": "1233:148:29", "trueBody": { - "id": 7374, + "id": 7537, "nodeType": "Block", "src": "1303:78:29", "statements": [ @@ -31584,11 +31584,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7370, + "id": 7533, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1355:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31597,11 +31597,11 @@ }, { "argumentTypes": null, - "id": 7371, + "id": 7534, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1363:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31625,11 +31625,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7367, + "id": 7530, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1335:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31644,18 +31644,18 @@ "typeString": "address" } ], - "id": 7366, + "id": 7529, "name": "IUniswapV2Factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7032, + "referencedDeclaration": 7195, "src": "1317:17:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7032_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Factory_$7195_$", "typeString": "type(contract IUniswapV2Factory)" } }, - "id": 7368, + "id": 7531, "isConstant": false, "isLValue": false, "isPure": false, @@ -31666,25 +31666,25 @@ "src": "1317:26:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Factory_$7032", + "typeIdentifier": "t_contract$_IUniswapV2Factory_$7195", "typeString": "contract IUniswapV2Factory" } }, - "id": 7369, + "id": 7532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "createPair", "nodeType": "MemberAccess", - "referencedDeclaration": 7021, + "referencedDeclaration": 7184, "src": "1317:37:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) external returns (address)" } }, - "id": 7372, + "id": 7535, "isConstant": false, "isLValue": false, "isPure": false, @@ -31699,7 +31699,7 @@ "typeString": "address" } }, - "id": 7373, + "id": 7536, "nodeType": "ExpressionStatement", "src": "1317:53:29" } @@ -31708,18 +31708,18 @@ }, { "assignments": [ - 7377, - 7379 + 7540, + 7542 ], "declarations": [ { "constant": false, - "id": 7377, + "id": 7540, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7465, + "scope": 7628, "src": "1391:13:29", "stateVariable": false, "storageLocation": "default", @@ -31728,7 +31728,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7376, + "id": 7539, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1391:4:29", @@ -31742,12 +31742,12 @@ }, { "constant": false, - "id": 7379, + "id": 7542, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7465, + "scope": 7628, "src": "1406:13:29", "stateVariable": false, "storageLocation": "default", @@ -31756,7 +31756,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7378, + "id": 7541, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1406:4:29", @@ -31769,17 +31769,17 @@ "visibility": "internal" } ], - "id": 7386, + "id": 7549, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7382, + "id": 7545, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "1452:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31788,11 +31788,11 @@ }, { "argumentTypes": null, - "id": 7383, + "id": 7546, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7337, + "referencedDeclaration": 7500, "src": "1461:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31801,11 +31801,11 @@ }, { "argumentTypes": null, - "id": 7384, + "id": 7547, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, + "referencedDeclaration": 7502, "src": "1469:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31830,32 +31830,32 @@ ], "expression": { "argumentTypes": null, - "id": 7380, + "id": 7543, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1423:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7381, + "id": 7544, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 10033, + "referencedDeclaration": 10196, "src": "1423:28:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,address) view returns (uint256,uint256)" } }, - "id": 7385, + "id": 7548, "isConstant": false, "isLValue": false, "isPure": false, @@ -31880,7 +31880,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7393, + "id": 7556, "isConstant": false, "isLValue": false, "isPure": false, @@ -31891,18 +31891,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7389, + "id": 7552, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7387, + "id": 7550, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "1490:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31914,7 +31914,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7388, + "id": 7551, "isConstant": false, "isLValue": false, "isPure": true, @@ -31943,18 +31943,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7392, + "id": 7555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7390, + "id": 7553, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "1507:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31966,7 +31966,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7391, + "id": 7554, "isConstant": false, "isLValue": false, "isPure": true, @@ -31994,23 +31994,23 @@ } }, "falseBody": { - "id": 7463, + "id": 7626, "nodeType": "Block", "src": "1606:684:29", "statements": [ { "assignments": [ - 7404 + 7567 ], "declarations": [ { "constant": false, - "id": 7404, + "id": 7567, "mutability": "mutable", "name": "amountBOptimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7463, + "scope": 7626, "src": "1620:19:29", "stateVariable": false, "storageLocation": "default", @@ -32019,7 +32019,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7403, + "id": 7566, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1620:4:29", @@ -32032,17 +32032,17 @@ "visibility": "internal" } ], - "id": 7411, + "id": 7574, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7407, + "id": 7570, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1665:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32051,11 +32051,11 @@ }, { "argumentTypes": null, - "id": 7408, + "id": 7571, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "1681:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32064,11 +32064,11 @@ }, { "argumentTypes": null, - "id": 7409, + "id": 7572, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "1691:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32093,32 +32093,32 @@ ], "expression": { "argumentTypes": null, - "id": 7405, + "id": 7568, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1642:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7406, + "id": 7569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "1642:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 7410, + "id": 7573, "isConstant": false, "isLValue": false, "isPure": false, @@ -32143,18 +32143,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7414, + "id": 7577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7412, + "id": 7575, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1718:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32165,11 +32165,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 7413, + "id": 7576, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "1736:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32183,23 +32183,23 @@ } }, "falseBody": { - "id": 7461, + "id": 7624, "nodeType": "Block", "src": "1941:339:29", "statements": [ { "assignments": [ - 7432 + 7595 ], "declarations": [ { "constant": false, - "id": 7432, + "id": 7595, "mutability": "mutable", "name": "amountAOptimal", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7461, + "scope": 7624, "src": "1959:19:29", "stateVariable": false, "storageLocation": "default", @@ -32208,7 +32208,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7431, + "id": 7594, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1959:4:29", @@ -32221,17 +32221,17 @@ "visibility": "internal" } ], - "id": 7439, + "id": 7602, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7435, + "id": 7598, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "2004:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32240,11 +32240,11 @@ }, { "argumentTypes": null, - "id": 7436, + "id": 7599, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7379, + "referencedDeclaration": 7542, "src": "2020:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32253,11 +32253,11 @@ }, { "argumentTypes": null, - "id": 7437, + "id": 7600, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7377, + "referencedDeclaration": 7540, "src": "2030:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32282,32 +32282,32 @@ ], "expression": { "argumentTypes": null, - "id": 7433, + "id": 7596, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "1981:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7434, + "id": 7597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "1981:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 7438, + "id": 7601, "isConstant": false, "isLValue": false, "isPure": false, @@ -32335,18 +32335,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7443, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7441, + "id": 7604, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2064:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32357,11 +32357,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 7442, + "id": 7605, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "2082:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32382,7 +32382,7 @@ "typeString": "bool" } ], - "id": 7440, + "id": 7603, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -32393,7 +32393,7 @@ "typeString": "function (bool) pure" } }, - "id": 7444, + "id": 7607, "isConstant": false, "isLValue": false, "isPure": false, @@ -32408,7 +32408,7 @@ "typeString": "tuple()" } }, - "id": 7445, + "id": 7608, "nodeType": "ExpressionStatement", "src": "2057:40:29" }, @@ -32422,18 +32422,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7449, + "id": 7612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7447, + "id": 7610, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2123:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32444,11 +32444,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7448, + "id": 7611, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, + "referencedDeclaration": 7508, "src": "2141:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32464,7 +32464,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54", - "id": 7450, + "id": 7613, "isConstant": false, "isLValue": false, "isPure": true, @@ -32491,7 +32491,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\"" } ], - "id": 7446, + "id": 7609, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -32505,7 +32505,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7451, + "id": 7614, "isConstant": false, "isLValue": false, "isPure": false, @@ -32520,14 +32520,14 @@ "typeString": "tuple()" } }, - "id": 7452, + "id": 7615, "nodeType": "ExpressionStatement", "src": "2115:79:29" }, { "expression": { "argumentTypes": null, - "id": 7459, + "id": 7622, "isConstant": false, "isLValue": false, "isPure": false, @@ -32537,11 +32537,11 @@ "components": [ { "argumentTypes": null, - "id": 7453, + "id": 7616, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "2213:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32550,11 +32550,11 @@ }, { "argumentTypes": null, - "id": 7454, + "id": 7617, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "2222:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32562,7 +32562,7 @@ } } ], - "id": 7455, + "id": 7618, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -32582,11 +32582,11 @@ "components": [ { "argumentTypes": null, - "id": 7456, + "id": 7619, "name": "amountAOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7432, + "referencedDeclaration": 7595, "src": "2234:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32595,11 +32595,11 @@ }, { "argumentTypes": null, - "id": 7457, + "id": 7620, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "2250:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32607,7 +32607,7 @@ } } ], - "id": 7458, + "id": 7621, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -32626,17 +32626,17 @@ "typeString": "tuple()" } }, - "id": 7460, + "id": 7623, "nodeType": "ExpressionStatement", "src": "2212:53:29" } ] }, - "id": 7462, + "id": 7625, "nodeType": "IfStatement", "src": "1714:566:29", "trueBody": { - "id": 7430, + "id": 7593, "nodeType": "Block", "src": "1752:183:29", "statements": [ @@ -32650,18 +32650,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7418, + "id": 7581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7416, + "id": 7579, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1778:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32672,11 +32672,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7417, + "id": 7580, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, + "referencedDeclaration": 7510, "src": "1796:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32692,7 +32692,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54", - "id": 7419, + "id": 7582, "isConstant": false, "isLValue": false, "isPure": true, @@ -32719,7 +32719,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\"" } ], - "id": 7415, + "id": 7578, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -32733,7 +32733,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7420, + "id": 7583, "isConstant": false, "isLValue": false, "isPure": false, @@ -32748,14 +32748,14 @@ "typeString": "tuple()" } }, - "id": 7421, + "id": 7584, "nodeType": "ExpressionStatement", "src": "1770:79:29" }, { "expression": { "argumentTypes": null, - "id": 7428, + "id": 7591, "isConstant": false, "isLValue": false, "isPure": false, @@ -32765,11 +32765,11 @@ "components": [ { "argumentTypes": null, - "id": 7422, + "id": 7585, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "1868:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32778,11 +32778,11 @@ }, { "argumentTypes": null, - "id": 7423, + "id": 7586, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "1877:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32790,7 +32790,7 @@ } } ], - "id": 7424, + "id": 7587, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -32810,11 +32810,11 @@ "components": [ { "argumentTypes": null, - "id": 7425, + "id": 7588, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1889:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32823,11 +32823,11 @@ }, { "argumentTypes": null, - "id": 7426, + "id": 7589, "name": "amountBOptimal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7404, + "referencedDeclaration": 7567, "src": "1905:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32835,7 +32835,7 @@ } } ], - "id": 7427, + "id": 7590, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -32854,7 +32854,7 @@ "typeString": "tuple()" } }, - "id": 7429, + "id": 7592, "nodeType": "ExpressionStatement", "src": "1867:53:29" } @@ -32863,18 +32863,18 @@ } ] }, - "id": 7464, + "id": 7627, "nodeType": "IfStatement", "src": "1486:804:29", "trueBody": { - "id": 7402, + "id": 7565, "nodeType": "Block", "src": "1522:78:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7400, + "id": 7563, "isConstant": false, "isLValue": false, "isPure": false, @@ -32884,11 +32884,11 @@ "components": [ { "argumentTypes": null, - "id": 7394, + "id": 7557, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7350, + "referencedDeclaration": 7513, "src": "1537:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32897,11 +32897,11 @@ }, { "argumentTypes": null, - "id": 7395, + "id": 7558, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7352, + "referencedDeclaration": 7515, "src": "1546:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32909,7 +32909,7 @@ } } ], - "id": 7396, + "id": 7559, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -32929,11 +32929,11 @@ "components": [ { "argumentTypes": null, - "id": 7397, + "id": 7560, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, + "referencedDeclaration": 7504, "src": "1558:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32942,11 +32942,11 @@ }, { "argumentTypes": null, - "id": 7398, + "id": 7561, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, + "referencedDeclaration": 7506, "src": "1574:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32954,7 +32954,7 @@ } } ], - "id": 7399, + "id": 7562, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -32973,7 +32973,7 @@ "typeString": "tuple()" } }, - "id": 7401, + "id": 7564, "nodeType": "ExpressionStatement", "src": "1536:53:29" } @@ -32983,7 +32983,7 @@ ] }, "documentation": null, - "id": 7466, + "id": 7629, "implemented": true, "kind": "function", "modifiers": [], @@ -32991,17 +32991,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 7348, + "id": 7511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7337, + "id": 7500, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "965:14:29", "stateVariable": false, "storageLocation": "default", @@ -33010,7 +33010,7 @@ "typeString": "address" }, "typeName": { - "id": 7336, + "id": 7499, "name": "address", "nodeType": "ElementaryTypeName", "src": "965:7:29", @@ -33025,12 +33025,12 @@ }, { "constant": false, - "id": 7339, + "id": 7502, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "989:14:29", "stateVariable": false, "storageLocation": "default", @@ -33039,7 +33039,7 @@ "typeString": "address" }, "typeName": { - "id": 7338, + "id": 7501, "name": "address", "nodeType": "ElementaryTypeName", "src": "989:7:29", @@ -33054,12 +33054,12 @@ }, { "constant": false, - "id": 7341, + "id": 7504, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1013:19:29", "stateVariable": false, "storageLocation": "default", @@ -33068,7 +33068,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7340, + "id": 7503, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1013:4:29", @@ -33082,12 +33082,12 @@ }, { "constant": false, - "id": 7343, + "id": 7506, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1042:19:29", "stateVariable": false, "storageLocation": "default", @@ -33096,7 +33096,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7342, + "id": 7505, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1042:4:29", @@ -33110,12 +33110,12 @@ }, { "constant": false, - "id": 7345, + "id": 7508, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1071:15:29", "stateVariable": false, "storageLocation": "default", @@ -33124,7 +33124,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7344, + "id": 7507, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1071:4:29", @@ -33138,12 +33138,12 @@ }, { "constant": false, - "id": 7347, + "id": 7510, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1096:15:29", "stateVariable": false, "storageLocation": "default", @@ -33152,7 +33152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7346, + "id": 7509, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1096:4:29", @@ -33168,17 +33168,17 @@ "src": "955:162:29" }, "returnParameters": { - "id": 7353, + "id": 7516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7350, + "id": 7513, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1144:12:29", "stateVariable": false, "storageLocation": "default", @@ -33187,7 +33187,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7349, + "id": 7512, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1144:4:29", @@ -33201,12 +33201,12 @@ }, { "constant": false, - "id": 7352, + "id": 7515, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7466, + "scope": 7629, "src": "1158:12:29", "stateVariable": false, "storageLocation": "default", @@ -33215,7 +33215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7351, + "id": 7514, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1158:4:29", @@ -33230,7 +33230,7 @@ ], "src": "1143:28:29" }, - "scope": 9312, + "scope": 9475, "src": "933:1363:29", "stateMutability": "nonpayable", "virtual": true, @@ -33238,17 +33238,17 @@ }, { "baseFunctions": [ - 9433 + 9596 ], "body": { - "id": 7546, + "id": 7709, "nodeType": "Block", "src": "2624:400:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7506, + "id": 7669, "isConstant": false, "isLValue": false, "isPure": false, @@ -33258,11 +33258,11 @@ "components": [ { "argumentTypes": null, - "id": 7495, + "id": 7658, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7489, + "referencedDeclaration": 7652, "src": "2635:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33271,11 +33271,11 @@ }, { "argumentTypes": null, - "id": 7496, + "id": 7659, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7491, + "referencedDeclaration": 7654, "src": "2644:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33283,7 +33283,7 @@ } } ], - "id": 7497, + "id": 7660, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -33303,11 +33303,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7499, + "id": 7662, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2669:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33316,11 +33316,11 @@ }, { "argumentTypes": null, - "id": 7500, + "id": 7663, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2677:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33329,11 +33329,11 @@ }, { "argumentTypes": null, - "id": 7501, + "id": 7664, "name": "amountADesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, + "referencedDeclaration": 7635, "src": "2685:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33342,11 +33342,11 @@ }, { "argumentTypes": null, - "id": 7502, + "id": 7665, "name": "amountBDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7474, + "referencedDeclaration": 7637, "src": "2701:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33355,11 +33355,11 @@ }, { "argumentTypes": null, - "id": 7503, + "id": 7666, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7476, + "referencedDeclaration": 7639, "src": "2717:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33368,11 +33368,11 @@ }, { "argumentTypes": null, - "id": 7504, + "id": 7667, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, + "referencedDeclaration": 7641, "src": "2729:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33407,18 +33407,18 @@ "typeString": "uint256" } ], - "id": 7498, + "id": 7661, "name": "_addLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, + "referencedDeclaration": 7629, "src": "2655:13:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)" } }, - "id": 7505, + "id": 7668, "isConstant": false, "isLValue": false, "isPure": false, @@ -33439,23 +33439,23 @@ "typeString": "tuple()" } }, - "id": 7507, + "id": 7670, "nodeType": "ExpressionStatement", "src": "2634:106:29" }, { "assignments": [ - 7509 + 7672 ], "declarations": [ { "constant": false, - "id": 7509, + "id": 7672, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7546, + "scope": 7709, "src": "2750:12:29", "stateVariable": false, "storageLocation": "default", @@ -33464,7 +33464,7 @@ "typeString": "address" }, "typeName": { - "id": 7508, + "id": 7671, "name": "address", "nodeType": "ElementaryTypeName", "src": "2750:7:29", @@ -33478,17 +33478,17 @@ "visibility": "internal" } ], - "id": 7516, + "id": 7679, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7512, + "id": 7675, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "2790:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33497,11 +33497,11 @@ }, { "argumentTypes": null, - "id": 7513, + "id": 7676, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2799:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33510,11 +33510,11 @@ }, { "argumentTypes": null, - "id": 7514, + "id": 7677, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2807:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33539,32 +33539,32 @@ ], "expression": { "argumentTypes": null, - "id": 7510, + "id": 7673, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "2765:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7511, + "id": 7674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "2765:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7515, + "id": 7678, "isConstant": false, "isLValue": false, "isPure": false, @@ -33588,11 +33588,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7520, + "id": 7683, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, + "referencedDeclaration": 7631, "src": "2856:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33603,7 +33603,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7521, + "id": 7684, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -33614,7 +33614,7 @@ "typeString": "msg" } }, - "id": 7522, + "id": 7685, "isConstant": false, "isLValue": false, "isPure": false, @@ -33630,11 +33630,11 @@ }, { "argumentTypes": null, - "id": 7523, + "id": 7686, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "2876:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33643,11 +33643,11 @@ }, { "argumentTypes": null, - "id": 7524, + "id": 7687, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7489, + "referencedDeclaration": 7652, "src": "2882:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33676,32 +33676,32 @@ ], "expression": { "argumentTypes": null, - "id": 7517, + "id": 7680, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "2824:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7519, + "id": 7682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "2824:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7525, + "id": 7688, "isConstant": false, "isLValue": false, "isPure": false, @@ -33716,7 +33716,7 @@ "typeString": "tuple()" } }, - "id": 7526, + "id": 7689, "nodeType": "ExpressionStatement", "src": "2824:66:29" }, @@ -33726,11 +33726,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7530, + "id": 7693, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, + "referencedDeclaration": 7633, "src": "2932:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33741,7 +33741,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7531, + "id": 7694, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -33752,7 +33752,7 @@ "typeString": "msg" } }, - "id": 7532, + "id": 7695, "isConstant": false, "isLValue": false, "isPure": false, @@ -33768,11 +33768,11 @@ }, { "argumentTypes": null, - "id": 7533, + "id": 7696, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "2952:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33781,11 +33781,11 @@ }, { "argumentTypes": null, - "id": 7534, + "id": 7697, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7491, + "referencedDeclaration": 7654, "src": "2958:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33814,32 +33814,32 @@ ], "expression": { "argumentTypes": null, - "id": 7527, + "id": 7690, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "2900:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7529, + "id": 7692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "2900:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7535, + "id": 7698, "isConstant": false, "isLValue": false, "isPure": false, @@ -33854,25 +33854,25 @@ "typeString": "tuple()" } }, - "id": 7536, + "id": 7699, "nodeType": "ExpressionStatement", "src": "2900:66:29" }, { "expression": { "argumentTypes": null, - "id": 7544, + "id": 7707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7537, + "id": 7700, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7493, + "referencedDeclaration": 7656, "src": "2976:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -33886,11 +33886,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7542, + "id": 7705, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7480, + "referencedDeclaration": 7643, "src": "3014:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33910,11 +33910,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7539, + "id": 7702, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7509, + "referencedDeclaration": 7672, "src": "3003:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33929,18 +33929,18 @@ "typeString": "address" } ], - "id": 7538, + "id": 7701, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "2988:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7540, + "id": 7703, "isConstant": false, "isLValue": false, "isPure": false, @@ -33951,25 +33951,25 @@ "src": "2988:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7541, + "id": 7704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 7238, + "referencedDeclaration": 7401, "src": "2988:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 7543, + "id": 7706, "isConstant": false, "isLValue": false, "isPure": false, @@ -33990,7 +33990,7 @@ "typeString": "uint256" } }, - "id": 7545, + "id": 7708, "nodeType": "ExpressionStatement", "src": "2976:41:29" } @@ -33998,7 +33998,7 @@ }, "documentation": null, "functionSelector": "e8e33700", - "id": 7547, + "id": 7710, "implemented": true, "kind": "function", "modifiers": [ @@ -34006,11 +34006,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7486, + "id": 7649, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7482, + "referencedDeclaration": 7645, "src": "2561:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34018,14 +34018,14 @@ } } ], - "id": 7487, + "id": 7650, "modifierName": { "argumentTypes": null, - "id": 7485, + "id": 7648, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "2554:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -34039,23 +34039,23 @@ "name": "addLiquidity", "nodeType": "FunctionDefinition", "overrides": { - "id": 7484, + "id": 7647, "nodeType": "OverrideSpecifier", "overrides": [], "src": "2545:8:29" }, "parameters": { - "id": 7483, + "id": 7646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7468, + "id": 7631, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2332:14:29", "stateVariable": false, "storageLocation": "default", @@ -34064,7 +34064,7 @@ "typeString": "address" }, "typeName": { - "id": 7467, + "id": 7630, "name": "address", "nodeType": "ElementaryTypeName", "src": "2332:7:29", @@ -34079,12 +34079,12 @@ }, { "constant": false, - "id": 7470, + "id": 7633, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2356:14:29", "stateVariable": false, "storageLocation": "default", @@ -34093,7 +34093,7 @@ "typeString": "address" }, "typeName": { - "id": 7469, + "id": 7632, "name": "address", "nodeType": "ElementaryTypeName", "src": "2356:7:29", @@ -34108,12 +34108,12 @@ }, { "constant": false, - "id": 7472, + "id": 7635, "mutability": "mutable", "name": "amountADesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2380:19:29", "stateVariable": false, "storageLocation": "default", @@ -34122,7 +34122,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7471, + "id": 7634, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2380:4:29", @@ -34136,12 +34136,12 @@ }, { "constant": false, - "id": 7474, + "id": 7637, "mutability": "mutable", "name": "amountBDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2409:19:29", "stateVariable": false, "storageLocation": "default", @@ -34150,7 +34150,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7473, + "id": 7636, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2409:4:29", @@ -34164,12 +34164,12 @@ }, { "constant": false, - "id": 7476, + "id": 7639, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2438:15:29", "stateVariable": false, "storageLocation": "default", @@ -34178,7 +34178,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7475, + "id": 7638, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2438:4:29", @@ -34192,12 +34192,12 @@ }, { "constant": false, - "id": 7478, + "id": 7641, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2463:15:29", "stateVariable": false, "storageLocation": "default", @@ -34206,7 +34206,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7477, + "id": 7640, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2463:4:29", @@ -34220,12 +34220,12 @@ }, { "constant": false, - "id": 7480, + "id": 7643, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2488:10:29", "stateVariable": false, "storageLocation": "default", @@ -34234,7 +34234,7 @@ "typeString": "address" }, "typeName": { - "id": 7479, + "id": 7642, "name": "address", "nodeType": "ElementaryTypeName", "src": "2488:7:29", @@ -34249,12 +34249,12 @@ }, { "constant": false, - "id": 7482, + "id": 7645, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2508:13:29", "stateVariable": false, "storageLocation": "default", @@ -34263,7 +34263,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7481, + "id": 7644, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2508:4:29", @@ -34279,17 +34279,17 @@ "src": "2322:205:29" }, "returnParameters": { - "id": 7494, + "id": 7657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7489, + "id": 7652, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2580:12:29", "stateVariable": false, "storageLocation": "default", @@ -34298,7 +34298,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7488, + "id": 7651, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2580:4:29", @@ -34312,12 +34312,12 @@ }, { "constant": false, - "id": 7491, + "id": 7654, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2594:12:29", "stateVariable": false, "storageLocation": "default", @@ -34326,7 +34326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7490, + "id": 7653, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2594:4:29", @@ -34340,12 +34340,12 @@ }, { "constant": false, - "id": 7493, + "id": 7656, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7547, + "scope": 7710, "src": "2608:14:29", "stateVariable": false, "storageLocation": "default", @@ -34354,7 +34354,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7492, + "id": 7655, "name": "uint", "nodeType": "ElementaryTypeName", "src": "2608:4:29", @@ -34369,7 +34369,7 @@ ], "src": "2579:44:29" }, - "scope": 9312, + "scope": 9475, "src": "2301:723:29", "stateMutability": "nonpayable", "virtual": true, @@ -34377,17 +34377,17 @@ }, { "baseFunctions": [ - 9454 + 9617 ], "body": { - "id": 7648, + "id": 7811, "nodeType": "Block", "src": "3325:655:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7584, + "id": 7747, "isConstant": false, "isLValue": false, "isPure": false, @@ -34397,11 +34397,11 @@ "components": [ { "argumentTypes": null, - "id": 7572, + "id": 7735, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7566, + "referencedDeclaration": 7729, "src": "3336:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34410,11 +34410,11 @@ }, { "argumentTypes": null, - "id": 7573, + "id": 7736, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3349:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34422,7 +34422,7 @@ } } ], - "id": 7574, + "id": 7737, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -34442,11 +34442,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7576, + "id": 7739, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3389:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34455,11 +34455,11 @@ }, { "argumentTypes": null, - "id": 7577, + "id": 7740, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3408:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34468,11 +34468,11 @@ }, { "argumentTypes": null, - "id": 7578, + "id": 7741, "name": "amountTokenDesired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7551, + "referencedDeclaration": 7714, "src": "3426:18:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34483,7 +34483,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7579, + "id": 7742, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -34494,7 +34494,7 @@ "typeString": "msg" } }, - "id": 7580, + "id": 7743, "isConstant": false, "isLValue": false, "isPure": false, @@ -34510,11 +34510,11 @@ }, { "argumentTypes": null, - "id": 7581, + "id": 7744, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7553, + "referencedDeclaration": 7716, "src": "3481:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34523,11 +34523,11 @@ }, { "argumentTypes": null, - "id": 7582, + "id": 7745, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7555, + "referencedDeclaration": 7718, "src": "3509:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34562,18 +34562,18 @@ "typeString": "uint256" } ], - "id": 7575, + "id": 7738, "name": "_addLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, + "referencedDeclaration": 7629, "src": "3362:13:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)" } }, - "id": 7583, + "id": 7746, "isConstant": false, "isLValue": false, "isPure": false, @@ -34594,23 +34594,23 @@ "typeString": "tuple()" } }, - "id": 7585, + "id": 7748, "nodeType": "ExpressionStatement", "src": "3335:196:29" }, { "assignments": [ - 7587 + 7750 ], "declarations": [ { "constant": false, - "id": 7587, + "id": 7750, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7648, + "scope": 7811, "src": "3541:12:29", "stateVariable": false, "storageLocation": "default", @@ -34619,7 +34619,7 @@ "typeString": "address" }, "typeName": { - "id": 7586, + "id": 7749, "name": "address", "nodeType": "ElementaryTypeName", "src": "3541:7:29", @@ -34633,17 +34633,17 @@ "visibility": "internal" } ], - "id": 7594, + "id": 7757, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7590, + "id": 7753, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "3581:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34652,11 +34652,11 @@ }, { "argumentTypes": null, - "id": 7591, + "id": 7754, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3590:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34665,11 +34665,11 @@ }, { "argumentTypes": null, - "id": 7592, + "id": 7755, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3597:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34694,32 +34694,32 @@ ], "expression": { "argumentTypes": null, - "id": 7588, + "id": 7751, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "3556:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7589, + "id": 7752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "3556:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7593, + "id": 7756, "isConstant": false, "isLValue": false, "isPure": false, @@ -34743,11 +34743,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7598, + "id": 7761, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7549, + "referencedDeclaration": 7712, "src": "3644:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34758,7 +34758,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7599, + "id": 7762, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -34769,7 +34769,7 @@ "typeString": "msg" } }, - "id": 7600, + "id": 7763, "isConstant": false, "isLValue": false, "isPure": false, @@ -34785,11 +34785,11 @@ }, { "argumentTypes": null, - "id": 7601, + "id": 7764, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3663:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34798,11 +34798,11 @@ }, { "argumentTypes": null, - "id": 7602, + "id": 7765, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7566, + "referencedDeclaration": 7729, "src": "3669:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34831,32 +34831,32 @@ ], "expression": { "argumentTypes": null, - "id": 7595, + "id": 7758, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "3612:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7597, + "id": 7760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "3612:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 7603, + "id": 7766, "isConstant": false, "isLValue": false, "isPure": false, @@ -34871,7 +34871,7 @@ "typeString": "tuple()" } }, - "id": 7604, + "id": 7767, "nodeType": "ExpressionStatement", "src": "3612:69:29" }, @@ -34888,11 +34888,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7606, + "id": 7769, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3697:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34907,18 +34907,18 @@ "typeString": "address" } ], - "id": 7605, + "id": 7768, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "3691:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7607, + "id": 7770, "isConstant": false, "isLValue": false, "isPure": false, @@ -34929,25 +34929,25 @@ "src": "3691:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7608, + "id": 7771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "3691:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 7610, + "id": 7773, "isConstant": false, "isLValue": false, "isPure": false, @@ -34959,11 +34959,11 @@ "options": [ { "argumentTypes": null, - "id": 7609, + "id": 7772, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3718:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34977,7 +34977,7 @@ "typeString": "function () payable external" } }, - "id": 7611, + "id": 7774, "isConstant": false, "isLValue": false, "isPure": false, @@ -34992,7 +34992,7 @@ "typeString": "tuple()" } }, - "id": 7612, + "id": 7775, "nodeType": "ExpressionStatement", "src": "3691:39:29" }, @@ -35005,11 +35005,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7618, + "id": 7781, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3768:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35018,11 +35018,11 @@ }, { "argumentTypes": null, - "id": 7619, + "id": 7782, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3774:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35046,11 +35046,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7615, + "id": 7778, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "3753:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35065,18 +35065,18 @@ "typeString": "address" } ], - "id": 7614, + "id": 7777, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "3747:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7616, + "id": 7779, "isConstant": false, "isLValue": false, "isPure": false, @@ -35087,25 +35087,25 @@ "src": "3747:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7617, + "id": 7780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "3747:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 7620, + "id": 7783, "isConstant": false, "isLValue": false, "isPure": false, @@ -35128,7 +35128,7 @@ "typeString": "bool" } ], - "id": 7613, + "id": 7776, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -35139,7 +35139,7 @@ "typeString": "function (bool) pure" } }, - "id": 7621, + "id": 7784, "isConstant": false, "isLValue": false, "isPure": false, @@ -35154,25 +35154,25 @@ "typeString": "tuple()" } }, - "id": 7622, + "id": 7785, "nodeType": "ExpressionStatement", "src": "3740:45:29" }, { "expression": { "argumentTypes": null, - "id": 7630, + "id": 7793, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7623, + "id": 7786, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7570, + "referencedDeclaration": 7733, "src": "3795:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35186,11 +35186,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7628, + "id": 7791, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7557, + "referencedDeclaration": 7720, "src": "3833:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35210,11 +35210,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7625, + "id": 7788, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7587, + "referencedDeclaration": 7750, "src": "3822:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35229,18 +35229,18 @@ "typeString": "address" } ], - "id": 7624, + "id": 7787, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "3807:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7626, + "id": 7789, "isConstant": false, "isLValue": false, "isPure": false, @@ -35251,25 +35251,25 @@ "src": "3807:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7627, + "id": 7790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 7238, + "referencedDeclaration": 7401, "src": "3807:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) external returns (uint256)" } }, - "id": 7629, + "id": 7792, "isConstant": false, "isLValue": false, "isPure": false, @@ -35290,7 +35290,7 @@ "typeString": "uint256" } }, - "id": 7631, + "id": 7794, "nodeType": "ExpressionStatement", "src": "3795:41:29" }, @@ -35301,7 +35301,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7635, + "id": 7798, "isConstant": false, "isLValue": false, "isPure": false, @@ -35310,7 +35310,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7632, + "id": 7795, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -35321,7 +35321,7 @@ "typeString": "msg" } }, - "id": 7633, + "id": 7796, "isConstant": false, "isLValue": false, "isPure": false, @@ -35339,11 +35339,11 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 7634, + "id": 7797, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3897:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35357,7 +35357,7 @@ } }, "falseBody": null, - "id": 7647, + "id": 7810, "nodeType": "IfStatement", "src": "3881:92:29", "trueBody": { @@ -35368,7 +35368,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7639, + "id": 7802, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -35379,7 +35379,7 @@ "typeString": "msg" } }, - "id": 7640, + "id": 7803, "isConstant": false, "isLValue": false, "isPure": false, @@ -35399,7 +35399,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7644, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, @@ -35408,7 +35408,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7641, + "id": 7804, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -35419,7 +35419,7 @@ "typeString": "msg" } }, - "id": 7642, + "id": 7805, "isConstant": false, "isLValue": false, "isPure": false, @@ -35437,11 +35437,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 7643, + "id": 7806, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7731, "src": "3963:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35468,32 +35468,32 @@ ], "expression": { "argumentTypes": null, - "id": 7636, + "id": 7799, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "3908:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7638, + "id": 7801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "3908:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7645, + "id": 7808, "isConstant": false, "isLValue": false, "isPure": false, @@ -35508,7 +35508,7 @@ "typeString": "tuple()" } }, - "id": 7646, + "id": 7809, "nodeType": "ExpressionStatement", "src": "3908:65:29" } @@ -35517,7 +35517,7 @@ }, "documentation": null, "functionSelector": "f305d719", - "id": 7649, + "id": 7812, "implemented": true, "kind": "function", "modifiers": [ @@ -35525,11 +35525,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7563, + "id": 7726, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7559, + "referencedDeclaration": 7722, "src": "3256:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35537,14 +35537,14 @@ } } ], - "id": 7564, + "id": 7727, "modifierName": { "argumentTypes": null, - "id": 7562, + "id": 7725, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "3249:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -35558,23 +35558,23 @@ "name": "addLiquidityETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 7561, + "id": 7724, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3232:8:29" }, "parameters": { - "id": 7560, + "id": 7723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7549, + "id": 7712, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3063:13:29", "stateVariable": false, "storageLocation": "default", @@ -35583,7 +35583,7 @@ "typeString": "address" }, "typeName": { - "id": 7548, + "id": 7711, "name": "address", "nodeType": "ElementaryTypeName", "src": "3063:7:29", @@ -35598,12 +35598,12 @@ }, { "constant": false, - "id": 7551, + "id": 7714, "mutability": "mutable", "name": "amountTokenDesired", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3086:23:29", "stateVariable": false, "storageLocation": "default", @@ -35612,7 +35612,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7550, + "id": 7713, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3086:4:29", @@ -35626,12 +35626,12 @@ }, { "constant": false, - "id": 7553, + "id": 7716, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3119:19:29", "stateVariable": false, "storageLocation": "default", @@ -35640,7 +35640,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7552, + "id": 7715, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3119:4:29", @@ -35654,12 +35654,12 @@ }, { "constant": false, - "id": 7555, + "id": 7718, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3148:17:29", "stateVariable": false, "storageLocation": "default", @@ -35668,7 +35668,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7554, + "id": 7717, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3148:4:29", @@ -35682,12 +35682,12 @@ }, { "constant": false, - "id": 7557, + "id": 7720, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3175:10:29", "stateVariable": false, "storageLocation": "default", @@ -35696,7 +35696,7 @@ "typeString": "address" }, "typeName": { - "id": 7556, + "id": 7719, "name": "address", "nodeType": "ElementaryTypeName", "src": "3175:7:29", @@ -35711,12 +35711,12 @@ }, { "constant": false, - "id": 7559, + "id": 7722, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3195:13:29", "stateVariable": false, "storageLocation": "default", @@ -35725,7 +35725,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7558, + "id": 7721, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3195:4:29", @@ -35741,17 +35741,17 @@ "src": "3053:161:29" }, "returnParameters": { - "id": 7571, + "id": 7734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7566, + "id": 7729, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3275:16:29", "stateVariable": false, "storageLocation": "default", @@ -35760,7 +35760,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7565, + "id": 7728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3275:4:29", @@ -35774,12 +35774,12 @@ }, { "constant": false, - "id": 7568, + "id": 7731, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3293:14:29", "stateVariable": false, "storageLocation": "default", @@ -35788,7 +35788,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7567, + "id": 7730, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3293:4:29", @@ -35802,12 +35802,12 @@ }, { "constant": false, - "id": 7570, + "id": 7733, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7649, + "scope": 7812, "src": "3309:14:29", "stateVariable": false, "storageLocation": "default", @@ -35816,7 +35816,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7569, + "id": 7732, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3309:4:29", @@ -35831,7 +35831,7 @@ ], "src": "3274:50:29" }, - "scope": 9312, + "scope": 9475, "src": "3029:951:29", "stateMutability": "payable", "virtual": true, @@ -35839,26 +35839,26 @@ }, { "baseFunctions": [ - 9475 + 9638 ], "body": { - "id": 7741, + "id": 7904, "nodeType": "Block", "src": "4294:575:29", "statements": [ { "assignments": [ - 7675 + 7838 ], "declarations": [ { "constant": false, - "id": 7675, + "id": 7838, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4304:12:29", "stateVariable": false, "storageLocation": "default", @@ -35867,7 +35867,7 @@ "typeString": "address" }, "typeName": { - "id": 7674, + "id": 7837, "name": "address", "nodeType": "ElementaryTypeName", "src": "4304:7:29", @@ -35881,17 +35881,17 @@ "visibility": "internal" } ], - "id": 7682, + "id": 7845, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7678, + "id": 7841, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "4344:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35900,11 +35900,11 @@ }, { "argumentTypes": null, - "id": 7679, + "id": 7842, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4353:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35913,11 +35913,11 @@ }, { "argumentTypes": null, - "id": 7680, + "id": 7843, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7653, + "referencedDeclaration": 7816, "src": "4361:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35942,32 +35942,32 @@ ], "expression": { "argumentTypes": null, - "id": 7676, + "id": 7839, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "4319:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7677, + "id": 7840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "4319:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7681, + "id": 7844, "isConstant": false, "isLValue": false, "isPure": false, @@ -35993,7 +35993,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7687, + "id": 7850, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -36004,7 +36004,7 @@ "typeString": "msg" } }, - "id": 7688, + "id": 7851, "isConstant": false, "isLValue": false, "isPure": false, @@ -36020,11 +36020,11 @@ }, { "argumentTypes": null, - "id": 7689, + "id": 7852, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4424:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36033,11 +36033,11 @@ }, { "argumentTypes": null, - "id": 7690, + "id": 7853, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7655, + "referencedDeclaration": 7818, "src": "4430:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36065,11 +36065,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7684, + "id": 7847, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4393:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36084,18 +36084,18 @@ "typeString": "address" } ], - "id": 7683, + "id": 7846, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "4378:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7685, + "id": 7848, "isConstant": false, "isLValue": false, "isPure": false, @@ -36106,25 +36106,25 @@ "src": "4378:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7686, + "id": 7849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 7115, + "referencedDeclaration": 7278, "src": "4378:33:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 7691, + "id": 7854, "isConstant": false, "isLValue": false, "isPure": false, @@ -36139,24 +36139,24 @@ "typeString": "bool" } }, - "id": 7692, + "id": 7855, "nodeType": "ExpressionStatement", "src": "4378:62:29" }, { "assignments": [ - 7694, - 7696 + 7857, + 7859 ], "declarations": [ { "constant": false, - "id": 7694, + "id": 7857, "mutability": "mutable", "name": "amount0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4477:12:29", "stateVariable": false, "storageLocation": "default", @@ -36165,7 +36165,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7693, + "id": 7856, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4477:4:29", @@ -36179,12 +36179,12 @@ }, { "constant": false, - "id": 7696, + "id": 7859, "mutability": "mutable", "name": "amount1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4491:12:29", "stateVariable": false, "storageLocation": "default", @@ -36193,7 +36193,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7695, + "id": 7858, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4491:4:29", @@ -36206,17 +36206,17 @@ "visibility": "internal" } ], - "id": 7703, + "id": 7866, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7701, + "id": 7864, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7661, + "referencedDeclaration": 7824, "src": "4533:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36236,11 +36236,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7698, + "id": 7861, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7675, + "referencedDeclaration": 7838, "src": "4522:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36255,18 +36255,18 @@ "typeString": "address" } ], - "id": 7697, + "id": 7860, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "4507:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7699, + "id": 7862, "isConstant": false, "isLValue": false, "isPure": false, @@ -36277,25 +36277,25 @@ "src": "4507:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7700, + "id": 7863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "burn", "nodeType": "MemberAccess", - "referencedDeclaration": 7247, + "referencedDeclaration": 7410, "src": "4507:25:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address) external returns (uint256,uint256)" } }, - "id": 7702, + "id": 7865, "isConstant": false, "isLValue": false, "isPure": false, @@ -36315,18 +36315,18 @@ }, { "assignments": [ - 7705, + 7868, null ], "declarations": [ { "constant": false, - "id": 7705, + "id": 7868, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7741, + "scope": 7904, "src": "4547:14:29", "stateVariable": false, "storageLocation": "default", @@ -36335,7 +36335,7 @@ "typeString": "address" }, "typeName": { - "id": 7704, + "id": 7867, "name": "address", "nodeType": "ElementaryTypeName", "src": "4547:7:29", @@ -36350,17 +36350,17 @@ }, null ], - "id": 7711, + "id": 7874, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7708, + "id": 7871, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4594:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36369,11 +36369,11 @@ }, { "argumentTypes": null, - "id": 7709, + "id": 7872, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7653, + "referencedDeclaration": 7816, "src": "4602:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36394,32 +36394,32 @@ ], "expression": { "argumentTypes": null, - "id": 7706, + "id": 7869, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "4566:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7707, + "id": 7870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "4566:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 7710, + "id": 7873, "isConstant": false, "isLValue": false, "isPure": false, @@ -36440,7 +36440,7 @@ { "expression": { "argumentTypes": null, - "id": 7725, + "id": 7888, "isConstant": false, "isLValue": false, "isPure": false, @@ -36450,11 +36450,11 @@ "components": [ { "argumentTypes": null, - "id": 7712, + "id": 7875, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7670, + "referencedDeclaration": 7833, "src": "4620:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36463,11 +36463,11 @@ }, { "argumentTypes": null, - "id": 7713, + "id": 7876, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7672, + "referencedDeclaration": 7835, "src": "4629:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36475,7 +36475,7 @@ } } ], - "id": 7714, + "id": 7877, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -36498,18 +36498,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7717, + "id": 7880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7715, + "id": 7878, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7651, + "referencedDeclaration": 7814, "src": "4640:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36520,11 +36520,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7716, + "id": 7879, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7705, + "referencedDeclaration": 7868, "src": "4650:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36542,11 +36542,11 @@ "components": [ { "argumentTypes": null, - "id": 7721, + "id": 7884, "name": "amount1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7696, + "referencedDeclaration": 7859, "src": "4681:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36555,11 +36555,11 @@ }, { "argumentTypes": null, - "id": 7722, + "id": 7885, "name": "amount0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7694, + "referencedDeclaration": 7857, "src": "4690:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36567,7 +36567,7 @@ } } ], - "id": 7723, + "id": 7886, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -36580,7 +36580,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 7724, + "id": 7887, "isConstant": false, "isLValue": false, "isPure": false, @@ -36592,11 +36592,11 @@ "components": [ { "argumentTypes": null, - "id": 7718, + "id": 7881, "name": "amount0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7694, + "referencedDeclaration": 7857, "src": "4660:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36605,11 +36605,11 @@ }, { "argumentTypes": null, - "id": 7719, + "id": 7882, "name": "amount1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7696, + "referencedDeclaration": 7859, "src": "4669:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36617,7 +36617,7 @@ } } ], - "id": 7720, + "id": 7883, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -36641,7 +36641,7 @@ "typeString": "tuple()" } }, - "id": 7726, + "id": 7889, "nodeType": "ExpressionStatement", "src": "4619:79:29" }, @@ -36655,18 +36655,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7730, + "id": 7893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7728, + "id": 7891, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7670, + "referencedDeclaration": 7833, "src": "4716:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36677,11 +36677,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7729, + "id": 7892, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7657, + "referencedDeclaration": 7820, "src": "4727:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36697,7 +36697,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54", - "id": 7731, + "id": 7894, "isConstant": false, "isLValue": false, "isPure": true, @@ -36724,7 +36724,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\"" } ], - "id": 7727, + "id": 7890, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -36738,7 +36738,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7732, + "id": 7895, "isConstant": false, "isLValue": false, "isPure": false, @@ -36753,7 +36753,7 @@ "typeString": "tuple()" } }, - "id": 7733, + "id": 7896, "nodeType": "ExpressionStatement", "src": "4708:72:29" }, @@ -36767,18 +36767,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7737, + "id": 7900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7735, + "id": 7898, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7672, + "referencedDeclaration": 7835, "src": "4798:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36789,11 +36789,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 7736, + "id": 7899, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7659, + "referencedDeclaration": 7822, "src": "4809:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36809,7 +36809,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54", - "id": 7738, + "id": 7901, "isConstant": false, "isLValue": false, "isPure": true, @@ -36836,7 +36836,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\"" } ], - "id": 7734, + "id": 7897, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -36850,7 +36850,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 7739, + "id": 7902, "isConstant": false, "isLValue": false, "isPure": false, @@ -36865,7 +36865,7 @@ "typeString": "tuple()" } }, - "id": 7740, + "id": 7903, "nodeType": "ExpressionStatement", "src": "4790:72:29" } @@ -36873,7 +36873,7 @@ }, "documentation": null, "functionSelector": "baa2abde", - "id": 7742, + "id": 7905, "implemented": true, "kind": "function", "modifiers": [ @@ -36881,11 +36881,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7667, + "id": 7830, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7663, + "referencedDeclaration": 7826, "src": "4247:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -36893,14 +36893,14 @@ } } ], - "id": 7668, + "id": 7831, "modifierName": { "argumentTypes": null, - "id": 7666, + "id": 7829, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "4240:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -36914,23 +36914,23 @@ "name": "removeLiquidity", "nodeType": "FunctionDefinition", "overrides": { - "id": 7665, + "id": 7828, "nodeType": "OverrideSpecifier", "overrides": [], "src": "4231:8:29" }, "parameters": { - "id": 7664, + "id": 7827, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7651, + "id": 7814, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4054:14:29", "stateVariable": false, "storageLocation": "default", @@ -36939,7 +36939,7 @@ "typeString": "address" }, "typeName": { - "id": 7650, + "id": 7813, "name": "address", "nodeType": "ElementaryTypeName", "src": "4054:7:29", @@ -36954,12 +36954,12 @@ }, { "constant": false, - "id": 7653, + "id": 7816, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4078:14:29", "stateVariable": false, "storageLocation": "default", @@ -36968,7 +36968,7 @@ "typeString": "address" }, "typeName": { - "id": 7652, + "id": 7815, "name": "address", "nodeType": "ElementaryTypeName", "src": "4078:7:29", @@ -36983,12 +36983,12 @@ }, { "constant": false, - "id": 7655, + "id": 7818, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4102:14:29", "stateVariable": false, "storageLocation": "default", @@ -36997,7 +36997,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7654, + "id": 7817, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4102:4:29", @@ -37011,12 +37011,12 @@ }, { "constant": false, - "id": 7657, + "id": 7820, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4126:15:29", "stateVariable": false, "storageLocation": "default", @@ -37025,7 +37025,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7656, + "id": 7819, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4126:4:29", @@ -37039,12 +37039,12 @@ }, { "constant": false, - "id": 7659, + "id": 7822, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4151:15:29", "stateVariable": false, "storageLocation": "default", @@ -37053,7 +37053,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7658, + "id": 7821, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4151:4:29", @@ -37067,12 +37067,12 @@ }, { "constant": false, - "id": 7661, + "id": 7824, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4176:10:29", "stateVariable": false, "storageLocation": "default", @@ -37081,7 +37081,7 @@ "typeString": "address" }, "typeName": { - "id": 7660, + "id": 7823, "name": "address", "nodeType": "ElementaryTypeName", "src": "4176:7:29", @@ -37096,12 +37096,12 @@ }, { "constant": false, - "id": 7663, + "id": 7826, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4196:13:29", "stateVariable": false, "storageLocation": "default", @@ -37110,7 +37110,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7662, + "id": 7825, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4196:4:29", @@ -37126,17 +37126,17 @@ "src": "4044:171:29" }, "returnParameters": { - "id": 7673, + "id": 7836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7670, + "id": 7833, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4266:12:29", "stateVariable": false, "storageLocation": "default", @@ -37145,7 +37145,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7669, + "id": 7832, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4266:4:29", @@ -37159,12 +37159,12 @@ }, { "constant": false, - "id": 7672, + "id": 7835, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7742, + "scope": 7905, "src": "4280:12:29", "stateVariable": false, "storageLocation": "default", @@ -37173,7 +37173,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7671, + "id": 7834, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4280:4:29", @@ -37188,7 +37188,7 @@ ], "src": "4265:28:29" }, - "scope": 9312, + "scope": 9475, "src": "4020:849:29", "stateMutability": "nonpayable", "virtual": true, @@ -37196,17 +37196,17 @@ }, { "baseFunctions": [ - 9494 + 9657 ], "body": { - "id": 7804, + "id": 7967, "nodeType": "Block", "src": "5138:389:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 7780, + "id": 7943, "isConstant": false, "isLValue": false, "isPure": false, @@ -37216,11 +37216,11 @@ "components": [ { "argumentTypes": null, - "id": 7765, + "id": 7928, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7761, + "referencedDeclaration": 7924, "src": "5149:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37229,11 +37229,11 @@ }, { "argumentTypes": null, - "id": 7766, + "id": 7929, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5162:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37241,7 +37241,7 @@ } } ], - "id": 7767, + "id": 7930, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -37261,11 +37261,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7769, + "id": 7932, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7744, + "referencedDeclaration": 7907, "src": "5204:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37274,11 +37274,11 @@ }, { "argumentTypes": null, - "id": 7770, + "id": 7933, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "5223:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37287,11 +37287,11 @@ }, { "argumentTypes": null, - "id": 7771, + "id": 7934, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7746, + "referencedDeclaration": 7909, "src": "5241:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37300,11 +37300,11 @@ }, { "argumentTypes": null, - "id": 7772, + "id": 7935, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7748, + "referencedDeclaration": 7911, "src": "5264:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37313,11 +37313,11 @@ }, { "argumentTypes": null, - "id": 7773, + "id": 7936, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7750, + "referencedDeclaration": 7913, "src": "5292:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37329,14 +37329,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7776, + "id": 7939, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "5326:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -37344,11 +37344,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7775, + "id": 7938, "isConstant": false, "isLValue": false, "isPure": true, @@ -37360,7 +37360,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7774, + "id": 7937, "name": "address", "nodeType": "ElementaryTypeName", "src": "5318:7:29", @@ -37370,7 +37370,7 @@ } } }, - "id": 7777, + "id": 7940, "isConstant": false, "isLValue": false, "isPure": false, @@ -37387,11 +37387,11 @@ }, { "argumentTypes": null, - "id": 7778, + "id": 7941, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7754, + "referencedDeclaration": 7917, "src": "5345:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37430,18 +37430,18 @@ "typeString": "uint256" } ], - "id": 7768, + "id": 7931, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "5175:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7779, + "id": 7942, "isConstant": false, "isLValue": false, "isPure": false, @@ -37462,7 +37462,7 @@ "typeString": "tuple()" } }, - "id": 7781, + "id": 7944, "nodeType": "ExpressionStatement", "src": "5148:215:29" }, @@ -37472,11 +37472,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7785, + "id": 7948, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7744, + "referencedDeclaration": 7907, "src": "5401:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37485,11 +37485,11 @@ }, { "argumentTypes": null, - "id": 7786, + "id": 7949, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7752, + "referencedDeclaration": 7915, "src": "5408:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37498,11 +37498,11 @@ }, { "argumentTypes": null, - "id": 7787, + "id": 7950, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7761, + "referencedDeclaration": 7924, "src": "5412:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37527,32 +37527,32 @@ ], "expression": { "argumentTypes": null, - "id": 7782, + "id": 7945, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "5373:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7784, + "id": 7947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 6897, + "referencedDeclaration": 7060, "src": "5373:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 7788, + "id": 7951, "isConstant": false, "isLValue": false, "isPure": false, @@ -37567,7 +37567,7 @@ "typeString": "tuple()" } }, - "id": 7789, + "id": 7952, "nodeType": "ExpressionStatement", "src": "5373:51:29" }, @@ -37577,11 +37577,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7794, + "id": 7957, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5455:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37601,11 +37601,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7791, + "id": 7954, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "5440:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37620,18 +37620,18 @@ "typeString": "address" } ], - "id": 7790, + "id": 7953, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "5434:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 7792, + "id": 7955, "isConstant": false, "isLValue": false, "isPure": false, @@ -37642,25 +37642,25 @@ "src": "5434:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 7793, + "id": 7956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "5434:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 7795, + "id": 7958, "isConstant": false, "isLValue": false, "isPure": false, @@ -37675,7 +37675,7 @@ "typeString": "tuple()" } }, - "id": 7796, + "id": 7959, "nodeType": "ExpressionStatement", "src": "5434:31:29" }, @@ -37685,11 +37685,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7800, + "id": 7963, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7752, + "referencedDeclaration": 7915, "src": "5506:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37698,11 +37698,11 @@ }, { "argumentTypes": null, - "id": 7801, + "id": 7964, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7763, + "referencedDeclaration": 7926, "src": "5510:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37723,32 +37723,32 @@ ], "expression": { "argumentTypes": null, - "id": 7797, + "id": 7960, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "5475:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 7799, + "id": 7962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "5475:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 7802, + "id": 7965, "isConstant": false, "isLValue": false, "isPure": false, @@ -37763,7 +37763,7 @@ "typeString": "tuple()" } }, - "id": 7803, + "id": 7966, "nodeType": "ExpressionStatement", "src": "5475:45:29" } @@ -37771,7 +37771,7 @@ }, "documentation": null, "functionSelector": "02751cec", - "id": 7805, + "id": 7968, "implemented": true, "kind": "function", "modifiers": [ @@ -37779,11 +37779,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7758, + "id": 7921, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7754, + "referencedDeclaration": 7917, "src": "5085:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -37791,14 +37791,14 @@ } } ], - "id": 7759, + "id": 7922, "modifierName": { "argumentTypes": null, - "id": 7757, + "id": 7920, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "5078:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -37812,23 +37812,23 @@ "name": "removeLiquidityETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 7756, + "id": 7919, "nodeType": "OverrideSpecifier", "overrides": [], "src": "5069:8:29" }, "parameters": { - "id": 7755, + "id": 7918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7744, + "id": 7907, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4911:13:29", "stateVariable": false, "storageLocation": "default", @@ -37837,7 +37837,7 @@ "typeString": "address" }, "typeName": { - "id": 7743, + "id": 7906, "name": "address", "nodeType": "ElementaryTypeName", "src": "4911:7:29", @@ -37852,12 +37852,12 @@ }, { "constant": false, - "id": 7746, + "id": 7909, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4934:14:29", "stateVariable": false, "storageLocation": "default", @@ -37866,7 +37866,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7745, + "id": 7908, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4934:4:29", @@ -37880,12 +37880,12 @@ }, { "constant": false, - "id": 7748, + "id": 7911, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4958:19:29", "stateVariable": false, "storageLocation": "default", @@ -37894,7 +37894,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7747, + "id": 7910, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4958:4:29", @@ -37908,12 +37908,12 @@ }, { "constant": false, - "id": 7750, + "id": 7913, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "4987:17:29", "stateVariable": false, "storageLocation": "default", @@ -37922,7 +37922,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7749, + "id": 7912, "name": "uint", "nodeType": "ElementaryTypeName", "src": "4987:4:29", @@ -37936,12 +37936,12 @@ }, { "constant": false, - "id": 7752, + "id": 7915, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5014:10:29", "stateVariable": false, "storageLocation": "default", @@ -37950,7 +37950,7 @@ "typeString": "address" }, "typeName": { - "id": 7751, + "id": 7914, "name": "address", "nodeType": "ElementaryTypeName", "src": "5014:7:29", @@ -37965,12 +37965,12 @@ }, { "constant": false, - "id": 7754, + "id": 7917, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5034:13:29", "stateVariable": false, "storageLocation": "default", @@ -37979,7 +37979,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7753, + "id": 7916, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5034:4:29", @@ -37995,17 +37995,17 @@ "src": "4901:152:29" }, "returnParameters": { - "id": 7764, + "id": 7927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7761, + "id": 7924, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5104:16:29", "stateVariable": false, "storageLocation": "default", @@ -38014,7 +38014,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7760, + "id": 7923, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5104:4:29", @@ -38028,12 +38028,12 @@ }, { "constant": false, - "id": 7763, + "id": 7926, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7805, + "scope": 7968, "src": "5122:14:29", "stateVariable": false, "storageLocation": "default", @@ -38042,7 +38042,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7762, + "id": 7925, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5122:4:29", @@ -38057,7 +38057,7 @@ ], "src": "5103:34:29" }, - "scope": 9312, + "scope": 9475, "src": "4874:653:29", "stateMutability": "nonpayable", "virtual": true, @@ -38065,26 +38065,26 @@ }, { "baseFunctions": [ - 9523 + 9686 ], "body": { - "id": 7886, + "id": 8049, "nodeType": "Block", "src": "5857:338:29", "statements": [ { "assignments": [ - 7836 + 7999 ], "declarations": [ { "constant": false, - "id": 7836, + "id": 7999, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7886, + "scope": 8049, "src": "5867:12:29", "stateVariable": false, "storageLocation": "default", @@ -38093,7 +38093,7 @@ "typeString": "address" }, "typeName": { - "id": 7835, + "id": 7998, "name": "address", "nodeType": "ElementaryTypeName", "src": "5867:7:29", @@ -38107,17 +38107,17 @@ "visibility": "internal" } ], - "id": 7843, + "id": 8006, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7839, + "id": 8002, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "5907:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38126,11 +38126,11 @@ }, { "argumentTypes": null, - "id": 7840, + "id": 8003, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7807, + "referencedDeclaration": 7970, "src": "5916:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38139,11 +38139,11 @@ }, { "argumentTypes": null, - "id": 7841, + "id": 8004, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7809, + "referencedDeclaration": 7972, "src": "5924:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38168,32 +38168,32 @@ ], "expression": { "argumentTypes": null, - "id": 7837, + "id": 8000, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "5882:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7838, + "id": 8001, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "5882:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7842, + "id": 8005, "isConstant": false, "isLValue": false, "isPure": false, @@ -38213,17 +38213,17 @@ }, { "assignments": [ - 7845 + 8008 ], "declarations": [ { "constant": false, - "id": 7845, + "id": 8008, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7886, + "scope": 8049, "src": "5941:10:29", "stateVariable": false, "storageLocation": "default", @@ -38232,7 +38232,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7844, + "id": 8007, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5941:4:29", @@ -38245,16 +38245,16 @@ "visibility": "internal" } ], - "id": 7854, + "id": 8017, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 7846, + "id": 8009, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7821, + "referencedDeclaration": 7984, "src": "5954:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -38263,18 +38263,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 7852, + "id": 8015, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, + "referencedDeclaration": 7974, "src": "5978:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7853, + "id": 8016, "isConstant": false, "isLValue": false, "isPure": false, @@ -38286,7 +38286,7 @@ "arguments": [ { "argumentTypes": null, - "id": 7850, + "id": 8013, "isConstant": false, "isLValue": false, "isPure": true, @@ -38298,7 +38298,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 7849, + "id": 8012, "isConstant": false, "isLValue": false, "isPure": true, @@ -38326,7 +38326,7 @@ "typeString": "int_const -1" } ], - "id": 7848, + "id": 8011, "isConstant": false, "isLValue": false, "isPure": true, @@ -38338,7 +38338,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 7847, + "id": 8010, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5967:4:29", @@ -38348,7 +38348,7 @@ } } }, - "id": 7851, + "id": 8014, "isConstant": false, "isLValue": false, "isPure": true, @@ -38379,7 +38379,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7859, + "id": 8022, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38390,7 +38390,7 @@ "typeString": "msg" } }, - "id": 7860, + "id": 8023, "isConstant": false, "isLValue": false, "isPure": false, @@ -38409,14 +38409,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7863, + "id": 8026, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "6045:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -38424,11 +38424,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7862, + "id": 8025, "isConstant": false, "isLValue": false, "isPure": true, @@ -38440,7 +38440,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7861, + "id": 8024, "name": "address", "nodeType": "ElementaryTypeName", "src": "6037:7:29", @@ -38450,7 +38450,7 @@ } } }, - "id": 7864, + "id": 8027, "isConstant": false, "isLValue": false, "isPure": false, @@ -38467,11 +38467,11 @@ }, { "argumentTypes": null, - "id": 7865, + "id": 8028, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7845, + "referencedDeclaration": 8008, "src": "6052:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38480,11 +38480,11 @@ }, { "argumentTypes": null, - "id": 7866, + "id": 8029, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7819, + "referencedDeclaration": 7982, "src": "6059:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38493,11 +38493,11 @@ }, { "argumentTypes": null, - "id": 7867, + "id": 8030, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7823, + "referencedDeclaration": 7986, "src": "6069:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -38506,11 +38506,11 @@ }, { "argumentTypes": null, - "id": 7868, + "id": 8031, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7825, + "referencedDeclaration": 7988, "src": "6072:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -38519,11 +38519,11 @@ }, { "argumentTypes": null, - "id": 7869, + "id": 8032, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7827, + "referencedDeclaration": 7990, "src": "6075:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -38567,11 +38567,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7856, + "id": 8019, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7836, + "referencedDeclaration": 7999, "src": "6012:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38586,18 +38586,18 @@ "typeString": "address" } ], - "id": 7855, + "id": 8018, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "5997:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7857, + "id": 8020, "isConstant": false, "isLValue": false, "isPure": false, @@ -38608,25 +38608,25 @@ "src": "5997:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7858, + "id": 8021, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "5997:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 7870, + "id": 8033, "isConstant": false, "isLValue": false, "isPure": false, @@ -38641,14 +38641,14 @@ "typeString": "tuple()" } }, - "id": 7871, + "id": 8034, "nodeType": "ExpressionStatement", "src": "5997:80:29" }, { "expression": { "argumentTypes": null, - "id": 7884, + "id": 8047, "isConstant": false, "isLValue": false, "isPure": false, @@ -38658,11 +38658,11 @@ "components": [ { "argumentTypes": null, - "id": 7872, + "id": 8035, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7831, + "referencedDeclaration": 7994, "src": "6088:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38671,11 +38671,11 @@ }, { "argumentTypes": null, - "id": 7873, + "id": 8036, "name": "amountB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7833, + "referencedDeclaration": 7996, "src": "6097:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38683,7 +38683,7 @@ } } ], - "id": 7874, + "id": 8037, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -38703,11 +38703,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7876, + "id": 8039, "name": "tokenA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7807, + "referencedDeclaration": 7970, "src": "6124:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38716,11 +38716,11 @@ }, { "argumentTypes": null, - "id": 7877, + "id": 8040, "name": "tokenB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7809, + "referencedDeclaration": 7972, "src": "6132:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38729,11 +38729,11 @@ }, { "argumentTypes": null, - "id": 7878, + "id": 8041, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, + "referencedDeclaration": 7974, "src": "6140:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38742,11 +38742,11 @@ }, { "argumentTypes": null, - "id": 7879, + "id": 8042, "name": "amountAMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7813, + "referencedDeclaration": 7976, "src": "6151:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38755,11 +38755,11 @@ }, { "argumentTypes": null, - "id": 7880, + "id": 8043, "name": "amountBMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7815, + "referencedDeclaration": 7978, "src": "6163:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38768,11 +38768,11 @@ }, { "argumentTypes": null, - "id": 7881, + "id": 8044, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7817, + "referencedDeclaration": 7980, "src": "6175:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38781,11 +38781,11 @@ }, { "argumentTypes": null, - "id": 7882, + "id": 8045, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7819, + "referencedDeclaration": 7982, "src": "6179:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38824,18 +38824,18 @@ "typeString": "uint256" } ], - "id": 7875, + "id": 8038, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "6108:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7883, + "id": 8046, "isConstant": false, "isLValue": false, "isPure": false, @@ -38856,7 +38856,7 @@ "typeString": "tuple()" } }, - "id": 7885, + "id": 8048, "nodeType": "ExpressionStatement", "src": "6087:101:29" } @@ -38864,30 +38864,30 @@ }, "documentation": null, "functionSelector": "2195995c", - "id": 7887, + "id": 8050, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityWithPermit", "nodeType": "FunctionDefinition", "overrides": { - "id": 7829, + "id": 7992, "nodeType": "OverrideSpecifier", "overrides": [], "src": "5811:8:29" }, "parameters": { - "id": 7828, + "id": 7991, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7807, + "id": 7970, "mutability": "mutable", "name": "tokenA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5576:14:29", "stateVariable": false, "storageLocation": "default", @@ -38896,7 +38896,7 @@ "typeString": "address" }, "typeName": { - "id": 7806, + "id": 7969, "name": "address", "nodeType": "ElementaryTypeName", "src": "5576:7:29", @@ -38911,12 +38911,12 @@ }, { "constant": false, - "id": 7809, + "id": 7972, "mutability": "mutable", "name": "tokenB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5600:14:29", "stateVariable": false, "storageLocation": "default", @@ -38925,7 +38925,7 @@ "typeString": "address" }, "typeName": { - "id": 7808, + "id": 7971, "name": "address", "nodeType": "ElementaryTypeName", "src": "5600:7:29", @@ -38940,12 +38940,12 @@ }, { "constant": false, - "id": 7811, + "id": 7974, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5624:14:29", "stateVariable": false, "storageLocation": "default", @@ -38954,7 +38954,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7810, + "id": 7973, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5624:4:29", @@ -38968,12 +38968,12 @@ }, { "constant": false, - "id": 7813, + "id": 7976, "mutability": "mutable", "name": "amountAMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5648:15:29", "stateVariable": false, "storageLocation": "default", @@ -38982,7 +38982,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7812, + "id": 7975, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5648:4:29", @@ -38996,12 +38996,12 @@ }, { "constant": false, - "id": 7815, + "id": 7978, "mutability": "mutable", "name": "amountBMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5673:15:29", "stateVariable": false, "storageLocation": "default", @@ -39010,7 +39010,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7814, + "id": 7977, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5673:4:29", @@ -39024,12 +39024,12 @@ }, { "constant": false, - "id": 7817, + "id": 7980, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5698:10:29", "stateVariable": false, "storageLocation": "default", @@ -39038,7 +39038,7 @@ "typeString": "address" }, "typeName": { - "id": 7816, + "id": 7979, "name": "address", "nodeType": "ElementaryTypeName", "src": "5698:7:29", @@ -39053,12 +39053,12 @@ }, { "constant": false, - "id": 7819, + "id": 7982, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5718:13:29", "stateVariable": false, "storageLocation": "default", @@ -39067,7 +39067,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7818, + "id": 7981, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5718:4:29", @@ -39081,12 +39081,12 @@ }, { "constant": false, - "id": 7821, + "id": 7984, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5741:15:29", "stateVariable": false, "storageLocation": "default", @@ -39095,7 +39095,7 @@ "typeString": "bool" }, "typeName": { - "id": 7820, + "id": 7983, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5741:4:29", @@ -39109,12 +39109,12 @@ }, { "constant": false, - "id": 7823, + "id": 7986, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5758:7:29", "stateVariable": false, "storageLocation": "default", @@ -39123,7 +39123,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7822, + "id": 7985, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5758:5:29", @@ -39137,12 +39137,12 @@ }, { "constant": false, - "id": 7825, + "id": 7988, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5767:9:29", "stateVariable": false, "storageLocation": "default", @@ -39151,7 +39151,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7824, + "id": 7987, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5767:7:29", @@ -39165,12 +39165,12 @@ }, { "constant": false, - "id": 7827, + "id": 7990, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5778:9:29", "stateVariable": false, "storageLocation": "default", @@ -39179,7 +39179,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7826, + "id": 7989, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5778:7:29", @@ -39195,17 +39195,17 @@ "src": "5566:227:29" }, "returnParameters": { - "id": 7834, + "id": 7997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7831, + "id": 7994, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5829:12:29", "stateVariable": false, "storageLocation": "default", @@ -39214,7 +39214,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7830, + "id": 7993, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5829:4:29", @@ -39228,12 +39228,12 @@ }, { "constant": false, - "id": 7833, + "id": 7996, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7887, + "scope": 8050, "src": "5843:12:29", "stateVariable": false, "storageLocation": "default", @@ -39242,7 +39242,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7832, + "id": 7995, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5843:4:29", @@ -39257,7 +39257,7 @@ ], "src": "5828:28:29" }, - "scope": 9312, + "scope": 9475, "src": "5532:663:29", "stateMutability": "nonpayable", "virtual": true, @@ -39265,26 +39265,26 @@ }, { "baseFunctions": [ - 9550 + 9713 ], "body": { - "id": 7965, + "id": 8128, "nodeType": "Block", "src": "6515:341:29", "statements": [ { "assignments": [ - 7916 + 8079 ], "declarations": [ { "constant": false, - "id": 7916, + "id": 8079, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7965, + "scope": 8128, "src": "6525:12:29", "stateVariable": false, "storageLocation": "default", @@ -39293,7 +39293,7 @@ "typeString": "address" }, "typeName": { - "id": 7915, + "id": 8078, "name": "address", "nodeType": "ElementaryTypeName", "src": "6525:7:29", @@ -39307,17 +39307,17 @@ "visibility": "internal" } ], - "id": 7923, + "id": 8086, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7919, + "id": 8082, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "6565:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39326,11 +39326,11 @@ }, { "argumentTypes": null, - "id": 7920, + "id": 8083, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7889, + "referencedDeclaration": 8052, "src": "6574:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39339,11 +39339,11 @@ }, { "argumentTypes": null, - "id": 7921, + "id": 8084, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "6581:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39368,32 +39368,32 @@ ], "expression": { "argumentTypes": null, - "id": 7917, + "id": 8080, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "6540:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 7918, + "id": 8081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "6540:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 7922, + "id": 8085, "isConstant": false, "isLValue": false, "isPure": false, @@ -39413,17 +39413,17 @@ }, { "assignments": [ - 7925 + 8088 ], "declarations": [ { "constant": false, - "id": 7925, + "id": 8088, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7965, + "scope": 8128, "src": "6596:10:29", "stateVariable": false, "storageLocation": "default", @@ -39432,7 +39432,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7924, + "id": 8087, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6596:4:29", @@ -39445,16 +39445,16 @@ "visibility": "internal" } ], - "id": 7934, + "id": 8097, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 7926, + "id": 8089, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7901, + "referencedDeclaration": 8064, "src": "6609:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -39463,18 +39463,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 7932, + "id": 8095, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8054, "src": "6633:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7933, + "id": 8096, "isConstant": false, "isLValue": false, "isPure": false, @@ -39486,7 +39486,7 @@ "arguments": [ { "argumentTypes": null, - "id": 7930, + "id": 8093, "isConstant": false, "isLValue": false, "isPure": true, @@ -39498,7 +39498,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 7929, + "id": 8092, "isConstant": false, "isLValue": false, "isPure": true, @@ -39526,7 +39526,7 @@ "typeString": "int_const -1" } ], - "id": 7928, + "id": 8091, "isConstant": false, "isLValue": false, "isPure": true, @@ -39538,7 +39538,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 7927, + "id": 8090, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6622:4:29", @@ -39548,7 +39548,7 @@ } } }, - "id": 7931, + "id": 8094, "isConstant": false, "isLValue": false, "isPure": true, @@ -39579,7 +39579,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7939, + "id": 8102, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -39590,7 +39590,7 @@ "typeString": "msg" } }, - "id": 7940, + "id": 8103, "isConstant": false, "isLValue": false, "isPure": false, @@ -39609,14 +39609,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7943, + "id": 8106, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "6700:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -39624,11 +39624,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7942, + "id": 8105, "isConstant": false, "isLValue": false, "isPure": true, @@ -39640,7 +39640,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7941, + "id": 8104, "name": "address", "nodeType": "ElementaryTypeName", "src": "6692:7:29", @@ -39650,7 +39650,7 @@ } } }, - "id": 7944, + "id": 8107, "isConstant": false, "isLValue": false, "isPure": false, @@ -39667,11 +39667,11 @@ }, { "argumentTypes": null, - "id": 7945, + "id": 8108, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7925, + "referencedDeclaration": 8088, "src": "6707:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39680,11 +39680,11 @@ }, { "argumentTypes": null, - "id": 7946, + "id": 8109, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7899, + "referencedDeclaration": 8062, "src": "6714:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39693,11 +39693,11 @@ }, { "argumentTypes": null, - "id": 7947, + "id": 8110, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7903, + "referencedDeclaration": 8066, "src": "6724:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -39706,11 +39706,11 @@ }, { "argumentTypes": null, - "id": 7948, + "id": 8111, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7905, + "referencedDeclaration": 8068, "src": "6727:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -39719,11 +39719,11 @@ }, { "argumentTypes": null, - "id": 7949, + "id": 8112, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7907, + "referencedDeclaration": 8070, "src": "6730:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -39767,11 +39767,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7936, + "id": 8099, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7916, + "referencedDeclaration": 8079, "src": "6667:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39786,18 +39786,18 @@ "typeString": "address" } ], - "id": 7935, + "id": 8098, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "6652:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 7937, + "id": 8100, "isConstant": false, "isLValue": false, "isPure": false, @@ -39808,25 +39808,25 @@ "src": "6652:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 7938, + "id": 8101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "6652:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 7950, + "id": 8113, "isConstant": false, "isLValue": false, "isPure": false, @@ -39841,14 +39841,14 @@ "typeString": "tuple()" } }, - "id": 7951, + "id": 8114, "nodeType": "ExpressionStatement", "src": "6652:80:29" }, { "expression": { "argumentTypes": null, - "id": 7963, + "id": 8126, "isConstant": false, "isLValue": false, "isPure": false, @@ -39858,11 +39858,11 @@ "components": [ { "argumentTypes": null, - "id": 7952, + "id": 8115, "name": "amountToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7911, + "referencedDeclaration": 8074, "src": "6743:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39871,11 +39871,11 @@ }, { "argumentTypes": null, - "id": 7953, + "id": 8116, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7913, + "referencedDeclaration": 8076, "src": "6756:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39883,7 +39883,7 @@ } } ], - "id": 7954, + "id": 8117, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -39903,11 +39903,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7956, + "id": 8119, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7889, + "referencedDeclaration": 8052, "src": "6788:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39916,11 +39916,11 @@ }, { "argumentTypes": null, - "id": 7957, + "id": 8120, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8054, "src": "6795:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39929,11 +39929,11 @@ }, { "argumentTypes": null, - "id": 7958, + "id": 8121, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7893, + "referencedDeclaration": 8056, "src": "6806:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39942,11 +39942,11 @@ }, { "argumentTypes": null, - "id": 7959, + "id": 8122, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7895, + "referencedDeclaration": 8058, "src": "6822:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -39955,11 +39955,11 @@ }, { "argumentTypes": null, - "id": 7960, + "id": 8123, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7897, + "referencedDeclaration": 8060, "src": "6836:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39968,11 +39968,11 @@ }, { "argumentTypes": null, - "id": 7961, + "id": 8124, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7899, + "referencedDeclaration": 8062, "src": "6840:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40007,18 +40007,18 @@ "typeString": "uint256" } ], - "id": 7955, + "id": 8118, "name": "removeLiquidityETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7805, + "referencedDeclaration": 7968, "src": "6769:18:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 7962, + "id": 8125, "isConstant": false, "isLValue": false, "isPure": false, @@ -40039,7 +40039,7 @@ "typeString": "tuple()" } }, - "id": 7964, + "id": 8127, "nodeType": "ExpressionStatement", "src": "6742:107:29" } @@ -40047,30 +40047,30 @@ }, "documentation": null, "functionSelector": "ded9382a", - "id": 7966, + "id": 8129, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermit", "nodeType": "FunctionDefinition", "overrides": { - "id": 7909, + "id": 8072, "nodeType": "OverrideSpecifier", "overrides": [], "src": "6463:8:29" }, "parameters": { - "id": 7908, + "id": 8071, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7889, + "id": 8052, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6247:13:29", "stateVariable": false, "storageLocation": "default", @@ -40079,7 +40079,7 @@ "typeString": "address" }, "typeName": { - "id": 7888, + "id": 8051, "name": "address", "nodeType": "ElementaryTypeName", "src": "6247:7:29", @@ -40094,12 +40094,12 @@ }, { "constant": false, - "id": 7891, + "id": 8054, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6270:14:29", "stateVariable": false, "storageLocation": "default", @@ -40108,7 +40108,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7890, + "id": 8053, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6270:4:29", @@ -40122,12 +40122,12 @@ }, { "constant": false, - "id": 7893, + "id": 8056, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6294:19:29", "stateVariable": false, "storageLocation": "default", @@ -40136,7 +40136,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7892, + "id": 8055, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6294:4:29", @@ -40150,12 +40150,12 @@ }, { "constant": false, - "id": 7895, + "id": 8058, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6323:17:29", "stateVariable": false, "storageLocation": "default", @@ -40164,7 +40164,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7894, + "id": 8057, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6323:4:29", @@ -40178,12 +40178,12 @@ }, { "constant": false, - "id": 7897, + "id": 8060, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6350:10:29", "stateVariable": false, "storageLocation": "default", @@ -40192,7 +40192,7 @@ "typeString": "address" }, "typeName": { - "id": 7896, + "id": 8059, "name": "address", "nodeType": "ElementaryTypeName", "src": "6350:7:29", @@ -40207,12 +40207,12 @@ }, { "constant": false, - "id": 7899, + "id": 8062, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6370:13:29", "stateVariable": false, "storageLocation": "default", @@ -40221,7 +40221,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7898, + "id": 8061, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6370:4:29", @@ -40235,12 +40235,12 @@ }, { "constant": false, - "id": 7901, + "id": 8064, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6393:15:29", "stateVariable": false, "storageLocation": "default", @@ -40249,7 +40249,7 @@ "typeString": "bool" }, "typeName": { - "id": 7900, + "id": 8063, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6393:4:29", @@ -40263,12 +40263,12 @@ }, { "constant": false, - "id": 7903, + "id": 8066, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6410:7:29", "stateVariable": false, "storageLocation": "default", @@ -40277,7 +40277,7 @@ "typeString": "uint8" }, "typeName": { - "id": 7902, + "id": 8065, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "6410:5:29", @@ -40291,12 +40291,12 @@ }, { "constant": false, - "id": 7905, + "id": 8068, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6419:9:29", "stateVariable": false, "storageLocation": "default", @@ -40305,7 +40305,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7904, + "id": 8067, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6419:7:29", @@ -40319,12 +40319,12 @@ }, { "constant": false, - "id": 7907, + "id": 8070, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6430:9:29", "stateVariable": false, "storageLocation": "default", @@ -40333,7 +40333,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7906, + "id": 8069, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6430:7:29", @@ -40349,17 +40349,17 @@ "src": "6237:208:29" }, "returnParameters": { - "id": 7914, + "id": 8077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7911, + "id": 8074, "mutability": "mutable", "name": "amountToken", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6481:16:29", "stateVariable": false, "storageLocation": "default", @@ -40368,7 +40368,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7910, + "id": 8073, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6481:4:29", @@ -40382,12 +40382,12 @@ }, { "constant": false, - "id": 7913, + "id": 8076, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 7966, + "scope": 8129, "src": "6499:14:29", "stateVariable": false, "storageLocation": "default", @@ -40396,7 +40396,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7912, + "id": 8075, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6499:4:29", @@ -40411,7 +40411,7 @@ ], "src": "6480:34:29" }, - "scope": 9312, + "scope": 9475, "src": "6200:656:29", "stateMutability": "nonpayable", "virtual": true, @@ -40419,17 +40419,17 @@ }, { "baseFunctions": [ - 9726 + 9889 ], "body": { - "id": 8033, + "id": 8196, "nodeType": "Block", "src": "7207:405:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8001, + "id": 8164, "isConstant": false, "isLValue": false, "isPure": false, @@ -40440,11 +40440,11 @@ null, { "argumentTypes": null, - "id": 7987, + "id": 8150, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7220:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40452,7 +40452,7 @@ } } ], - "id": 7988, + "id": 8151, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -40472,11 +40472,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7990, + "id": 8153, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7262:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40485,11 +40485,11 @@ }, { "argumentTypes": null, - "id": 7991, + "id": 8154, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "7281:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40498,11 +40498,11 @@ }, { "argumentTypes": null, - "id": 7992, + "id": 8155, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7970, + "referencedDeclaration": 8133, "src": "7299:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40511,11 +40511,11 @@ }, { "argumentTypes": null, - "id": 7993, + "id": 8156, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7972, + "referencedDeclaration": 8135, "src": "7322:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40524,11 +40524,11 @@ }, { "argumentTypes": null, - "id": 7994, + "id": 8157, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7974, + "referencedDeclaration": 8137, "src": "7350:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40540,14 +40540,14 @@ "arguments": [ { "argumentTypes": null, - "id": 7997, + "id": 8160, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7384:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -40555,11 +40555,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 7996, + "id": 8159, "isConstant": false, "isLValue": false, "isPure": true, @@ -40571,7 +40571,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 7995, + "id": 8158, "name": "address", "nodeType": "ElementaryTypeName", "src": "7376:7:29", @@ -40581,7 +40581,7 @@ } } }, - "id": 7998, + "id": 8161, "isConstant": false, "isLValue": false, "isPure": false, @@ -40598,11 +40598,11 @@ }, { "argumentTypes": null, - "id": 7999, + "id": 8162, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7978, + "referencedDeclaration": 8141, "src": "7403:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40641,18 +40641,18 @@ "typeString": "uint256" } ], - "id": 7989, + "id": 8152, "name": "removeLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7742, + "referencedDeclaration": 7905, "src": "7233:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)" } }, - "id": 8000, + "id": 8163, "isConstant": false, "isLValue": false, "isPure": false, @@ -40673,7 +40673,7 @@ "typeString": "tuple()" } }, - "id": 8002, + "id": 8165, "nodeType": "ExpressionStatement", "src": "7217:204:29" }, @@ -40683,11 +40683,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8006, + "id": 8169, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7459:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40696,11 +40696,11 @@ }, { "argumentTypes": null, - "id": 8007, + "id": 8170, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7976, + "referencedDeclaration": 8139, "src": "7466:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40715,14 +40715,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8014, + "id": 8177, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "7502:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -40730,11 +40730,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8013, + "id": 8176, "isConstant": false, "isLValue": false, "isPure": true, @@ -40746,7 +40746,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8012, + "id": 8175, "name": "address", "nodeType": "ElementaryTypeName", "src": "7494:7:29", @@ -40756,7 +40756,7 @@ } } }, - "id": 8015, + "id": 8178, "isConstant": false, "isLValue": false, "isPure": false, @@ -40784,11 +40784,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8009, + "id": 8172, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, + "referencedDeclaration": 8131, "src": "7477:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40803,18 +40803,18 @@ "typeString": "address" } ], - "id": 8008, + "id": 8171, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "7470:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8010, + "id": 8173, "isConstant": false, "isLValue": false, "isPure": false, @@ -40825,25 +40825,25 @@ "src": "7470:13:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8011, + "id": 8174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "7470:23:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8016, + "id": 8179, "isConstant": false, "isLValue": false, "isPure": false, @@ -40876,32 +40876,32 @@ ], "expression": { "argumentTypes": null, - "id": 8003, + "id": 8166, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "7431:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8005, + "id": 8168, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 6897, + "referencedDeclaration": 7060, "src": "7431:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8017, + "id": 8180, "isConstant": false, "isLValue": false, "isPure": false, @@ -40916,7 +40916,7 @@ "typeString": "tuple()" } }, - "id": 8018, + "id": 8181, "nodeType": "ExpressionStatement", "src": "7431:78:29" }, @@ -40926,11 +40926,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8023, + "id": 8186, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7540:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40950,11 +40950,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8020, + "id": 8183, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "7525:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40969,18 +40969,18 @@ "typeString": "address" } ], - "id": 8019, + "id": 8182, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "7519:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8021, + "id": 8184, "isConstant": false, "isLValue": false, "isPure": false, @@ -40991,25 +40991,25 @@ "src": "7519:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8022, + "id": 8185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "7519:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8024, + "id": 8187, "isConstant": false, "isLValue": false, "isPure": false, @@ -41024,7 +41024,7 @@ "typeString": "tuple()" } }, - "id": 8025, + "id": 8188, "nodeType": "ExpressionStatement", "src": "7519:31:29" }, @@ -41034,11 +41034,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8029, + "id": 8192, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7976, + "referencedDeclaration": 8139, "src": "7591:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41047,11 +41047,11 @@ }, { "argumentTypes": null, - "id": 8030, + "id": 8193, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7985, + "referencedDeclaration": 8148, "src": "7595:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41072,32 +41072,32 @@ ], "expression": { "argumentTypes": null, - "id": 8026, + "id": 8189, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "7560:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8028, + "id": 8191, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "7560:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8031, + "id": 8194, "isConstant": false, "isLValue": false, "isPure": false, @@ -41112,7 +41112,7 @@ "typeString": "tuple()" } }, - "id": 8032, + "id": 8195, "nodeType": "ExpressionStatement", "src": "7560:45:29" } @@ -41120,7 +41120,7 @@ }, "documentation": null, "functionSelector": "af2979eb", - "id": 8034, + "id": 8197, "implemented": true, "kind": "function", "modifiers": [ @@ -41128,11 +41128,11 @@ "arguments": [ { "argumentTypes": null, - "id": 7982, + "id": 8145, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7978, + "referencedDeclaration": 8141, "src": "7172:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41140,14 +41140,14 @@ } } ], - "id": 7983, + "id": 8146, "modifierName": { "argumentTypes": null, - "id": 7981, + "id": 8144, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "7165:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -41161,23 +41161,23 @@ "name": "removeLiquidityETHSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 7980, + "id": 8143, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7156:8:29" }, "parameters": { - "id": 7979, + "id": 8142, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7968, + "id": 8131, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "6998:13:29", "stateVariable": false, "storageLocation": "default", @@ -41186,7 +41186,7 @@ "typeString": "address" }, "typeName": { - "id": 7967, + "id": 8130, "name": "address", "nodeType": "ElementaryTypeName", "src": "6998:7:29", @@ -41201,12 +41201,12 @@ }, { "constant": false, - "id": 7970, + "id": 8133, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7021:14:29", "stateVariable": false, "storageLocation": "default", @@ -41215,7 +41215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7969, + "id": 8132, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7021:4:29", @@ -41229,12 +41229,12 @@ }, { "constant": false, - "id": 7972, + "id": 8135, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7045:19:29", "stateVariable": false, "storageLocation": "default", @@ -41243,7 +41243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7971, + "id": 8134, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7045:4:29", @@ -41257,12 +41257,12 @@ }, { "constant": false, - "id": 7974, + "id": 8137, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7074:17:29", "stateVariable": false, "storageLocation": "default", @@ -41271,7 +41271,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7973, + "id": 8136, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7074:4:29", @@ -41285,12 +41285,12 @@ }, { "constant": false, - "id": 7976, + "id": 8139, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7101:10:29", "stateVariable": false, "storageLocation": "default", @@ -41299,7 +41299,7 @@ "typeString": "address" }, "typeName": { - "id": 7975, + "id": 8138, "name": "address", "nodeType": "ElementaryTypeName", "src": "7101:7:29", @@ -41314,12 +41314,12 @@ }, { "constant": false, - "id": 7978, + "id": 8141, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7121:13:29", "stateVariable": false, "storageLocation": "default", @@ -41328,7 +41328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7977, + "id": 8140, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7121:4:29", @@ -41344,17 +41344,17 @@ "src": "6988:152:29" }, "returnParameters": { - "id": 7986, + "id": 8149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7985, + "id": 8148, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8034, + "scope": 8197, "src": "7191:14:29", "stateVariable": false, "storageLocation": "default", @@ -41363,7 +41363,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7984, + "id": 8147, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7191:4:29", @@ -41378,7 +41378,7 @@ ], "src": "7190:16:29" }, - "scope": 9312, + "scope": 9475, "src": "6932:680:29", "stateMutability": "nonpayable", "virtual": true, @@ -41386,26 +41386,26 @@ }, { "baseFunctions": [ - 9751 + 9914 ], "body": { - "id": 8108, + "id": 8271, "nodeType": "Block", "src": "7943:377:29", "statements": [ { "assignments": [ - 8061 + 8224 ], "declarations": [ { "constant": false, - "id": 8061, + "id": 8224, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8108, + "scope": 8271, "src": "7953:12:29", "stateVariable": false, "storageLocation": "default", @@ -41414,7 +41414,7 @@ "typeString": "address" }, "typeName": { - "id": 8060, + "id": 8223, "name": "address", "nodeType": "ElementaryTypeName", "src": "7953:7:29", @@ -41428,17 +41428,17 @@ "visibility": "internal" } ], - "id": 8068, + "id": 8231, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8064, + "id": 8227, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "7993:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41447,11 +41447,11 @@ }, { "argumentTypes": null, - "id": 8065, + "id": 8228, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, + "referencedDeclaration": 8199, "src": "8002:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41460,11 +41460,11 @@ }, { "argumentTypes": null, - "id": 8066, + "id": 8229, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "8009:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41489,32 +41489,32 @@ ], "expression": { "argumentTypes": null, - "id": 8062, + "id": 8225, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "7968:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8063, + "id": 8226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "7968:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8067, + "id": 8230, "isConstant": false, "isLValue": false, "isPure": false, @@ -41534,17 +41534,17 @@ }, { "assignments": [ - 8070 + 8233 ], "declarations": [ { "constant": false, - "id": 8070, + "id": 8233, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8108, + "scope": 8271, "src": "8024:10:29", "stateVariable": false, "storageLocation": "default", @@ -41553,7 +41553,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8069, + "id": 8232, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8024:4:29", @@ -41566,16 +41566,16 @@ "visibility": "internal" } ], - "id": 8079, + "id": 8242, "initialValue": { "argumentTypes": null, "condition": { "argumentTypes": null, - "id": 8071, + "id": 8234, "name": "approveMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8048, + "referencedDeclaration": 8211, "src": "8037:10:29", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41584,18 +41584,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8077, + "id": 8240, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, + "referencedDeclaration": 8201, "src": "8061:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8078, + "id": 8241, "isConstant": false, "isLValue": false, "isPure": false, @@ -41607,7 +41607,7 @@ "arguments": [ { "argumentTypes": null, - "id": 8075, + "id": 8238, "isConstant": false, "isLValue": false, "isPure": true, @@ -41619,7 +41619,7 @@ "subExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8074, + "id": 8237, "isConstant": false, "isLValue": false, "isPure": true, @@ -41647,7 +41647,7 @@ "typeString": "int_const -1" } ], - "id": 8073, + "id": 8236, "isConstant": false, "isLValue": false, "isPure": true, @@ -41659,7 +41659,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8072, + "id": 8235, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8050:4:29", @@ -41669,7 +41669,7 @@ } } }, - "id": 8076, + "id": 8239, "isConstant": false, "isLValue": false, "isPure": true, @@ -41700,7 +41700,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8084, + "id": 8247, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -41711,7 +41711,7 @@ "typeString": "msg" } }, - "id": 8085, + "id": 8248, "isConstant": false, "isLValue": false, "isPure": false, @@ -41730,14 +41730,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8088, + "id": 8251, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "8128:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -41745,11 +41745,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8087, + "id": 8250, "isConstant": false, "isLValue": false, "isPure": true, @@ -41761,7 +41761,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8086, + "id": 8249, "name": "address", "nodeType": "ElementaryTypeName", "src": "8120:7:29", @@ -41771,7 +41771,7 @@ } } }, - "id": 8089, + "id": 8252, "isConstant": false, "isLValue": false, "isPure": false, @@ -41788,11 +41788,11 @@ }, { "argumentTypes": null, - "id": 8090, + "id": 8253, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8070, + "referencedDeclaration": 8233, "src": "8135:5:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41801,11 +41801,11 @@ }, { "argumentTypes": null, - "id": 8091, + "id": 8254, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, + "referencedDeclaration": 8209, "src": "8142:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41814,11 +41814,11 @@ }, { "argumentTypes": null, - "id": 8092, + "id": 8255, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8050, + "referencedDeclaration": 8213, "src": "8152:1:29", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -41827,11 +41827,11 @@ }, { "argumentTypes": null, - "id": 8093, + "id": 8256, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8052, + "referencedDeclaration": 8215, "src": "8155:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -41840,11 +41840,11 @@ }, { "argumentTypes": null, - "id": 8094, + "id": 8257, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8054, + "referencedDeclaration": 8217, "src": "8158:1:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -41888,11 +41888,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8081, + "id": 8244, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8061, + "referencedDeclaration": 8224, "src": "8095:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41907,18 +41907,18 @@ "typeString": "address" } ], - "id": 8080, + "id": 8243, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "8080:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8082, + "id": 8245, "isConstant": false, "isLValue": false, "isPure": false, @@ -41929,25 +41929,25 @@ "src": "8080:20:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8083, + "id": 8246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "permit", "nodeType": "MemberAccess", - "referencedDeclaration": 7149, + "referencedDeclaration": 7312, "src": "8080:27:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" } }, - "id": 8095, + "id": 8258, "isConstant": false, "isLValue": false, "isPure": false, @@ -41962,25 +41962,25 @@ "typeString": "tuple()" } }, - "id": 8096, + "id": 8259, "nodeType": "ExpressionStatement", "src": "8080:80:29" }, { "expression": { "argumentTypes": null, - "id": 8106, + "id": 8269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8097, + "id": 8260, "name": "amountETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8058, + "referencedDeclaration": 8221, "src": "8170:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41994,11 +41994,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8099, + "id": 8262, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, + "referencedDeclaration": 8199, "src": "8243:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42007,11 +42007,11 @@ }, { "argumentTypes": null, - "id": 8100, + "id": 8263, "name": "liquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8038, + "referencedDeclaration": 8201, "src": "8250:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42020,11 +42020,11 @@ }, { "argumentTypes": null, - "id": 8101, + "id": 8264, "name": "amountTokenMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8040, + "referencedDeclaration": 8203, "src": "8261:14:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42033,11 +42033,11 @@ }, { "argumentTypes": null, - "id": 8102, + "id": 8265, "name": "amountETHMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8042, + "referencedDeclaration": 8205, "src": "8277:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42046,11 +42046,11 @@ }, { "argumentTypes": null, - "id": 8103, + "id": 8266, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8044, + "referencedDeclaration": 8207, "src": "8291:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42059,11 +42059,11 @@ }, { "argumentTypes": null, - "id": 8104, + "id": 8267, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8046, + "referencedDeclaration": 8209, "src": "8295:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42098,18 +42098,18 @@ "typeString": "uint256" } ], - "id": 8098, + "id": 8261, "name": "removeLiquidityETHSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8034, + "referencedDeclaration": 8197, "src": "8182:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256)" } }, - "id": 8105, + "id": 8268, "isConstant": false, "isLValue": false, "isPure": false, @@ -42130,7 +42130,7 @@ "typeString": "uint256" } }, - "id": 8107, + "id": 8270, "nodeType": "ExpressionStatement", "src": "8170:143:29" } @@ -42138,30 +42138,30 @@ }, "documentation": null, "functionSelector": "5b0d5984", - "id": 8109, + "id": 8272, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8056, + "id": 8219, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7909:8:29" }, "parameters": { - "id": 8055, + "id": 8218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8036, + "id": 8199, "mutability": "mutable", "name": "token", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7693:13:29", "stateVariable": false, "storageLocation": "default", @@ -42170,7 +42170,7 @@ "typeString": "address" }, "typeName": { - "id": 8035, + "id": 8198, "name": "address", "nodeType": "ElementaryTypeName", "src": "7693:7:29", @@ -42185,12 +42185,12 @@ }, { "constant": false, - "id": 8038, + "id": 8201, "mutability": "mutable", "name": "liquidity", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7716:14:29", "stateVariable": false, "storageLocation": "default", @@ -42199,7 +42199,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8037, + "id": 8200, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7716:4:29", @@ -42213,12 +42213,12 @@ }, { "constant": false, - "id": 8040, + "id": 8203, "mutability": "mutable", "name": "amountTokenMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7740:19:29", "stateVariable": false, "storageLocation": "default", @@ -42227,7 +42227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8039, + "id": 8202, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7740:4:29", @@ -42241,12 +42241,12 @@ }, { "constant": false, - "id": 8042, + "id": 8205, "mutability": "mutable", "name": "amountETHMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7769:17:29", "stateVariable": false, "storageLocation": "default", @@ -42255,7 +42255,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8041, + "id": 8204, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7769:4:29", @@ -42269,12 +42269,12 @@ }, { "constant": false, - "id": 8044, + "id": 8207, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7796:10:29", "stateVariable": false, "storageLocation": "default", @@ -42283,7 +42283,7 @@ "typeString": "address" }, "typeName": { - "id": 8043, + "id": 8206, "name": "address", "nodeType": "ElementaryTypeName", "src": "7796:7:29", @@ -42298,12 +42298,12 @@ }, { "constant": false, - "id": 8046, + "id": 8209, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7816:13:29", "stateVariable": false, "storageLocation": "default", @@ -42312,7 +42312,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8045, + "id": 8208, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7816:4:29", @@ -42326,12 +42326,12 @@ }, { "constant": false, - "id": 8048, + "id": 8211, "mutability": "mutable", "name": "approveMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7839:15:29", "stateVariable": false, "storageLocation": "default", @@ -42340,7 +42340,7 @@ "typeString": "bool" }, "typeName": { - "id": 8047, + "id": 8210, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7839:4:29", @@ -42354,12 +42354,12 @@ }, { "constant": false, - "id": 8050, + "id": 8213, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7856:7:29", "stateVariable": false, "storageLocation": "default", @@ -42368,7 +42368,7 @@ "typeString": "uint8" }, "typeName": { - "id": 8049, + "id": 8212, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "7856:5:29", @@ -42382,12 +42382,12 @@ }, { "constant": false, - "id": 8052, + "id": 8215, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7865:9:29", "stateVariable": false, "storageLocation": "default", @@ -42396,7 +42396,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8051, + "id": 8214, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7865:7:29", @@ -42410,12 +42410,12 @@ }, { "constant": false, - "id": 8054, + "id": 8217, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7876:9:29", "stateVariable": false, "storageLocation": "default", @@ -42424,7 +42424,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8053, + "id": 8216, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7876:7:29", @@ -42440,17 +42440,17 @@ "src": "7683:208:29" }, "returnParameters": { - "id": 8059, + "id": 8222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8058, + "id": 8221, "mutability": "mutable", "name": "amountETH", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8109, + "scope": 8272, "src": "7927:14:29", "stateVariable": false, "storageLocation": "default", @@ -42459,7 +42459,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8057, + "id": 8220, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7927:4:29", @@ -42474,7 +42474,7 @@ ], "src": "7926:16:29" }, - "scope": 9312, + "scope": 9475, "src": "7617:703:29", "stateMutability": "nonpayable", "virtual": true, @@ -42482,30 +42482,30 @@ }, { "body": { - "id": 8224, + "id": 8387, "nodeType": "Block", "src": "8518:633:29", "statements": [ { "body": { - "id": 8222, + "id": 8385, "nodeType": "Block", "src": "8567:578:29", "statements": [ { "assignments": [ - 8133, - 8135 + 8296, + 8298 ], "declarations": [ { "constant": false, - "id": 8133, + "id": 8296, "mutability": "mutable", "name": "input", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8582:13:29", "stateVariable": false, "storageLocation": "default", @@ -42514,7 +42514,7 @@ "typeString": "address" }, "typeName": { - "id": 8132, + "id": 8295, "name": "address", "nodeType": "ElementaryTypeName", "src": "8582:7:29", @@ -42529,12 +42529,12 @@ }, { "constant": false, - "id": 8135, + "id": 8298, "mutability": "mutable", "name": "output", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8597:14:29", "stateVariable": false, "storageLocation": "default", @@ -42543,7 +42543,7 @@ "typeString": "address" }, "typeName": { - "id": 8134, + "id": 8297, "name": "address", "nodeType": "ElementaryTypeName", "src": "8597:7:29", @@ -42557,7 +42557,7 @@ "visibility": "internal" } ], - "id": 8145, + "id": 8308, "initialValue": { "argumentTypes": null, "components": [ @@ -42565,25 +42565,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8136, + "id": 8299, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8616:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8138, + "id": 8301, "indexExpression": { "argumentTypes": null, - "id": 8137, + "id": 8300, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8621:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42605,36 +42605,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8139, + "id": 8302, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8625:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8143, + "id": 8306, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8142, + "id": 8305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8140, + "id": 8303, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8630:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42646,7 +42646,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8141, + "id": 8304, "isConstant": false, "isLValue": false, "isPure": true, @@ -42679,7 +42679,7 @@ } } ], - "id": 8144, + "id": 8307, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42697,18 +42697,18 @@ }, { "assignments": [ - 8147, + 8310, null ], "declarations": [ { "constant": false, - "id": 8147, + "id": 8310, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8652:14:29", "stateVariable": false, "storageLocation": "default", @@ -42717,7 +42717,7 @@ "typeString": "address" }, "typeName": { - "id": 8146, + "id": 8309, "name": "address", "nodeType": "ElementaryTypeName", "src": "8652:7:29", @@ -42732,17 +42732,17 @@ }, null ], - "id": 8153, + "id": 8316, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8150, + "id": 8313, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "8699:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42751,11 +42751,11 @@ }, { "argumentTypes": null, - "id": 8151, + "id": 8314, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "8706:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42776,32 +42776,32 @@ ], "expression": { "argumentTypes": null, - "id": 8148, + "id": 8311, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "8671:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8149, + "id": 8312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "8671:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 8152, + "id": 8315, "isConstant": false, "isLValue": false, "isPure": false, @@ -42821,17 +42821,17 @@ }, { "assignments": [ - 8155 + 8318 ], "declarations": [ { "constant": false, - "id": 8155, + "id": 8318, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8727:14:29", "stateVariable": false, "storageLocation": "default", @@ -42840,7 +42840,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8154, + "id": 8317, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8727:4:29", @@ -42853,41 +42853,41 @@ "visibility": "internal" } ], - "id": 8161, + "id": 8324, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8156, + "id": 8319, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8112, + "referencedDeclaration": 8275, "src": "8744:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8160, + "id": 8323, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8159, + "id": 8322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8157, + "id": 8320, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8752:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42899,7 +42899,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8158, + "id": 8321, "isConstant": false, "isLValue": false, "isPure": true, @@ -42936,18 +42936,18 @@ }, { "assignments": [ - 8163, - 8165 + 8326, + 8328 ], "declarations": [ { "constant": false, - "id": 8163, + "id": 8326, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8773:15:29", "stateVariable": false, "storageLocation": "default", @@ -42956,7 +42956,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8162, + "id": 8325, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8773:4:29", @@ -42970,12 +42970,12 @@ }, { "constant": false, - "id": 8165, + "id": 8328, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8790:15:29", "stateVariable": false, "storageLocation": "default", @@ -42984,7 +42984,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8164, + "id": 8327, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8790:4:29", @@ -42997,7 +42997,7 @@ "visibility": "internal" } ], - "id": 8182, + "id": 8345, "initialValue": { "argumentTypes": null, "condition": { @@ -43006,18 +43006,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8168, + "id": 8331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8166, + "id": 8329, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "8809:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43028,11 +43028,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8167, + "id": 8330, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, + "referencedDeclaration": 8310, "src": "8818:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43050,11 +43050,11 @@ "components": [ { "argumentTypes": null, - "id": 8175, + "id": 8338, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8155, + "referencedDeclaration": 8318, "src": "8851:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43067,7 +43067,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8178, + "id": 8341, "isConstant": false, "isLValue": false, "isPure": true, @@ -43090,7 +43090,7 @@ "typeString": "int_const 0" } ], - "id": 8177, + "id": 8340, "isConstant": false, "isLValue": false, "isPure": true, @@ -43102,7 +43102,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8176, + "id": 8339, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8862:4:29", @@ -43112,7 +43112,7 @@ } } }, - "id": 8179, + "id": 8342, "isConstant": false, "isLValue": false, "isPure": true, @@ -43128,7 +43128,7 @@ } } ], - "id": 8180, + "id": 8343, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -43141,7 +43141,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8181, + "id": 8344, "isConstant": false, "isLValue": false, "isPure": false, @@ -43157,7 +43157,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8171, + "id": 8334, "isConstant": false, "isLValue": false, "isPure": true, @@ -43180,7 +43180,7 @@ "typeString": "int_const 0" } ], - "id": 8170, + "id": 8333, "isConstant": false, "isLValue": false, "isPure": true, @@ -43192,7 +43192,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8169, + "id": 8332, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8828:4:29", @@ -43202,7 +43202,7 @@ } } }, - "id": 8172, + "id": 8335, "isConstant": false, "isLValue": false, "isPure": true, @@ -43219,11 +43219,11 @@ }, { "argumentTypes": null, - "id": 8173, + "id": 8336, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8155, + "referencedDeclaration": 8318, "src": "8837:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43231,7 +43231,7 @@ } } ], - "id": 8174, + "id": 8337, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -43254,17 +43254,17 @@ }, { "assignments": [ - 8184 + 8347 ], "declarations": [ { "constant": false, - "id": 8184, + "id": 8347, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8222, + "scope": 8385, "src": "8884:10:29", "stateVariable": false, "storageLocation": "default", @@ -43273,7 +43273,7 @@ "typeString": "address" }, "typeName": { - "id": 8183, + "id": 8346, "name": "address", "nodeType": "ElementaryTypeName", "src": "8884:7:29", @@ -43287,7 +43287,7 @@ "visibility": "internal" } ], - "id": 8203, + "id": 8366, "initialValue": { "argumentTypes": null, "condition": { @@ -43296,18 +43296,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8190, + "id": 8353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8185, + "id": 8348, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8897:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43322,7 +43322,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8189, + "id": 8352, "isConstant": false, "isLValue": false, "isPure": false, @@ -43331,18 +43331,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8186, + "id": 8349, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8901:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8187, + "id": 8350, "isConstant": false, "isLValue": false, "isPure": false, @@ -43361,7 +43361,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8188, + "id": 8351, "isConstant": false, "isLValue": false, "isPure": true, @@ -43390,18 +43390,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8201, + "id": 8364, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8117, + "referencedDeclaration": 8280, "src": "8976:3:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8202, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, @@ -43413,11 +43413,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8193, + "id": 8356, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "8944:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43426,11 +43426,11 @@ }, { "argumentTypes": null, - "id": 8194, + "id": 8357, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "8953:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43441,36 +43441,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8195, + "id": 8358, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8961:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8199, + "id": 8362, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8198, + "id": 8361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8196, + "id": 8359, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8966:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43482,7 +43482,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8197, + "id": 8360, "isConstant": false, "isLValue": false, "isPure": true, @@ -43532,32 +43532,32 @@ ], "expression": { "argumentTypes": null, - "id": 8191, + "id": 8354, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "8919:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8192, + "id": 8355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "8919:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8200, + "id": 8363, "isConstant": false, "isLValue": false, "isPure": false, @@ -43586,11 +43586,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8213, + "id": 8376, "name": "amount0Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8163, + "referencedDeclaration": 8326, "src": "9080:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43599,11 +43599,11 @@ }, { "argumentTypes": null, - "id": 8214, + "id": 8377, "name": "amount1Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8165, + "referencedDeclaration": 8328, "src": "9092:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43612,11 +43612,11 @@ }, { "argumentTypes": null, - "id": 8215, + "id": 8378, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8184, + "referencedDeclaration": 8347, "src": "9104:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43629,7 +43629,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8218, + "id": 8381, "isConstant": false, "isLValue": false, "isPure": true, @@ -43652,7 +43652,7 @@ "typeString": "int_const 0" } ], - "id": 8217, + "id": 8380, "isConstant": false, "isLValue": false, "isPure": true, @@ -43664,7 +43664,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 8216, + "id": 8379, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9112:5:29", @@ -43674,7 +43674,7 @@ } } }, - "id": 8219, + "id": 8382, "isConstant": false, "isLValue": false, "isPure": true, @@ -43717,11 +43717,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8207, + "id": 8370, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9033:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43730,11 +43730,11 @@ }, { "argumentTypes": null, - "id": 8208, + "id": 8371, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8133, + "referencedDeclaration": 8296, "src": "9042:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43743,11 +43743,11 @@ }, { "argumentTypes": null, - "id": 8209, + "id": 8372, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8135, + "referencedDeclaration": 8298, "src": "9049:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43772,32 +43772,32 @@ ], "expression": { "argumentTypes": null, - "id": 8205, + "id": 8368, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9008:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8206, + "id": 8369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "9008:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8210, + "id": 8373, "isConstant": false, "isLValue": false, "isPure": false, @@ -43820,18 +43820,18 @@ "typeString": "address" } ], - "id": 8204, + "id": 8367, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "8993:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8211, + "id": 8374, "isConstant": false, "isLValue": false, "isPure": false, @@ -43842,25 +43842,25 @@ "src": "8993:64:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8212, + "id": 8375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swap", "nodeType": "MemberAccess", - "referencedDeclaration": 7258, + "referencedDeclaration": 7421, "src": "8993:69:29", "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": 8220, + "id": 8383, "isConstant": false, "isLValue": false, "isPure": false, @@ -43875,7 +43875,7 @@ "typeString": "tuple()" } }, - "id": 8221, + "id": 8384, "nodeType": "ExpressionStatement", "src": "8993:141:29" } @@ -43887,18 +43887,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8128, + "id": 8291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8123, + "id": 8286, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8541:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -43913,7 +43913,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8127, + "id": 8290, "isConstant": false, "isLValue": false, "isPure": false, @@ -43922,18 +43922,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8124, + "id": 8287, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, + "referencedDeclaration": 8278, "src": "8545:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8125, + "id": 8288, "isConstant": false, "isLValue": false, "isPure": false, @@ -43952,7 +43952,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8126, + "id": 8289, "isConstant": false, "isLValue": false, "isPure": true, @@ -43979,20 +43979,20 @@ "typeString": "bool" } }, - "id": 8223, + "id": 8386, "initializationExpression": { "assignments": [ - 8121 + 8284 ], "declarations": [ { "constant": false, - "id": 8121, + "id": 8284, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8223, + "scope": 8386, "src": "8533:6:29", "stateVariable": false, "storageLocation": "default", @@ -44001,7 +44001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8120, + "id": 8283, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8533:4:29", @@ -44014,7 +44014,7 @@ "visibility": "internal" } ], - "id": 8122, + "id": 8285, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "8533:6:29" @@ -44022,7 +44022,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 8130, + "id": 8293, "isConstant": false, "isLValue": false, "isPure": false, @@ -44033,11 +44033,11 @@ "src": "8562:3:29", "subExpression": { "argumentTypes": null, - "id": 8129, + "id": 8292, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8121, + "referencedDeclaration": 8284, "src": "8562:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -44049,7 +44049,7 @@ "typeString": "uint256" } }, - "id": 8131, + "id": 8294, "nodeType": "ExpressionStatement", "src": "8562:3:29" }, @@ -44059,7 +44059,7 @@ ] }, "documentation": null, - "id": 8225, + "id": 8388, "implemented": true, "kind": "function", "modifiers": [], @@ -44067,17 +44067,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 8118, + "id": 8281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8112, + "id": 8275, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8442:21:29", "stateVariable": false, "storageLocation": "memory", @@ -44087,7 +44087,7 @@ }, "typeName": { "baseType": { - "id": 8110, + "id": 8273, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8442:4:29", @@ -44096,7 +44096,7 @@ "typeString": "uint256" } }, - "id": 8111, + "id": 8274, "length": null, "nodeType": "ArrayTypeName", "src": "8442:6:29", @@ -44110,12 +44110,12 @@ }, { "constant": false, - "id": 8115, + "id": 8278, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8465:21:29", "stateVariable": false, "storageLocation": "memory", @@ -44125,7 +44125,7 @@ }, "typeName": { "baseType": { - "id": 8113, + "id": 8276, "name": "address", "nodeType": "ElementaryTypeName", "src": "8465:7:29", @@ -44135,7 +44135,7 @@ "typeString": "address" } }, - "id": 8114, + "id": 8277, "length": null, "nodeType": "ArrayTypeName", "src": "8465:9:29", @@ -44149,12 +44149,12 @@ }, { "constant": false, - "id": 8117, + "id": 8280, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8225, + "scope": 8388, "src": "8488:11:29", "stateVariable": false, "storageLocation": "default", @@ -44163,7 +44163,7 @@ "typeString": "address" }, "typeName": { - "id": 8116, + "id": 8279, "name": "address", "nodeType": "ElementaryTypeName", "src": "8488:7:29", @@ -44180,12 +44180,12 @@ "src": "8441:59:29" }, "returnParameters": { - "id": 8119, + "id": 8282, "nodeType": "ParameterList", "parameters": [], "src": "8518:0:29" }, - "scope": 9312, + "scope": 9475, "src": "8427:724:29", "stateMutability": "nonpayable", "virtual": true, @@ -44193,28 +44193,28 @@ }, { "baseFunctions": [ - 9567 + 9730 ], "body": { - "id": 8296, + "id": 8459, "nodeType": "Block", "src": "9397:374:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8253, + "id": 8416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8246, + "id": 8409, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9407:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -44228,11 +44228,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8249, + "id": 8412, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9448:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44241,11 +44241,11 @@ }, { "argumentTypes": null, - "id": 8250, + "id": 8413, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8227, + "referencedDeclaration": 8390, "src": "9457:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -44254,11 +44254,11 @@ }, { "argumentTypes": null, - "id": 8251, + "id": 8414, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9467:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -44283,32 +44283,32 @@ ], "expression": { "argumentTypes": null, - "id": 8247, + "id": 8410, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9417:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8248, + "id": 8411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "9417:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8252, + "id": 8415, "isConstant": false, "isLValue": false, "isPure": false, @@ -44329,7 +44329,7 @@ "typeString": "uint256[] memory" } }, - "id": 8254, + "id": 8417, "nodeType": "ExpressionStatement", "src": "9407:65:29" }, @@ -44343,7 +44343,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8263, + "id": 8426, "isConstant": false, "isLValue": false, "isPure": false, @@ -44352,25 +44352,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8256, + "id": 8419, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9490:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8261, + "id": 8424, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8260, + "id": 8423, "isConstant": false, "isLValue": false, "isPure": false, @@ -44379,18 +44379,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8257, + "id": 8420, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9498:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8258, + "id": 8421, "isConstant": false, "isLValue": false, "isPure": false, @@ -44409,7 +44409,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8259, + "id": 8422, "isConstant": false, "isLValue": false, "isPure": true, @@ -44445,11 +44445,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8262, + "id": 8425, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8229, + "referencedDeclaration": 8392, "src": "9521:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -44465,7 +44465,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8264, + "id": 8427, "isConstant": false, "isLValue": false, "isPure": true, @@ -44492,7 +44492,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8255, + "id": 8418, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -44506,7 +44506,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8265, + "id": 8428, "isConstant": false, "isLValue": false, "isPure": false, @@ -44521,7 +44521,7 @@ "typeString": "tuple()" } }, - "id": 8266, + "id": 8429, "nodeType": "ExpressionStatement", "src": "9482:99:29" }, @@ -44533,22 +44533,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8270, + "id": 8433, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9636:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8272, + "id": 8435, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8271, + "id": 8434, "isConstant": false, "isLValue": false, "isPure": true, @@ -44578,7 +44578,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8273, + "id": 8436, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -44589,7 +44589,7 @@ "typeString": "msg" } }, - "id": 8274, + "id": 8437, "isConstant": false, "isLValue": false, "isPure": false, @@ -44608,11 +44608,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8277, + "id": 8440, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "9682:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44623,22 +44623,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8278, + "id": 8441, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9691:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8280, + "id": 8443, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8279, + "id": 8442, "isConstant": false, "isLValue": false, "isPure": true, @@ -44668,22 +44668,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8281, + "id": 8444, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9700:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8283, + "id": 8446, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8282, + "id": 8445, "isConstant": false, "isLValue": false, "isPure": true, @@ -44727,32 +44727,32 @@ ], "expression": { "argumentTypes": null, - "id": 8275, + "id": 8438, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "9657:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8276, + "id": 8439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "9657:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8284, + "id": 8447, "isConstant": false, "isLValue": false, "isPure": false, @@ -44771,22 +44771,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8285, + "id": 8448, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9710:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8287, + "id": 8450, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8286, + "id": 8449, "isConstant": false, "isLValue": false, "isPure": true, @@ -44834,32 +44834,32 @@ ], "expression": { "argumentTypes": null, - "id": 8267, + "id": 8430, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "9591:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8269, + "id": 8432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "9591:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8288, + "id": 8451, "isConstant": false, "isLValue": false, "isPure": false, @@ -44874,7 +44874,7 @@ "typeString": "tuple()" } }, - "id": 8289, + "id": 8452, "nodeType": "ExpressionStatement", "src": "9591:139:29" }, @@ -44884,11 +44884,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8291, + "id": 8454, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8244, + "referencedDeclaration": 8407, "src": "9746:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -44897,11 +44897,11 @@ }, { "argumentTypes": null, - "id": 8292, + "id": 8455, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8232, + "referencedDeclaration": 8395, "src": "9755:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -44910,11 +44910,11 @@ }, { "argumentTypes": null, - "id": 8293, + "id": 8456, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8234, + "referencedDeclaration": 8397, "src": "9761:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44937,18 +44937,18 @@ "typeString": "address" } ], - "id": 8290, + "id": 8453, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "9740:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8294, + "id": 8457, "isConstant": false, "isLValue": false, "isPure": false, @@ -44963,7 +44963,7 @@ "typeString": "tuple()" } }, - "id": 8295, + "id": 8458, "nodeType": "ExpressionStatement", "src": "9740:24:29" } @@ -44971,7 +44971,7 @@ }, "documentation": null, "functionSelector": "38ed1739", - "id": 8297, + "id": 8460, "implemented": true, "kind": "function", "modifiers": [ @@ -44979,11 +44979,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8240, + "id": 8403, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8236, + "referencedDeclaration": 8399, "src": "9355:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -44991,14 +44991,14 @@ } } ], - "id": 8241, + "id": 8404, "modifierName": { "argumentTypes": null, - "id": 8239, + "id": 8402, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "9348:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -45012,23 +45012,23 @@ "name": "swapExactTokensForTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8238, + "id": 8401, "nodeType": "OverrideSpecifier", "overrides": [], "src": "9339:8:29" }, "parameters": { - "id": 8237, + "id": 8400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8227, + "id": 8390, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9199:13:29", "stateVariable": false, "storageLocation": "default", @@ -45037,7 +45037,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8226, + "id": 8389, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9199:4:29", @@ -45051,12 +45051,12 @@ }, { "constant": false, - "id": 8229, + "id": 8392, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9222:17:29", "stateVariable": false, "storageLocation": "default", @@ -45065,7 +45065,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8228, + "id": 8391, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9222:4:29", @@ -45079,12 +45079,12 @@ }, { "constant": false, - "id": 8232, + "id": 8395, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9249:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -45094,7 +45094,7 @@ }, "typeName": { "baseType": { - "id": 8230, + "id": 8393, "name": "address", "nodeType": "ElementaryTypeName", "src": "9249:7:29", @@ -45104,7 +45104,7 @@ "typeString": "address" } }, - "id": 8231, + "id": 8394, "length": null, "nodeType": "ArrayTypeName", "src": "9249:9:29", @@ -45118,12 +45118,12 @@ }, { "constant": false, - "id": 8234, + "id": 8397, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9282:10:29", "stateVariable": false, "storageLocation": "default", @@ -45132,7 +45132,7 @@ "typeString": "address" }, "typeName": { - "id": 8233, + "id": 8396, "name": "address", "nodeType": "ElementaryTypeName", "src": "9282:7:29", @@ -45147,12 +45147,12 @@ }, { "constant": false, - "id": 8236, + "id": 8399, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9302:13:29", "stateVariable": false, "storageLocation": "default", @@ -45161,7 +45161,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8235, + "id": 8398, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9302:4:29", @@ -45177,17 +45177,17 @@ "src": "9189:132:29" }, "returnParameters": { - "id": 8245, + "id": 8408, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8244, + "id": 8407, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8297, + "scope": 8460, "src": "9374:21:29", "stateVariable": false, "storageLocation": "memory", @@ -45197,7 +45197,7 @@ }, "typeName": { "baseType": { - "id": 8242, + "id": 8405, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9374:4:29", @@ -45206,7 +45206,7 @@ "typeString": "uint256" } }, - "id": 8243, + "id": 8406, "length": null, "nodeType": "ArrayTypeName", "src": "9374:6:29", @@ -45221,7 +45221,7 @@ ], "src": "9373:23:29" }, - "scope": 9312, + "scope": 9475, "src": "9156:615:29", "stateMutability": "nonpayable", "virtual": true, @@ -45229,28 +45229,28 @@ }, { "baseFunctions": [ - 9584 + 9747 ], "body": { - "id": 8365, + "id": 8528, "nodeType": "Block", "src": "10017:352:29", "statements": [ { "expression": { "argumentTypes": null, - "id": 8325, + "id": 8488, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8318, + "id": 8481, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10027:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -45264,11 +45264,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8321, + "id": 8484, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10067:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45277,11 +45277,11 @@ }, { "argumentTypes": null, - "id": 8322, + "id": 8485, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8299, + "referencedDeclaration": 8462, "src": "10076:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -45290,11 +45290,11 @@ }, { "argumentTypes": null, - "id": 8323, + "id": 8486, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10087:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -45319,32 +45319,32 @@ ], "expression": { "argumentTypes": null, - "id": 8319, + "id": 8482, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10037:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8320, + "id": 8483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "10037:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8324, + "id": 8487, "isConstant": false, "isLValue": false, "isPure": false, @@ -45365,7 +45365,7 @@ "typeString": "uint256[] memory" } }, - "id": 8326, + "id": 8489, "nodeType": "ExpressionStatement", "src": "10027:65:29" }, @@ -45379,7 +45379,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8332, + "id": 8495, "isConstant": false, "isLValue": false, "isPure": false, @@ -45388,22 +45388,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8328, + "id": 8491, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10110:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8330, + "id": 8493, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8329, + "id": 8492, "isConstant": false, "isLValue": false, "isPure": true, @@ -45433,11 +45433,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8331, + "id": 8494, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8301, + "referencedDeclaration": 8464, "src": "10124:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -45453,7 +45453,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8333, + "id": 8496, "isConstant": false, "isLValue": false, "isPure": true, @@ -45480,7 +45480,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8327, + "id": 8490, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45494,7 +45494,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8334, + "id": 8497, "isConstant": false, "isLValue": false, "isPure": false, @@ -45509,7 +45509,7 @@ "typeString": "tuple()" } }, - "id": 8335, + "id": 8498, "nodeType": "ExpressionStatement", "src": "10102:77:29" }, @@ -45521,22 +45521,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8339, + "id": 8502, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10234:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8341, + "id": 8504, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8340, + "id": 8503, "isConstant": false, "isLValue": false, "isPure": true, @@ -45566,7 +45566,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8342, + "id": 8505, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -45577,7 +45577,7 @@ "typeString": "msg" } }, - "id": 8343, + "id": 8506, "isConstant": false, "isLValue": false, "isPure": false, @@ -45596,11 +45596,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8346, + "id": 8509, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10280:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45611,22 +45611,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8347, + "id": 8510, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10289:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8349, + "id": 8512, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8348, + "id": 8511, "isConstant": false, "isLValue": false, "isPure": true, @@ -45656,22 +45656,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8350, + "id": 8513, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10298:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8352, + "id": 8515, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8351, + "id": 8514, "isConstant": false, "isLValue": false, "isPure": true, @@ -45715,32 +45715,32 @@ ], "expression": { "argumentTypes": null, - "id": 8344, + "id": 8507, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10255:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8345, + "id": 8508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "10255:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8353, + "id": 8516, "isConstant": false, "isLValue": false, "isPure": false, @@ -45759,22 +45759,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8354, + "id": 8517, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10308:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8356, + "id": 8519, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8355, + "id": 8518, "isConstant": false, "isLValue": false, "isPure": true, @@ -45822,32 +45822,32 @@ ], "expression": { "argumentTypes": null, - "id": 8336, + "id": 8499, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "10189:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8338, + "id": 8501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "10189:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8357, + "id": 8520, "isConstant": false, "isLValue": false, "isPure": false, @@ -45862,7 +45862,7 @@ "typeString": "tuple()" } }, - "id": 8358, + "id": 8521, "nodeType": "ExpressionStatement", "src": "10189:139:29" }, @@ -45872,11 +45872,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8360, + "id": 8523, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8316, + "referencedDeclaration": 8479, "src": "10344:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -45885,11 +45885,11 @@ }, { "argumentTypes": null, - "id": 8361, + "id": 8524, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8304, + "referencedDeclaration": 8467, "src": "10353:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -45898,11 +45898,11 @@ }, { "argumentTypes": null, - "id": 8362, + "id": 8525, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8306, + "referencedDeclaration": 8469, "src": "10359:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45925,18 +45925,18 @@ "typeString": "address" } ], - "id": 8359, + "id": 8522, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "10338:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8363, + "id": 8526, "isConstant": false, "isLValue": false, "isPure": false, @@ -45951,7 +45951,7 @@ "typeString": "tuple()" } }, - "id": 8364, + "id": 8527, "nodeType": "ExpressionStatement", "src": "10338:24:29" } @@ -45959,7 +45959,7 @@ }, "documentation": null, "functionSelector": "8803dbee", - "id": 8366, + "id": 8529, "implemented": true, "kind": "function", "modifiers": [ @@ -45967,11 +45967,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8312, + "id": 8475, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8308, + "referencedDeclaration": 8471, "src": "9975:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -45979,14 +45979,14 @@ } } ], - "id": 8313, + "id": 8476, "modifierName": { "argumentTypes": null, - "id": 8311, + "id": 8474, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "9968:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -46000,23 +46000,23 @@ "name": "swapTokensForExactTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8310, + "id": 8473, "nodeType": "OverrideSpecifier", "overrides": [], "src": "9959:8:29" }, "parameters": { - "id": 8309, + "id": 8472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8299, + "id": 8462, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9819:14:29", "stateVariable": false, "storageLocation": "default", @@ -46025,7 +46025,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8298, + "id": 8461, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9819:4:29", @@ -46039,12 +46039,12 @@ }, { "constant": false, - "id": 8301, + "id": 8464, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9843:16:29", "stateVariable": false, "storageLocation": "default", @@ -46053,7 +46053,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8300, + "id": 8463, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9843:4:29", @@ -46067,12 +46067,12 @@ }, { "constant": false, - "id": 8304, + "id": 8467, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9869:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -46082,7 +46082,7 @@ }, "typeName": { "baseType": { - "id": 8302, + "id": 8465, "name": "address", "nodeType": "ElementaryTypeName", "src": "9869:7:29", @@ -46092,7 +46092,7 @@ "typeString": "address" } }, - "id": 8303, + "id": 8466, "length": null, "nodeType": "ArrayTypeName", "src": "9869:9:29", @@ -46106,12 +46106,12 @@ }, { "constant": false, - "id": 8306, + "id": 8469, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9902:10:29", "stateVariable": false, "storageLocation": "default", @@ -46120,7 +46120,7 @@ "typeString": "address" }, "typeName": { - "id": 8305, + "id": 8468, "name": "address", "nodeType": "ElementaryTypeName", "src": "9902:7:29", @@ -46135,12 +46135,12 @@ }, { "constant": false, - "id": 8308, + "id": 8471, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9922:13:29", "stateVariable": false, "storageLocation": "default", @@ -46149,7 +46149,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8307, + "id": 8470, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9922:4:29", @@ -46165,17 +46165,17 @@ "src": "9809:132:29" }, "returnParameters": { - "id": 8317, + "id": 8480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8316, + "id": 8479, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8366, + "scope": 8529, "src": "9994:21:29", "stateVariable": false, "storageLocation": "memory", @@ -46185,7 +46185,7 @@ }, "typeName": { "baseType": { - "id": 8314, + "id": 8477, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9994:4:29", @@ -46194,7 +46194,7 @@ "typeString": "uint256" } }, - "id": 8315, + "id": 8478, "length": null, "nodeType": "ArrayTypeName", "src": "9994:6:29", @@ -46209,7 +46209,7 @@ ], "src": "9993:23:29" }, - "scope": 9312, + "scope": 9475, "src": "9776:593:29", "stateMutability": "nonpayable", "virtual": true, @@ -46217,10 +46217,10 @@ }, { "baseFunctions": [ - 9599 + 9762 ], "body": { - "id": 8453, + "id": 8616, "nodeType": "Block", "src": "10611:446:29", "statements": [ @@ -46234,7 +46234,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8390, + "id": 8553, "isConstant": false, "isLValue": false, "isPure": false, @@ -46243,22 +46243,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8386, + "id": 8549, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10629:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8388, + "id": 8551, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8387, + "id": 8550, "isConstant": false, "isLValue": false, "isPure": true, @@ -46288,11 +46288,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8389, + "id": 8552, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10640:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46308,7 +46308,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8391, + "id": 8554, "isConstant": false, "isLValue": false, "isPure": true, @@ -46335,7 +46335,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8385, + "id": 8548, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -46349,7 +46349,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8392, + "id": 8555, "isConstant": false, "isLValue": false, "isPure": false, @@ -46364,25 +46364,25 @@ "typeString": "tuple()" } }, - "id": 8393, + "id": 8556, "nodeType": "ExpressionStatement", "src": "10621:57:29" }, { "expression": { "argumentTypes": null, - "id": 8402, + "id": 8565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8394, + "id": 8557, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10688:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -46396,11 +46396,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8397, + "id": 8560, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10729:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46411,7 +46411,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8398, + "id": 8561, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -46422,7 +46422,7 @@ "typeString": "msg" } }, - "id": 8399, + "id": 8562, "isConstant": false, "isLValue": false, "isPure": false, @@ -46438,11 +46438,11 @@ }, { "argumentTypes": null, - "id": 8400, + "id": 8563, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10749:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -46467,32 +46467,32 @@ ], "expression": { "argumentTypes": null, - "id": 8395, + "id": 8558, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10698:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8396, + "id": 8559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "10698:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8401, + "id": 8564, "isConstant": false, "isLValue": false, "isPure": false, @@ -46513,7 +46513,7 @@ "typeString": "uint256[] memory" } }, - "id": 8403, + "id": 8566, "nodeType": "ExpressionStatement", "src": "10688:66:29" }, @@ -46527,7 +46527,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8412, + "id": 8575, "isConstant": false, "isLValue": false, "isPure": false, @@ -46536,25 +46536,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8405, + "id": 8568, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10772:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8410, + "id": 8573, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8409, + "id": 8572, "isConstant": false, "isLValue": false, "isPure": false, @@ -46563,18 +46563,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8406, + "id": 8569, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10780:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8407, + "id": 8570, "isConstant": false, "isLValue": false, "isPure": false, @@ -46593,7 +46593,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8408, + "id": 8571, "isConstant": false, "isLValue": false, "isPure": true, @@ -46629,11 +46629,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8411, + "id": 8574, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, + "referencedDeclaration": 8531, "src": "10803:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -46649,7 +46649,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8413, + "id": 8576, "isConstant": false, "isLValue": false, "isPure": true, @@ -46676,7 +46676,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8404, + "id": 8567, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -46690,7 +46690,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8414, + "id": 8577, "isConstant": false, "isLValue": false, "isPure": false, @@ -46705,7 +46705,7 @@ "typeString": "tuple()" } }, - "id": 8415, + "id": 8578, "nodeType": "ExpressionStatement", "src": "10764:99:29" }, @@ -46722,11 +46722,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8417, + "id": 8580, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10879:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46741,18 +46741,18 @@ "typeString": "address" } ], - "id": 8416, + "id": 8579, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "10873:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8418, + "id": 8581, "isConstant": false, "isLValue": false, "isPure": false, @@ -46763,25 +46763,25 @@ "src": "10873:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8419, + "id": 8582, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "10873:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 8423, + "id": 8586, "isConstant": false, "isLValue": false, "isPure": false, @@ -46795,22 +46795,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8420, + "id": 8583, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "10900:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8422, + "id": 8585, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8421, + "id": 8584, "isConstant": false, "isLValue": false, "isPure": true, @@ -46843,7 +46843,7 @@ "typeString": "function () payable external" } }, - "id": 8424, + "id": 8587, "isConstant": false, "isLValue": false, "isPure": false, @@ -46858,7 +46858,7 @@ "typeString": "tuple()" } }, - "id": 8425, + "id": 8588, "nodeType": "ExpressionStatement", "src": "10873:40:29" }, @@ -46874,11 +46874,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8433, + "id": 8596, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "10976:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46889,22 +46889,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8434, + "id": 8597, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10985:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8436, + "id": 8599, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8435, + "id": 8598, "isConstant": false, "isLValue": false, "isPure": true, @@ -46934,22 +46934,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8437, + "id": 8600, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "10994:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8439, + "id": 8602, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8438, + "id": 8601, "isConstant": false, "isLValue": false, "isPure": true, @@ -46993,32 +46993,32 @@ ], "expression": { "argumentTypes": null, - "id": 8431, + "id": 8594, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "10951:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8432, + "id": 8595, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "10951:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8440, + "id": 8603, "isConstant": false, "isLValue": false, "isPure": false, @@ -47037,22 +47037,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8441, + "id": 8604, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "11004:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8443, + "id": 8606, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8442, + "id": 8605, "isConstant": false, "isLValue": false, "isPure": true, @@ -47095,11 +47095,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8428, + "id": 8591, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "10936:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47114,18 +47114,18 @@ "typeString": "address" } ], - "id": 8427, + "id": 8590, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "10930:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8429, + "id": 8592, "isConstant": false, "isLValue": false, "isPure": false, @@ -47136,25 +47136,25 @@ "src": "10930:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8430, + "id": 8593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "10930:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 8444, + "id": 8607, "isConstant": false, "isLValue": false, "isPure": false, @@ -47177,7 +47177,7 @@ "typeString": "bool" } ], - "id": 8426, + "id": 8589, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -47188,7 +47188,7 @@ "typeString": "function (bool) pure" } }, - "id": 8445, + "id": 8608, "isConstant": false, "isLValue": false, "isPure": false, @@ -47203,7 +47203,7 @@ "typeString": "tuple()" } }, - "id": 8446, + "id": 8609, "nodeType": "ExpressionStatement", "src": "10923:93:29" }, @@ -47213,11 +47213,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8448, + "id": 8611, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8383, + "referencedDeclaration": 8546, "src": "11032:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -47226,11 +47226,11 @@ }, { "argumentTypes": null, - "id": 8449, + "id": 8612, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8371, + "referencedDeclaration": 8534, "src": "11041:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -47239,11 +47239,11 @@ }, { "argumentTypes": null, - "id": 8450, + "id": 8613, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8373, + "referencedDeclaration": 8536, "src": "11047:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47266,18 +47266,18 @@ "typeString": "address" } ], - "id": 8447, + "id": 8610, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "11026:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8451, + "id": 8614, "isConstant": false, "isLValue": false, "isPure": false, @@ -47292,7 +47292,7 @@ "typeString": "tuple()" } }, - "id": 8452, + "id": 8615, "nodeType": "ExpressionStatement", "src": "11026:24:29" } @@ -47300,7 +47300,7 @@ }, "documentation": null, "functionSelector": "7ff36ab5", - "id": 8454, + "id": 8617, "implemented": true, "kind": "function", "modifiers": [ @@ -47308,11 +47308,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8379, + "id": 8542, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8375, + "referencedDeclaration": 8538, "src": "10557:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -47320,14 +47320,14 @@ } } ], - "id": 8380, + "id": 8543, "modifierName": { "argumentTypes": null, - "id": 8378, + "id": 8541, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "10550:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -47341,23 +47341,23 @@ "name": "swapExactETHForTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8377, + "id": 8540, "nodeType": "OverrideSpecifier", "overrides": [], "src": "10517:8:29" }, "parameters": { - "id": 8376, + "id": 8539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8368, + "id": 8531, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10405:17:29", "stateVariable": false, "storageLocation": "default", @@ -47366,7 +47366,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8367, + "id": 8530, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10405:4:29", @@ -47380,12 +47380,12 @@ }, { "constant": false, - "id": 8371, + "id": 8534, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10424:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -47395,7 +47395,7 @@ }, "typeName": { "baseType": { - "id": 8369, + "id": 8532, "name": "address", "nodeType": "ElementaryTypeName", "src": "10424:7:29", @@ -47405,7 +47405,7 @@ "typeString": "address" } }, - "id": 8370, + "id": 8533, "length": null, "nodeType": "ArrayTypeName", "src": "10424:9:29", @@ -47419,12 +47419,12 @@ }, { "constant": false, - "id": 8373, + "id": 8536, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10449:10:29", "stateVariable": false, "storageLocation": "default", @@ -47433,7 +47433,7 @@ "typeString": "address" }, "typeName": { - "id": 8372, + "id": 8535, "name": "address", "nodeType": "ElementaryTypeName", "src": "10449:7:29", @@ -47448,12 +47448,12 @@ }, { "constant": false, - "id": 8375, + "id": 8538, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10461:13:29", "stateVariable": false, "storageLocation": "default", @@ -47462,7 +47462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8374, + "id": 8537, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10461:4:29", @@ -47478,17 +47478,17 @@ "src": "10404:71:29" }, "returnParameters": { - "id": 8384, + "id": 8547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8383, + "id": 8546, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8454, + "scope": 8617, "src": "10584:21:29", "stateVariable": false, "storageLocation": "memory", @@ -47498,7 +47498,7 @@ }, "typeName": { "baseType": { - "id": 8381, + "id": 8544, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10584:4:29", @@ -47507,7 +47507,7 @@ "typeString": "uint256" } }, - "id": 8382, + "id": 8545, "length": null, "nodeType": "ArrayTypeName", "src": "10584:6:29", @@ -47522,7 +47522,7 @@ ], "src": "10583:23:29" }, - "scope": 9312, + "scope": 9475, "src": "10374:683:29", "stateMutability": "payable", "virtual": true, @@ -47530,10 +47530,10 @@ }, { "baseFunctions": [ - 9616 + 9779 ], "body": { - "id": 8561, + "id": 8724, "nodeType": "Block", "src": "11298:576:29", "statements": [ @@ -47547,7 +47547,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8483, + "id": 8646, "isConstant": false, "isLValue": false, "isPure": false, @@ -47556,25 +47556,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8476, + "id": 8639, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11316:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8481, + "id": 8644, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8480, + "id": 8643, "isConstant": false, "isLValue": false, "isPure": false, @@ -47583,18 +47583,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8477, + "id": 8640, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11321:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8478, + "id": 8641, "isConstant": false, "isLValue": false, "isPure": false, @@ -47613,7 +47613,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8479, + "id": 8642, "isConstant": false, "isLValue": false, "isPure": true, @@ -47649,11 +47649,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8482, + "id": 8645, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "11341:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47669,7 +47669,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8484, + "id": 8647, "isConstant": false, "isLValue": false, "isPure": true, @@ -47696,7 +47696,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8475, + "id": 8638, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -47710,7 +47710,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8485, + "id": 8648, "isConstant": false, "isLValue": false, "isPure": false, @@ -47725,25 +47725,25 @@ "typeString": "tuple()" } }, - "id": 8486, + "id": 8649, "nodeType": "ExpressionStatement", "src": "11308:71:29" }, { "expression": { "argumentTypes": null, - "id": 8494, + "id": 8657, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8487, + "id": 8650, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11389:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -47757,11 +47757,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8490, + "id": 8653, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "11429:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47770,11 +47770,11 @@ }, { "argumentTypes": null, - "id": 8491, + "id": 8654, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8456, + "referencedDeclaration": 8619, "src": "11438:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -47783,11 +47783,11 @@ }, { "argumentTypes": null, - "id": 8492, + "id": 8655, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11449:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -47812,32 +47812,32 @@ ], "expression": { "argumentTypes": null, - "id": 8488, + "id": 8651, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "11399:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8489, + "id": 8652, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "11399:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8493, + "id": 8656, "isConstant": false, "isLValue": false, "isPure": false, @@ -47858,7 +47858,7 @@ "typeString": "uint256[] memory" } }, - "id": 8495, + "id": 8658, "nodeType": "ExpressionStatement", "src": "11389:65:29" }, @@ -47872,7 +47872,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8501, + "id": 8664, "isConstant": false, "isLValue": false, "isPure": false, @@ -47881,22 +47881,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8497, + "id": 8660, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11472:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8499, + "id": 8662, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8498, + "id": 8661, "isConstant": false, "isLValue": false, "isPure": true, @@ -47926,11 +47926,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 8500, + "id": 8663, "name": "amountInMax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8458, + "referencedDeclaration": 8621, "src": "11486:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -47946,7 +47946,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8502, + "id": 8665, "isConstant": false, "isLValue": false, "isPure": true, @@ -47973,7 +47973,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8496, + "id": 8659, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -47987,7 +47987,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8503, + "id": 8666, "isConstant": false, "isLValue": false, "isPure": false, @@ -48002,7 +48002,7 @@ "typeString": "tuple()" } }, - "id": 8504, + "id": 8667, "nodeType": "ExpressionStatement", "src": "11464:77:29" }, @@ -48014,22 +48014,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8508, + "id": 8671, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11596:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8510, + "id": 8673, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8509, + "id": 8672, "isConstant": false, "isLValue": false, "isPure": true, @@ -48059,7 +48059,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8511, + "id": 8674, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -48070,7 +48070,7 @@ "typeString": "msg" } }, - "id": 8512, + "id": 8675, "isConstant": false, "isLValue": false, "isPure": false, @@ -48089,11 +48089,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8515, + "id": 8678, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "11642:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48104,22 +48104,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8516, + "id": 8679, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11651:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8518, + "id": 8681, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8517, + "id": 8680, "isConstant": false, "isLValue": false, "isPure": true, @@ -48149,22 +48149,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8519, + "id": 8682, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11660:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8521, + "id": 8684, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8520, + "id": 8683, "isConstant": false, "isLValue": false, "isPure": true, @@ -48208,32 +48208,32 @@ ], "expression": { "argumentTypes": null, - "id": 8513, + "id": 8676, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "11617:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8514, + "id": 8677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "11617:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8522, + "id": 8685, "isConstant": false, "isLValue": false, "isPure": false, @@ -48252,22 +48252,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8523, + "id": 8686, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11670:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8525, + "id": 8688, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8524, + "id": 8687, "isConstant": false, "isLValue": false, "isPure": true, @@ -48315,32 +48315,32 @@ ], "expression": { "argumentTypes": null, - "id": 8505, + "id": 8668, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "11551:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8507, + "id": 8670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "11551:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8526, + "id": 8689, "isConstant": false, "isLValue": false, "isPure": false, @@ -48355,7 +48355,7 @@ "typeString": "tuple()" } }, - "id": 8527, + "id": 8690, "nodeType": "ExpressionStatement", "src": "11551:139:29" }, @@ -48365,11 +48365,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8529, + "id": 8692, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11706:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -48378,11 +48378,11 @@ }, { "argumentTypes": null, - "id": 8530, + "id": 8693, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8461, + "referencedDeclaration": 8624, "src": "11715:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -48394,14 +48394,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8533, + "id": 8696, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "11729:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -48409,11 +48409,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8532, + "id": 8695, "isConstant": false, "isLValue": false, "isPure": true, @@ -48425,7 +48425,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8531, + "id": 8694, "name": "address", "nodeType": "ElementaryTypeName", "src": "11721:7:29", @@ -48435,7 +48435,7 @@ } } }, - "id": 8534, + "id": 8697, "isConstant": false, "isLValue": false, "isPure": false, @@ -48466,18 +48466,18 @@ "typeString": "address payable" } ], - "id": 8528, + "id": 8691, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "11700:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8535, + "id": 8698, "isConstant": false, "isLValue": false, "isPure": false, @@ -48492,7 +48492,7 @@ "typeString": "tuple()" } }, - "id": 8536, + "id": 8699, "nodeType": "ExpressionStatement", "src": "11700:35:29" }, @@ -48504,25 +48504,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8541, + "id": 8704, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11766:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8546, + "id": 8709, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8545, + "id": 8708, "isConstant": false, "isLValue": false, "isPure": false, @@ -48531,18 +48531,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8542, + "id": 8705, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11774:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8543, + "id": 8706, "isConstant": false, "isLValue": false, "isPure": false, @@ -48561,7 +48561,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8544, + "id": 8707, "isConstant": false, "isLValue": false, "isPure": true, @@ -48606,11 +48606,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8538, + "id": 8701, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "11751:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48625,18 +48625,18 @@ "typeString": "address" } ], - "id": 8537, + "id": 8700, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "11745:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8539, + "id": 8702, "isConstant": false, "isLValue": false, "isPure": false, @@ -48647,25 +48647,25 @@ "src": "11745:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8540, + "id": 8703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "11745:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8547, + "id": 8710, "isConstant": false, "isLValue": false, "isPure": false, @@ -48680,7 +48680,7 @@ "typeString": "tuple()" } }, - "id": 8548, + "id": 8711, "nodeType": "ExpressionStatement", "src": "11745:49:29" }, @@ -48690,11 +48690,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8552, + "id": 8715, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8463, + "referencedDeclaration": 8626, "src": "11835:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48705,25 +48705,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8553, + "id": 8716, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11839:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8558, + "id": 8721, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8557, + "id": 8720, "isConstant": false, "isLValue": false, "isPure": false, @@ -48732,18 +48732,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8554, + "id": 8717, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8473, + "referencedDeclaration": 8636, "src": "11847:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8555, + "id": 8718, "isConstant": false, "isLValue": false, "isPure": false, @@ -48762,7 +48762,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8556, + "id": 8719, "isConstant": false, "isLValue": false, "isPure": true, @@ -48808,32 +48808,32 @@ ], "expression": { "argumentTypes": null, - "id": 8549, + "id": 8712, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "11804:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8551, + "id": 8714, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "11804:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8559, + "id": 8722, "isConstant": false, "isLValue": false, "isPure": false, @@ -48848,7 +48848,7 @@ "typeString": "tuple()" } }, - "id": 8560, + "id": 8723, "nodeType": "ExpressionStatement", "src": "11804:63:29" } @@ -48856,7 +48856,7 @@ }, "documentation": null, "functionSelector": "4a25d94a", - "id": 8562, + "id": 8725, "implemented": true, "kind": "function", "modifiers": [ @@ -48864,11 +48864,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8469, + "id": 8632, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8465, + "referencedDeclaration": 8628, "src": "11244:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48876,14 +48876,14 @@ } } ], - "id": 8470, + "id": 8633, "modifierName": { "argumentTypes": null, - "id": 8468, + "id": 8631, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "11237:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -48897,23 +48897,23 @@ "name": "swapTokensForExactETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 8467, + "id": 8630, "nodeType": "OverrideSpecifier", "overrides": [], "src": "11220:8:29" }, "parameters": { - "id": 8466, + "id": 8629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8456, + "id": 8619, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11093:14:29", "stateVariable": false, "storageLocation": "default", @@ -48922,7 +48922,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8455, + "id": 8618, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11093:4:29", @@ -48936,12 +48936,12 @@ }, { "constant": false, - "id": 8458, + "id": 8621, "mutability": "mutable", "name": "amountInMax", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11109:16:29", "stateVariable": false, "storageLocation": "default", @@ -48950,7 +48950,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8457, + "id": 8620, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11109:4:29", @@ -48964,12 +48964,12 @@ }, { "constant": false, - "id": 8461, + "id": 8624, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11127:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -48979,7 +48979,7 @@ }, "typeName": { "baseType": { - "id": 8459, + "id": 8622, "name": "address", "nodeType": "ElementaryTypeName", "src": "11127:7:29", @@ -48989,7 +48989,7 @@ "typeString": "address" } }, - "id": 8460, + "id": 8623, "length": null, "nodeType": "ArrayTypeName", "src": "11127:9:29", @@ -49003,12 +49003,12 @@ }, { "constant": false, - "id": 8463, + "id": 8626, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11152:10:29", "stateVariable": false, "storageLocation": "default", @@ -49017,7 +49017,7 @@ "typeString": "address" }, "typeName": { - "id": 8462, + "id": 8625, "name": "address", "nodeType": "ElementaryTypeName", "src": "11152:7:29", @@ -49032,12 +49032,12 @@ }, { "constant": false, - "id": 8465, + "id": 8628, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11164:13:29", "stateVariable": false, "storageLocation": "default", @@ -49046,7 +49046,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8464, + "id": 8627, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11164:4:29", @@ -49062,17 +49062,17 @@ "src": "11092:86:29" }, "returnParameters": { - "id": 8474, + "id": 8637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8473, + "id": 8636, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8562, + "scope": 8725, "src": "11271:21:29", "stateVariable": false, "storageLocation": "memory", @@ -49082,7 +49082,7 @@ }, "typeName": { "baseType": { - "id": 8471, + "id": 8634, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11271:4:29", @@ -49091,7 +49091,7 @@ "typeString": "uint256" } }, - "id": 8472, + "id": 8635, "length": null, "nodeType": "ArrayTypeName", "src": "11271:6:29", @@ -49106,7 +49106,7 @@ ], "src": "11270:23:29" }, - "scope": 9312, + "scope": 9475, "src": "11062:812:29", "stateMutability": "nonpayable", "virtual": true, @@ -49114,10 +49114,10 @@ }, { "baseFunctions": [ - 9633 + 9796 ], "body": { - "id": 8672, + "id": 8835, "nodeType": "Block", "src": "12115:598:29", "statements": [ @@ -49131,7 +49131,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8591, + "id": 8754, "isConstant": false, "isLValue": false, "isPure": false, @@ -49140,25 +49140,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8584, + "id": 8747, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12133:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8589, + "id": 8752, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8588, + "id": 8751, "isConstant": false, "isLValue": false, "isPure": false, @@ -49167,18 +49167,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8585, + "id": 8748, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12138:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8586, + "id": 8749, "isConstant": false, "isLValue": false, "isPure": false, @@ -49197,7 +49197,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8587, + "id": 8750, "isConstant": false, "isLValue": false, "isPure": true, @@ -49233,11 +49233,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8590, + "id": 8753, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12158:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49253,7 +49253,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8592, + "id": 8755, "isConstant": false, "isLValue": false, "isPure": true, @@ -49280,7 +49280,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8583, + "id": 8746, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -49294,7 +49294,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8593, + "id": 8756, "isConstant": false, "isLValue": false, "isPure": false, @@ -49309,25 +49309,25 @@ "typeString": "tuple()" } }, - "id": 8594, + "id": 8757, "nodeType": "ExpressionStatement", "src": "12125:71:29" }, { "expression": { "argumentTypes": null, - "id": 8602, + "id": 8765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8595, + "id": 8758, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12206:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -49341,11 +49341,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8598, + "id": 8761, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "12247:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49354,11 +49354,11 @@ }, { "argumentTypes": null, - "id": 8599, + "id": 8762, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8564, + "referencedDeclaration": 8727, "src": "12256:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49367,11 +49367,11 @@ }, { "argumentTypes": null, - "id": 8600, + "id": 8763, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12266:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -49396,32 +49396,32 @@ ], "expression": { "argumentTypes": null, - "id": 8596, + "id": 8759, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "12216:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8597, + "id": 8760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "12216:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8601, + "id": 8764, "isConstant": false, "isLValue": false, "isPure": false, @@ -49442,7 +49442,7 @@ "typeString": "uint256[] memory" } }, - "id": 8603, + "id": 8766, "nodeType": "ExpressionStatement", "src": "12206:65:29" }, @@ -49456,7 +49456,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8612, + "id": 8775, "isConstant": false, "isLValue": false, "isPure": false, @@ -49465,25 +49465,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8605, + "id": 8768, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12289:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8610, + "id": 8773, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8609, + "id": 8772, "isConstant": false, "isLValue": false, "isPure": false, @@ -49492,18 +49492,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8606, + "id": 8769, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12297:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8607, + "id": 8770, "isConstant": false, "isLValue": false, "isPure": false, @@ -49522,7 +49522,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8608, + "id": 8771, "isConstant": false, "isLValue": false, "isPure": true, @@ -49558,11 +49558,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 8611, + "id": 8774, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8566, + "referencedDeclaration": 8729, "src": "12320:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49578,7 +49578,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 8613, + "id": 8776, "isConstant": false, "isLValue": false, "isPure": true, @@ -49605,7 +49605,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 8604, + "id": 8767, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -49619,7 +49619,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8614, + "id": 8777, "isConstant": false, "isLValue": false, "isPure": false, @@ -49634,7 +49634,7 @@ "typeString": "tuple()" } }, - "id": 8615, + "id": 8778, "nodeType": "ExpressionStatement", "src": "12281:99:29" }, @@ -49646,22 +49646,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8619, + "id": 8782, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12435:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8621, + "id": 8784, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8620, + "id": 8783, "isConstant": false, "isLValue": false, "isPure": true, @@ -49691,7 +49691,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8622, + "id": 8785, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -49702,7 +49702,7 @@ "typeString": "msg" } }, - "id": 8623, + "id": 8786, "isConstant": false, "isLValue": false, "isPure": false, @@ -49721,11 +49721,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8626, + "id": 8789, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "12481:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49736,22 +49736,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8627, + "id": 8790, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12490:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8629, + "id": 8792, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8628, + "id": 8791, "isConstant": false, "isLValue": false, "isPure": true, @@ -49781,22 +49781,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8630, + "id": 8793, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12499:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8632, + "id": 8795, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8631, + "id": 8794, "isConstant": false, "isLValue": false, "isPure": true, @@ -49840,32 +49840,32 @@ ], "expression": { "argumentTypes": null, - "id": 8624, + "id": 8787, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "12456:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8625, + "id": 8788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "12456:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8633, + "id": 8796, "isConstant": false, "isLValue": false, "isPure": false, @@ -49884,22 +49884,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8634, + "id": 8797, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12509:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8636, + "id": 8799, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8635, + "id": 8798, "isConstant": false, "isLValue": false, "isPure": true, @@ -49947,32 +49947,32 @@ ], "expression": { "argumentTypes": null, - "id": 8616, + "id": 8779, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "12390:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8618, + "id": 8781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "12390:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8637, + "id": 8800, "isConstant": false, "isLValue": false, "isPure": false, @@ -49987,7 +49987,7 @@ "typeString": "tuple()" } }, - "id": 8638, + "id": 8801, "nodeType": "ExpressionStatement", "src": "12390:139:29" }, @@ -49997,11 +49997,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8640, + "id": 8803, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12545:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -50010,11 +50010,11 @@ }, { "argumentTypes": null, - "id": 8641, + "id": 8804, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8569, + "referencedDeclaration": 8732, "src": "12554:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -50026,14 +50026,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8644, + "id": 8807, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "12568:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -50041,11 +50041,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 8643, + "id": 8806, "isConstant": false, "isLValue": false, "isPure": true, @@ -50057,7 +50057,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8642, + "id": 8805, "name": "address", "nodeType": "ElementaryTypeName", "src": "12560:7:29", @@ -50067,7 +50067,7 @@ } } }, - "id": 8645, + "id": 8808, "isConstant": false, "isLValue": false, "isPure": false, @@ -50098,18 +50098,18 @@ "typeString": "address payable" } ], - "id": 8639, + "id": 8802, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "12539:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8646, + "id": 8809, "isConstant": false, "isLValue": false, "isPure": false, @@ -50124,7 +50124,7 @@ "typeString": "tuple()" } }, - "id": 8647, + "id": 8810, "nodeType": "ExpressionStatement", "src": "12539:35:29" }, @@ -50136,25 +50136,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8652, + "id": 8815, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12605:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8657, + "id": 8820, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8656, + "id": 8819, "isConstant": false, "isLValue": false, "isPure": false, @@ -50163,18 +50163,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8653, + "id": 8816, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12613:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8654, + "id": 8817, "isConstant": false, "isLValue": false, "isPure": false, @@ -50193,7 +50193,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8655, + "id": 8818, "isConstant": false, "isLValue": false, "isPure": true, @@ -50238,11 +50238,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8649, + "id": 8812, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12590:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50257,18 +50257,18 @@ "typeString": "address" } ], - "id": 8648, + "id": 8811, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "12584:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8650, + "id": 8813, "isConstant": false, "isLValue": false, "isPure": false, @@ -50279,25 +50279,25 @@ "src": "12584:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8651, + "id": 8814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "12584:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 8658, + "id": 8821, "isConstant": false, "isLValue": false, "isPure": false, @@ -50312,7 +50312,7 @@ "typeString": "tuple()" } }, - "id": 8659, + "id": 8822, "nodeType": "ExpressionStatement", "src": "12584:49:29" }, @@ -50322,11 +50322,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8663, + "id": 8826, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8571, + "referencedDeclaration": 8734, "src": "12674:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50337,25 +50337,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8664, + "id": 8827, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12678:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8669, + "id": 8832, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8668, + "id": 8831, "isConstant": false, "isLValue": false, "isPure": false, @@ -50364,18 +50364,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8665, + "id": 8828, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8581, + "referencedDeclaration": 8744, "src": "12686:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8666, + "id": 8829, "isConstant": false, "isLValue": false, "isPure": false, @@ -50394,7 +50394,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8667, + "id": 8830, "isConstant": false, "isLValue": false, "isPure": true, @@ -50440,32 +50440,32 @@ ], "expression": { "argumentTypes": null, - "id": 8660, + "id": 8823, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "12643:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8662, + "id": 8825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "12643:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8670, + "id": 8833, "isConstant": false, "isLValue": false, "isPure": false, @@ -50480,7 +50480,7 @@ "typeString": "tuple()" } }, - "id": 8671, + "id": 8834, "nodeType": "ExpressionStatement", "src": "12643:63:29" } @@ -50488,7 +50488,7 @@ }, "documentation": null, "functionSelector": "18cbafe5", - "id": 8673, + "id": 8836, "implemented": true, "kind": "function", "modifiers": [ @@ -50496,11 +50496,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8577, + "id": 8740, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8573, + "referencedDeclaration": 8736, "src": "12061:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50508,14 +50508,14 @@ } } ], - "id": 8578, + "id": 8741, "modifierName": { "argumentTypes": null, - "id": 8576, + "id": 8739, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "12054:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -50529,23 +50529,23 @@ "name": "swapExactTokensForETH", "nodeType": "FunctionDefinition", "overrides": { - "id": 8575, + "id": 8738, "nodeType": "OverrideSpecifier", "overrides": [], "src": "12037:8:29" }, "parameters": { - "id": 8574, + "id": 8737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8564, + "id": 8727, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11910:13:29", "stateVariable": false, "storageLocation": "default", @@ -50554,7 +50554,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8563, + "id": 8726, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11910:4:29", @@ -50568,12 +50568,12 @@ }, { "constant": false, - "id": 8566, + "id": 8729, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11925:17:29", "stateVariable": false, "storageLocation": "default", @@ -50582,7 +50582,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8565, + "id": 8728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11925:4:29", @@ -50596,12 +50596,12 @@ }, { "constant": false, - "id": 8569, + "id": 8732, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11944:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -50611,7 +50611,7 @@ }, "typeName": { "baseType": { - "id": 8567, + "id": 8730, "name": "address", "nodeType": "ElementaryTypeName", "src": "11944:7:29", @@ -50621,7 +50621,7 @@ "typeString": "address" } }, - "id": 8568, + "id": 8731, "length": null, "nodeType": "ArrayTypeName", "src": "11944:9:29", @@ -50635,12 +50635,12 @@ }, { "constant": false, - "id": 8571, + "id": 8734, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11969:10:29", "stateVariable": false, "storageLocation": "default", @@ -50649,7 +50649,7 @@ "typeString": "address" }, "typeName": { - "id": 8570, + "id": 8733, "name": "address", "nodeType": "ElementaryTypeName", "src": "11969:7:29", @@ -50664,12 +50664,12 @@ }, { "constant": false, - "id": 8573, + "id": 8736, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "11981:13:29", "stateVariable": false, "storageLocation": "default", @@ -50678,7 +50678,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8572, + "id": 8735, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11981:4:29", @@ -50694,17 +50694,17 @@ "src": "11909:86:29" }, "returnParameters": { - "id": 8582, + "id": 8745, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8581, + "id": 8744, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8673, + "scope": 8836, "src": "12088:21:29", "stateVariable": false, "storageLocation": "memory", @@ -50714,7 +50714,7 @@ }, "typeName": { "baseType": { - "id": 8579, + "id": 8742, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12088:4:29", @@ -50723,7 +50723,7 @@ "typeString": "uint256" } }, - "id": 8580, + "id": 8743, "length": null, "nodeType": "ArrayTypeName", "src": "12088:6:29", @@ -50738,7 +50738,7 @@ ], "src": "12087:23:29" }, - "scope": 9312, + "scope": 9475, "src": "11879:834:29", "stateMutability": "nonpayable", "virtual": true, @@ -50746,10 +50746,10 @@ }, { "baseFunctions": [ - 9648 + 9811 ], "body": { - "id": 8777, + "id": 8940, "nodeType": "Block", "src": "12952:560:29", "statements": [ @@ -50763,7 +50763,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8697, + "id": 8860, "isConstant": false, "isLValue": false, "isPure": false, @@ -50772,22 +50772,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8693, + "id": 8856, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "12970:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8695, + "id": 8858, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8694, + "id": 8857, "isConstant": false, "isLValue": false, "isPure": true, @@ -50817,11 +50817,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8696, + "id": 8859, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "12981:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50837,7 +50837,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 8698, + "id": 8861, "isConstant": false, "isLValue": false, "isPure": true, @@ -50864,7 +50864,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 8692, + "id": 8855, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -50878,7 +50878,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8699, + "id": 8862, "isConstant": false, "isLValue": false, "isPure": false, @@ -50893,25 +50893,25 @@ "typeString": "tuple()" } }, - "id": 8700, + "id": 8863, "nodeType": "ExpressionStatement", "src": "12962:57:29" }, { "expression": { "argumentTypes": null, - "id": 8708, + "id": 8871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8701, + "id": 8864, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13029:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -50925,11 +50925,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8704, + "id": 8867, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "13069:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50938,11 +50938,11 @@ }, { "argumentTypes": null, - "id": 8705, + "id": 8868, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8675, + "referencedDeclaration": 8838, "src": "13078:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50951,11 +50951,11 @@ }, { "argumentTypes": null, - "id": 8706, + "id": 8869, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13089:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -50980,32 +50980,32 @@ ], "expression": { "argumentTypes": null, - "id": 8702, + "id": 8865, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13039:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8703, + "id": 8866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "13039:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 8707, + "id": 8870, "isConstant": false, "isLValue": false, "isPure": false, @@ -51026,7 +51026,7 @@ "typeString": "uint256[] memory" } }, - "id": 8709, + "id": 8872, "nodeType": "ExpressionStatement", "src": "13029:65:29" }, @@ -51040,7 +51040,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8716, + "id": 8879, "isConstant": false, "isLValue": false, "isPure": false, @@ -51049,22 +51049,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8711, + "id": 8874, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13112:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8713, + "id": 8876, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8712, + "id": 8875, "isConstant": false, "isLValue": false, "isPure": true, @@ -51096,7 +51096,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8714, + "id": 8877, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -51107,7 +51107,7 @@ "typeString": "msg" } }, - "id": 8715, + "id": 8878, "isConstant": false, "isLValue": false, "isPure": false, @@ -51130,7 +51130,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54", - "id": 8717, + "id": 8880, "isConstant": false, "isLValue": false, "isPure": true, @@ -51157,7 +51157,7 @@ "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\"" } ], - "id": 8710, + "id": 8873, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -51171,7 +51171,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 8718, + "id": 8881, "isConstant": false, "isLValue": false, "isPure": false, @@ -51186,7 +51186,7 @@ "typeString": "tuple()" } }, - "id": 8719, + "id": 8882, "nodeType": "ExpressionStatement", "src": "13104:75:29" }, @@ -51203,11 +51203,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8721, + "id": 8884, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "13195:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51222,18 +51222,18 @@ "typeString": "address" } ], - "id": 8720, + "id": 8883, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "13189:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8722, + "id": 8885, "isConstant": false, "isLValue": false, "isPure": false, @@ -51244,25 +51244,25 @@ "src": "13189:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8723, + "id": 8886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "13189:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 8727, + "id": 8890, "isConstant": false, "isLValue": false, "isPure": false, @@ -51276,22 +51276,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8724, + "id": 8887, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13216:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8726, + "id": 8889, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8725, + "id": 8888, "isConstant": false, "isLValue": false, "isPure": true, @@ -51324,7 +51324,7 @@ "typeString": "function () payable external" } }, - "id": 8728, + "id": 8891, "isConstant": false, "isLValue": false, "isPure": false, @@ -51339,7 +51339,7 @@ "typeString": "tuple()" } }, - "id": 8729, + "id": 8892, "nodeType": "ExpressionStatement", "src": "13189:40:29" }, @@ -51355,11 +51355,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8737, + "id": 8900, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "13292:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51370,22 +51370,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8738, + "id": 8901, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13301:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8740, + "id": 8903, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8739, + "id": 8902, "isConstant": false, "isLValue": false, "isPure": true, @@ -51415,22 +51415,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8741, + "id": 8904, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13310:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8743, + "id": 8906, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8742, + "id": 8905, "isConstant": false, "isLValue": false, "isPure": true, @@ -51474,32 +51474,32 @@ ], "expression": { "argumentTypes": null, - "id": 8735, + "id": 8898, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13267:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8736, + "id": 8899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "13267:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8744, + "id": 8907, "isConstant": false, "isLValue": false, "isPure": false, @@ -51518,22 +51518,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8745, + "id": 8908, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13320:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8747, + "id": 8910, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8746, + "id": 8909, "isConstant": false, "isLValue": false, "isPure": true, @@ -51576,11 +51576,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8732, + "id": 8895, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "13252:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51595,18 +51595,18 @@ "typeString": "address" } ], - "id": 8731, + "id": 8894, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "13246:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 8733, + "id": 8896, "isConstant": false, "isLValue": false, "isPure": false, @@ -51617,25 +51617,25 @@ "src": "13246:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 8734, + "id": 8897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "13246:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 8748, + "id": 8911, "isConstant": false, "isLValue": false, "isPure": false, @@ -51658,7 +51658,7 @@ "typeString": "bool" } ], - "id": 8730, + "id": 8893, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -51669,7 +51669,7 @@ "typeString": "function (bool) pure" } }, - "id": 8749, + "id": 8912, "isConstant": false, "isLValue": false, "isPure": false, @@ -51684,7 +51684,7 @@ "typeString": "tuple()" } }, - "id": 8750, + "id": 8913, "nodeType": "ExpressionStatement", "src": "13239:93:29" }, @@ -51694,11 +51694,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8752, + "id": 8915, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13348:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -51707,11 +51707,11 @@ }, { "argumentTypes": null, - "id": 8753, + "id": 8916, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8678, + "referencedDeclaration": 8841, "src": "13357:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -51720,11 +51720,11 @@ }, { "argumentTypes": null, - "id": 8754, + "id": 8917, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8680, + "referencedDeclaration": 8843, "src": "13363:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51747,18 +51747,18 @@ "typeString": "address" } ], - "id": 8751, + "id": 8914, "name": "_swap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8225, + "referencedDeclaration": 8388, "src": "13342:5:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (uint256[] memory,address[] memory,address)" } }, - "id": 8755, + "id": 8918, "isConstant": false, "isLValue": false, "isPure": false, @@ -51773,7 +51773,7 @@ "typeString": "tuple()" } }, - "id": 8756, + "id": 8919, "nodeType": "ExpressionStatement", "src": "13342:24:29" }, @@ -51784,7 +51784,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8762, + "id": 8925, "isConstant": false, "isLValue": false, "isPure": false, @@ -51793,7 +51793,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8757, + "id": 8920, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -51804,7 +51804,7 @@ "typeString": "msg" } }, - "id": 8758, + "id": 8921, "isConstant": false, "isLValue": false, "isPure": false, @@ -51824,22 +51824,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8759, + "id": 8922, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13427:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8761, + "id": 8924, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8760, + "id": 8923, "isConstant": false, "isLValue": false, "isPure": true, @@ -51872,7 +51872,7 @@ } }, "falseBody": null, - "id": 8776, + "id": 8939, "nodeType": "IfStatement", "src": "13411:94:29", "trueBody": { @@ -51883,7 +51883,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8766, + "id": 8929, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -51894,7 +51894,7 @@ "typeString": "msg" } }, - "id": 8767, + "id": 8930, "isConstant": false, "isLValue": false, "isPure": false, @@ -51914,7 +51914,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8773, + "id": 8936, "isConstant": false, "isLValue": false, "isPure": false, @@ -51923,7 +51923,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8768, + "id": 8931, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -51934,7 +51934,7 @@ "typeString": "msg" } }, - "id": 8769, + "id": 8932, "isConstant": false, "isLValue": false, "isPure": false, @@ -51954,22 +51954,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8770, + "id": 8933, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8690, + "referencedDeclaration": 8853, "src": "13494:7:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 8772, + "id": 8935, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8771, + "id": 8934, "isConstant": false, "isLValue": false, "isPure": true, @@ -52015,32 +52015,32 @@ ], "expression": { "argumentTypes": null, - "id": 8763, + "id": 8926, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "13439:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8765, + "id": 8928, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "13439:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8774, + "id": 8937, "isConstant": false, "isLValue": false, "isPure": false, @@ -52055,7 +52055,7 @@ "typeString": "tuple()" } }, - "id": 8775, + "id": 8938, "nodeType": "ExpressionStatement", "src": "13439:66:29" } @@ -52064,7 +52064,7 @@ }, "documentation": null, "functionSelector": "fb3bdb41", - "id": 8778, + "id": 8941, "implemented": true, "kind": "function", "modifiers": [ @@ -52072,11 +52072,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8686, + "id": 8849, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8682, + "referencedDeclaration": 8845, "src": "12898:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -52084,14 +52084,14 @@ } } ], - "id": 8687, + "id": 8850, "modifierName": { "argumentTypes": null, - "id": 8685, + "id": 8848, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "12891:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -52105,23 +52105,23 @@ "name": "swapETHForExactTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8684, + "id": 8847, "nodeType": "OverrideSpecifier", "overrides": [], "src": "12858:8:29" }, "parameters": { - "id": 8683, + "id": 8846, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8675, + "id": 8838, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12749:14:29", "stateVariable": false, "storageLocation": "default", @@ -52130,7 +52130,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8674, + "id": 8837, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12749:4:29", @@ -52144,12 +52144,12 @@ }, { "constant": false, - "id": 8678, + "id": 8841, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12765:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -52159,7 +52159,7 @@ }, "typeName": { "baseType": { - "id": 8676, + "id": 8839, "name": "address", "nodeType": "ElementaryTypeName", "src": "12765:7:29", @@ -52169,7 +52169,7 @@ "typeString": "address" } }, - "id": 8677, + "id": 8840, "length": null, "nodeType": "ArrayTypeName", "src": "12765:9:29", @@ -52183,12 +52183,12 @@ }, { "constant": false, - "id": 8680, + "id": 8843, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12790:10:29", "stateVariable": false, "storageLocation": "default", @@ -52197,7 +52197,7 @@ "typeString": "address" }, "typeName": { - "id": 8679, + "id": 8842, "name": "address", "nodeType": "ElementaryTypeName", "src": "12790:7:29", @@ -52212,12 +52212,12 @@ }, { "constant": false, - "id": 8682, + "id": 8845, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12802:13:29", "stateVariable": false, "storageLocation": "default", @@ -52226,7 +52226,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8681, + "id": 8844, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12802:4:29", @@ -52242,17 +52242,17 @@ "src": "12748:68:29" }, "returnParameters": { - "id": 8691, + "id": 8854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8690, + "id": 8853, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8778, + "scope": 8941, "src": "12925:21:29", "stateVariable": false, "storageLocation": "memory", @@ -52262,7 +52262,7 @@ }, "typeName": { "baseType": { - "id": 8688, + "id": 8851, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12925:4:29", @@ -52271,7 +52271,7 @@ "typeString": "uint256" } }, - "id": 8689, + "id": 8852, "length": null, "nodeType": "ArrayTypeName", "src": "12925:6:29", @@ -52286,7 +52286,7 @@ ], "src": "12924:23:29" }, - "scope": 9312, + "scope": 9475, "src": "12718:794:29", "stateMutability": "payable", "virtual": true, @@ -52294,30 +52294,30 @@ }, { "body": { - "id": 8941, + "id": 9104, "nodeType": "Block", "src": "13752:1100:29", "statements": [ { "body": { - "id": 8939, + "id": 9102, "nodeType": "Block", "src": "13801:1045:29", "statements": [ { "assignments": [ - 8799, - 8801 + 8962, + 8964 ], "declarations": [ { "constant": false, - "id": 8799, + "id": 8962, "mutability": "mutable", "name": "input", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13816:13:29", "stateVariable": false, "storageLocation": "default", @@ -52326,7 +52326,7 @@ "typeString": "address" }, "typeName": { - "id": 8798, + "id": 8961, "name": "address", "nodeType": "ElementaryTypeName", "src": "13816:7:29", @@ -52341,12 +52341,12 @@ }, { "constant": false, - "id": 8801, + "id": 8964, "mutability": "mutable", "name": "output", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13831:14:29", "stateVariable": false, "storageLocation": "default", @@ -52355,7 +52355,7 @@ "typeString": "address" }, "typeName": { - "id": 8800, + "id": 8963, "name": "address", "nodeType": "ElementaryTypeName", "src": "13831:7:29", @@ -52369,7 +52369,7 @@ "visibility": "internal" } ], - "id": 8811, + "id": 8974, "initialValue": { "argumentTypes": null, "components": [ @@ -52377,25 +52377,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8802, + "id": 8965, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13850:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8804, + "id": 8967, "indexExpression": { "argumentTypes": null, - "id": 8803, + "id": 8966, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13855:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -52417,36 +52417,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8805, + "id": 8968, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13859:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8809, + "id": 8972, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8808, + "id": 8971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8806, + "id": 8969, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13864:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -52458,7 +52458,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8807, + "id": 8970, "isConstant": false, "isLValue": false, "isPure": true, @@ -52491,7 +52491,7 @@ } } ], - "id": 8810, + "id": 8973, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -52509,18 +52509,18 @@ }, { "assignments": [ - 8813, + 8976, null ], "declarations": [ { "constant": false, - "id": 8813, + "id": 8976, "mutability": "mutable", "name": "token0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13886:14:29", "stateVariable": false, "storageLocation": "default", @@ -52529,7 +52529,7 @@ "typeString": "address" }, "typeName": { - "id": 8812, + "id": 8975, "name": "address", "nodeType": "ElementaryTypeName", "src": "13886:7:29", @@ -52544,17 +52544,17 @@ }, null ], - "id": 8819, + "id": 8982, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8816, + "id": 8979, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "13933:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52563,11 +52563,11 @@ }, { "argumentTypes": null, - "id": 8817, + "id": 8980, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "13940:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52588,32 +52588,32 @@ ], "expression": { "argumentTypes": null, - "id": 8814, + "id": 8977, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13905:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8815, + "id": 8978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sortTokens", "nodeType": "MemberAccess", - "referencedDeclaration": 9938, + "referencedDeclaration": 10101, "src": "13905:27:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$", "typeString": "function (address,address) pure returns (address,address)" } }, - "id": 8818, + "id": 8981, "isConstant": false, "isLValue": false, "isPure": false, @@ -52633,33 +52633,33 @@ }, { "assignments": [ - 8821 + 8984 ], "declarations": [ { "constant": false, - "id": 8821, + "id": 8984, "mutability": "mutable", "name": "pair", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "13961:19:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" }, "typeName": { "contractScope": null, - "id": 8820, + "id": 8983, "name": "IUniswapV2Pair", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "13961:14:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -52667,7 +52667,7 @@ "visibility": "internal" } ], - "id": 8830, + "id": 8993, "initialValue": { "argumentTypes": null, "arguments": [ @@ -52676,11 +52676,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8825, + "id": 8988, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "14023:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52689,11 +52689,11 @@ }, { "argumentTypes": null, - "id": 8826, + "id": 8989, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14032:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52702,11 +52702,11 @@ }, { "argumentTypes": null, - "id": 8827, + "id": 8990, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "14039:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52731,32 +52731,32 @@ ], "expression": { "argumentTypes": null, - "id": 8823, + "id": 8986, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "13998:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8824, + "id": 8987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "13998:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8828, + "id": 8991, "isConstant": false, "isLValue": false, "isPure": false, @@ -52779,18 +52779,18 @@ "typeString": "address" } ], - "id": 8822, + "id": 8985, "name": "IUniswapV2Pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7274, + "referencedDeclaration": 7437, "src": "13983:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7274_$", + "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$7437_$", "typeString": "type(contract IUniswapV2Pair)" } }, - "id": 8829, + "id": 8992, "isConstant": false, "isLValue": false, "isPure": false, @@ -52801,7 +52801,7 @@ "src": "13983:64:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, @@ -52810,17 +52810,17 @@ }, { "assignments": [ - 8832 + 8995 ], "declarations": [ { "constant": false, - "id": 8832, + "id": 8995, "mutability": "mutable", "name": "amountInput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14061:16:29", "stateVariable": false, "storageLocation": "default", @@ -52829,7 +52829,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8831, + "id": 8994, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14061:4:29", @@ -52842,24 +52842,24 @@ "visibility": "internal" } ], - "id": 8833, + "id": 8996, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14061:16:29" }, { "assignments": [ - 8835 + 8998 ], "declarations": [ { "constant": false, - "id": 8835, + "id": 8998, "mutability": "mutable", "name": "amountOutput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14091:17:29", "stateVariable": false, "storageLocation": "default", @@ -52868,7 +52868,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8834, + "id": 8997, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14091:4:29", @@ -52881,31 +52881,31 @@ "visibility": "internal" } ], - "id": 8836, + "id": 8999, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "14091:17:29" }, { - "id": 8884, + "id": 9047, "nodeType": "Block", "src": "14122:422:29", "statements": [ { "assignments": [ - 8838, - 8840, + 9001, + 9003, null ], "declarations": [ { "constant": false, - "id": 8838, + "id": 9001, "mutability": "mutable", "name": "reserve0", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14177:13:29", "stateVariable": false, "storageLocation": "default", @@ -52914,7 +52914,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8837, + "id": 9000, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14177:4:29", @@ -52928,12 +52928,12 @@ }, { "constant": false, - "id": 8840, + "id": 9003, "mutability": "mutable", "name": "reserve1", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14192:13:29", "stateVariable": false, "storageLocation": "default", @@ -52942,7 +52942,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8839, + "id": 9002, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14192:4:29", @@ -52956,7 +52956,7 @@ }, null ], - "id": 8844, + "id": 9007, "initialValue": { "argumentTypes": null, "arguments": [], @@ -52964,32 +52964,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 8841, + "id": 9004, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14210:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8842, + "id": 9005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getReserves", "nodeType": "MemberAccess", - "referencedDeclaration": 7216, + "referencedDeclaration": 7379, "src": "14210:16:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$", "typeString": "function () view external returns (uint112,uint112,uint32)" } }, - "id": 8843, + "id": 9006, "isConstant": false, "isLValue": false, "isPure": false, @@ -53009,18 +53009,18 @@ }, { "assignments": [ - 8846, - 8848 + 9009, + 9011 ], "declarations": [ { "constant": false, - "id": 8846, + "id": 9009, "mutability": "mutable", "name": "reserveInput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14243:17:29", "stateVariable": false, "storageLocation": "default", @@ -53029,7 +53029,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8845, + "id": 9008, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14243:4:29", @@ -53043,12 +53043,12 @@ }, { "constant": false, - "id": 8848, + "id": 9011, "mutability": "mutable", "name": "reserveOutput", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8884, + "scope": 9047, "src": "14262:18:29", "stateVariable": false, "storageLocation": "default", @@ -53057,7 +53057,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8847, + "id": 9010, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14262:4:29", @@ -53070,7 +53070,7 @@ "visibility": "internal" } ], - "id": 8859, + "id": 9022, "initialValue": { "argumentTypes": null, "condition": { @@ -53079,18 +53079,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8851, + "id": 9014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8849, + "id": 9012, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14284:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53101,11 +53101,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8850, + "id": 9013, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8813, + "referencedDeclaration": 8976, "src": "14293:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53123,11 +53123,11 @@ "components": [ { "argumentTypes": null, - "id": 8855, + "id": 9018, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8840, + "referencedDeclaration": 9003, "src": "14326:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53136,11 +53136,11 @@ }, { "argumentTypes": null, - "id": 8856, + "id": 9019, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8838, + "referencedDeclaration": 9001, "src": "14336:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53148,7 +53148,7 @@ } } ], - "id": 8857, + "id": 9020, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -53161,7 +53161,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8858, + "id": 9021, "isConstant": false, "isLValue": false, "isPure": false, @@ -53173,11 +53173,11 @@ "components": [ { "argumentTypes": null, - "id": 8852, + "id": 9015, "name": "reserve0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8838, + "referencedDeclaration": 9001, "src": "14303:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53186,11 +53186,11 @@ }, { "argumentTypes": null, - "id": 8853, + "id": 9016, "name": "reserve1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8840, + "referencedDeclaration": 9003, "src": "14313:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53198,7 +53198,7 @@ } } ], - "id": 8854, + "id": 9017, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -53222,18 +53222,18 @@ { "expression": { "argumentTypes": null, - "id": 8873, + "id": 9036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8860, + "id": 9023, "name": "amountInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8832, + "referencedDeclaration": 8995, "src": "14359:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53247,11 +53247,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8871, + "id": 9034, "name": "reserveInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8846, + "referencedDeclaration": 9009, "src": "14416:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53274,14 +53274,14 @@ "arguments": [ { "argumentTypes": null, - "id": 8867, + "id": 9030, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14405:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } } @@ -53289,11 +53289,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } ], - "id": 8866, + "id": 9029, "isConstant": false, "isLValue": false, "isPure": true, @@ -53305,7 +53305,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8865, + "id": 9028, "name": "address", "nodeType": "ElementaryTypeName", "src": "14397:7:29", @@ -53315,7 +53315,7 @@ } } }, - "id": 8868, + "id": 9031, "isConstant": false, "isLValue": false, "isPure": false, @@ -53343,11 +53343,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8862, + "id": 9025, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14380:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53362,18 +53362,18 @@ "typeString": "address" } ], - "id": 8861, + "id": 9024, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "14373:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8863, + "id": 9026, "isConstant": false, "isLValue": false, "isPure": false, @@ -53384,25 +53384,25 @@ "src": "14373:13:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8864, + "id": 9027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "14373:23:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8869, + "id": 9032, "isConstant": false, "isLValue": false, "isPure": false, @@ -53417,21 +53417,21 @@ "typeString": "uint256" } }, - "id": 8870, + "id": 9033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "14373:42:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 8872, + "id": 9035, "isConstant": false, "isLValue": false, "isPure": false, @@ -53452,25 +53452,25 @@ "typeString": "uint256" } }, - "id": 8874, + "id": 9037, "nodeType": "ExpressionStatement", "src": "14359:70:29" }, { "expression": { "argumentTypes": null, - "id": 8882, + "id": 9045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 8875, + "id": 9038, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14443:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53484,11 +53484,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8878, + "id": 9041, "name": "amountInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8832, + "referencedDeclaration": 8995, "src": "14488:11:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53497,11 +53497,11 @@ }, { "argumentTypes": null, - "id": 8879, + "id": 9042, "name": "reserveInput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8846, + "referencedDeclaration": 9009, "src": "14501:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53510,11 +53510,11 @@ }, { "argumentTypes": null, - "id": 8880, + "id": 9043, "name": "reserveOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8848, + "referencedDeclaration": 9011, "src": "14515:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53539,32 +53539,32 @@ ], "expression": { "argumentTypes": null, - "id": 8876, + "id": 9039, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "14458:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8877, + "id": 9040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "14458:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 8881, + "id": 9044, "isConstant": false, "isLValue": false, "isPure": false, @@ -53585,7 +53585,7 @@ "typeString": "uint256" } }, - "id": 8883, + "id": 9046, "nodeType": "ExpressionStatement", "src": "14443:86:29" } @@ -53593,18 +53593,18 @@ }, { "assignments": [ - 8886, - 8888 + 9049, + 9051 ], "declarations": [ { "constant": false, - "id": 8886, + "id": 9049, "mutability": "mutable", "name": "amount0Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14558:15:29", "stateVariable": false, "storageLocation": "default", @@ -53613,7 +53613,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8885, + "id": 9048, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14558:4:29", @@ -53627,12 +53627,12 @@ }, { "constant": false, - "id": 8888, + "id": 9051, "mutability": "mutable", "name": "amount1Out", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14575:15:29", "stateVariable": false, "storageLocation": "default", @@ -53641,7 +53641,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8887, + "id": 9050, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14575:4:29", @@ -53654,7 +53654,7 @@ "visibility": "internal" } ], - "id": 8905, + "id": 9068, "initialValue": { "argumentTypes": null, "condition": { @@ -53663,18 +53663,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8891, + "id": 9054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8889, + "id": 9052, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, + "referencedDeclaration": 8962, "src": "14594:5:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53685,11 +53685,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 8890, + "id": 9053, "name": "token0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8813, + "referencedDeclaration": 8976, "src": "14603:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53707,11 +53707,11 @@ "components": [ { "argumentTypes": null, - "id": 8898, + "id": 9061, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14639:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53724,7 +53724,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8901, + "id": 9064, "isConstant": false, "isLValue": false, "isPure": true, @@ -53747,7 +53747,7 @@ "typeString": "int_const 0" } ], - "id": 8900, + "id": 9063, "isConstant": false, "isLValue": false, "isPure": true, @@ -53759,7 +53759,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8899, + "id": 9062, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14653:4:29", @@ -53769,7 +53769,7 @@ } } }, - "id": 8902, + "id": 9065, "isConstant": false, "isLValue": false, "isPure": true, @@ -53785,7 +53785,7 @@ } } ], - "id": 8903, + "id": 9066, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -53798,7 +53798,7 @@ "typeString": "tuple(uint256,uint256)" } }, - "id": 8904, + "id": 9067, "isConstant": false, "isLValue": false, "isPure": false, @@ -53814,7 +53814,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8894, + "id": 9057, "isConstant": false, "isLValue": false, "isPure": true, @@ -53837,7 +53837,7 @@ "typeString": "int_const 0" } ], - "id": 8893, + "id": 9056, "isConstant": false, "isLValue": false, "isPure": true, @@ -53849,7 +53849,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 8892, + "id": 9055, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14613:4:29", @@ -53859,7 +53859,7 @@ } } }, - "id": 8895, + "id": 9058, "isConstant": false, "isLValue": false, "isPure": true, @@ -53876,11 +53876,11 @@ }, { "argumentTypes": null, - "id": 8896, + "id": 9059, "name": "amountOutput", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8835, + "referencedDeclaration": 8998, "src": "14622:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53888,7 +53888,7 @@ } } ], - "id": 8897, + "id": 9060, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -53911,17 +53911,17 @@ }, { "assignments": [ - 8907 + 9070 ], "declarations": [ { "constant": false, - "id": 8907, + "id": 9070, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8939, + "scope": 9102, "src": "14675:10:29", "stateVariable": false, "storageLocation": "default", @@ -53930,7 +53930,7 @@ "typeString": "address" }, "typeName": { - "id": 8906, + "id": 9069, "name": "address", "nodeType": "ElementaryTypeName", "src": "14675:7:29", @@ -53944,7 +53944,7 @@ "visibility": "internal" } ], - "id": 8926, + "id": 9089, "initialValue": { "argumentTypes": null, "condition": { @@ -53953,18 +53953,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8913, + "id": 9076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8908, + "id": 9071, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "14688:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -53979,7 +53979,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8912, + "id": 9075, "isConstant": false, "isLValue": false, "isPure": false, @@ -53988,18 +53988,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8909, + "id": 9072, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "14692:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8910, + "id": 9073, "isConstant": false, "isLValue": false, "isPure": false, @@ -54018,7 +54018,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8911, + "id": 9074, "isConstant": false, "isLValue": false, "isPure": true, @@ -54047,18 +54047,18 @@ }, "falseExpression": { "argumentTypes": null, - "id": 8924, + "id": 9087, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8783, + "referencedDeclaration": 8946, "src": "14767:3:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8925, + "id": 9088, "isConstant": false, "isLValue": false, "isPure": false, @@ -54070,11 +54070,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8916, + "id": 9079, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "14735:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54083,11 +54083,11 @@ }, { "argumentTypes": null, - "id": 8917, + "id": 9080, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8801, + "referencedDeclaration": 8964, "src": "14744:6:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54098,36 +54098,36 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8918, + "id": 9081, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "14752:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8922, + "id": 9085, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8921, + "id": 9084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8919, + "id": 9082, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "14757:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54139,7 +54139,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 8920, + "id": 9083, "isConstant": false, "isLValue": false, "isPure": true, @@ -54189,32 +54189,32 @@ ], "expression": { "argumentTypes": null, - "id": 8914, + "id": 9077, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "14710:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8915, + "id": 9078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "14710:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8923, + "id": 9086, "isConstant": false, "isLValue": false, "isPure": false, @@ -54243,11 +54243,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8930, + "id": 9093, "name": "amount0Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8886, + "referencedDeclaration": 9049, "src": "14794:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54256,11 +54256,11 @@ }, { "argumentTypes": null, - "id": 8931, + "id": 9094, "name": "amount1Out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8888, + "referencedDeclaration": 9051, "src": "14806:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54269,11 +54269,11 @@ }, { "argumentTypes": null, - "id": 8932, + "id": 9095, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8907, + "referencedDeclaration": 9070, "src": "14818:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54286,7 +54286,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 8935, + "id": 9098, "isConstant": false, "isLValue": false, "isPure": true, @@ -54309,7 +54309,7 @@ "typeString": "int_const 0" } ], - "id": 8934, + "id": 9097, "isConstant": false, "isLValue": false, "isPure": true, @@ -54321,7 +54321,7 @@ "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 8933, + "id": 9096, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14826:5:29", @@ -54331,7 +54331,7 @@ } } }, - "id": 8936, + "id": 9099, "isConstant": false, "isLValue": false, "isPure": true, @@ -54368,32 +54368,32 @@ ], "expression": { "argumentTypes": null, - "id": 8927, + "id": 9090, "name": "pair", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8821, + "referencedDeclaration": 8984, "src": "14784:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_IUniswapV2Pair_$7274", + "typeIdentifier": "t_contract$_IUniswapV2Pair_$7437", "typeString": "contract IUniswapV2Pair" } }, - "id": 8929, + "id": 9092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swap", "nodeType": "MemberAccess", - "referencedDeclaration": 7258, + "referencedDeclaration": 7421, "src": "14784:9:29", "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": 8937, + "id": 9100, "isConstant": false, "isLValue": false, "isPure": false, @@ -54408,7 +54408,7 @@ "typeString": "tuple()" } }, - "id": 8938, + "id": 9101, "nodeType": "ExpressionStatement", "src": "14784:51:29" } @@ -54420,18 +54420,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8794, + "id": 8957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 8789, + "id": 8952, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13775:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54446,7 +54446,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8793, + "id": 8956, "isConstant": false, "isLValue": false, "isPure": false, @@ -54455,18 +54455,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8790, + "id": 8953, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8781, + "referencedDeclaration": 8944, "src": "13779:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 8791, + "id": 8954, "isConstant": false, "isLValue": false, "isPure": false, @@ -54485,7 +54485,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8792, + "id": 8955, "isConstant": false, "isLValue": false, "isPure": true, @@ -54512,20 +54512,20 @@ "typeString": "bool" } }, - "id": 8940, + "id": 9103, "initializationExpression": { "assignments": [ - 8787 + 8950 ], "declarations": [ { "constant": false, - "id": 8787, + "id": 8950, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8940, + "scope": 9103, "src": "13767:6:29", "stateVariable": false, "storageLocation": "default", @@ -54534,7 +54534,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8786, + "id": 8949, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13767:4:29", @@ -54547,7 +54547,7 @@ "visibility": "internal" } ], - "id": 8788, + "id": 8951, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "13767:6:29" @@ -54555,7 +54555,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 8796, + "id": 8959, "isConstant": false, "isLValue": false, "isPure": false, @@ -54566,11 +54566,11 @@ "src": "13796:3:29", "subExpression": { "argumentTypes": null, - "id": 8795, + "id": 8958, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8787, + "referencedDeclaration": 8950, "src": "13796:1:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54582,7 +54582,7 @@ "typeString": "uint256" } }, - "id": 8797, + "id": 8960, "nodeType": "ExpressionStatement", "src": "13796:3:29" }, @@ -54592,7 +54592,7 @@ ] }, "documentation": null, - "id": 8942, + "id": 9105, "implemented": true, "kind": "function", "modifiers": [], @@ -54600,17 +54600,17 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 8784, + "id": 8947, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8781, + "id": 8944, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8942, + "scope": 9105, "src": "13699:21:29", "stateVariable": false, "storageLocation": "memory", @@ -54620,7 +54620,7 @@ }, "typeName": { "baseType": { - "id": 8779, + "id": 8942, "name": "address", "nodeType": "ElementaryTypeName", "src": "13699:7:29", @@ -54630,7 +54630,7 @@ "typeString": "address" } }, - "id": 8780, + "id": 8943, "length": null, "nodeType": "ArrayTypeName", "src": "13699:9:29", @@ -54644,12 +54644,12 @@ }, { "constant": false, - "id": 8783, + "id": 8946, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 8942, + "scope": 9105, "src": "13722:11:29", "stateVariable": false, "storageLocation": "default", @@ -54658,7 +54658,7 @@ "typeString": "address" }, "typeName": { - "id": 8782, + "id": 8945, "name": "address", "nodeType": "ElementaryTypeName", "src": "13722:7:29", @@ -54675,12 +54675,12 @@ "src": "13698:36:29" }, "returnParameters": { - "id": 8785, + "id": 8948, "nodeType": "ParameterList", "parameters": [], "src": "13752:0:29" }, - "scope": 9312, + "scope": 9475, "src": "13655:1197:29", "stateMutability": "nonpayable", "virtual": true, @@ -54688,10 +54688,10 @@ }, { "baseFunctions": [ - 9765 + 9928 ], "body": { - "id": 9020, + "id": 9183, "nodeType": "Block", "src": "15095:460:29", "statements": [ @@ -54703,22 +54703,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8963, + "id": 9126, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15150:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8965, + "id": 9128, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8964, + "id": 9127, "isConstant": false, "isLValue": false, "isPure": true, @@ -54748,7 +54748,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8966, + "id": 9129, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54759,7 +54759,7 @@ "typeString": "msg" } }, - "id": 8967, + "id": 9130, "isConstant": false, "isLValue": false, "isPure": false, @@ -54778,11 +54778,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8970, + "id": 9133, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "15196:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54793,22 +54793,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8971, + "id": 9134, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15205:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8973, + "id": 9136, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 8972, + "id": 9135, "isConstant": false, "isLValue": false, "isPure": true, @@ -54838,22 +54838,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8974, + "id": 9137, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15214:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8976, + "id": 9139, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8975, + "id": 9138, "isConstant": false, "isLValue": false, "isPure": true, @@ -54897,32 +54897,32 @@ ], "expression": { "argumentTypes": null, - "id": 8968, + "id": 9131, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "15171:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 8969, + "id": 9132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "15171:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 8977, + "id": 9140, "isConstant": false, "isLValue": false, "isPure": false, @@ -54939,11 +54939,11 @@ }, { "argumentTypes": null, - "id": 8978, + "id": 9141, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8944, + "referencedDeclaration": 9107, "src": "15224:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54972,32 +54972,32 @@ ], "expression": { "argumentTypes": null, - "id": 8960, + "id": 9123, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "15105:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 8962, + "id": 9125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "15105:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 8979, + "id": 9142, "isConstant": false, "isLValue": false, "isPure": false, @@ -55012,23 +55012,23 @@ "typeString": "tuple()" } }, - "id": 8980, + "id": 9143, "nodeType": "ExpressionStatement", "src": "15105:137:29" }, { "assignments": [ - 8982 + 9145 ], "declarations": [ { "constant": false, - "id": 8982, + "id": 9145, "mutability": "mutable", "name": "balanceBefore", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9020, + "scope": 9183, "src": "15252:18:29", "stateVariable": false, "storageLocation": "default", @@ -55037,7 +55037,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8981, + "id": 9144, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15252:4:29", @@ -55050,17 +55050,17 @@ "visibility": "internal" } ], - "id": 8994, + "id": 9157, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 8992, + "id": 9155, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15313:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55082,25 +55082,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 8984, + "id": 9147, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15280:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8989, + "id": 9152, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8988, + "id": 9151, "isConstant": false, "isLValue": false, "isPure": false, @@ -55109,18 +55109,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 8985, + "id": 9148, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15285:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 8986, + "id": 9149, "isConstant": false, "isLValue": false, "isPure": false, @@ -55139,7 +55139,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 8987, + "id": 9150, "isConstant": false, "isLValue": false, "isPure": true, @@ -55179,18 +55179,18 @@ "typeString": "address" } ], - "id": 8983, + "id": 9146, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "15273:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 8990, + "id": 9153, "isConstant": false, "isLValue": false, "isPure": false, @@ -55201,25 +55201,25 @@ "src": "15273:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 8991, + "id": 9154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "15273:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 8993, + "id": 9156, "isConstant": false, "isLValue": false, "isPure": false, @@ -55243,11 +55243,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8996, + "id": 9159, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15361:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -55256,11 +55256,11 @@ }, { "argumentTypes": null, - "id": 8997, + "id": 9160, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15367:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55279,18 +55279,18 @@ "typeString": "address" } ], - "id": 8995, + "id": 9158, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "15326:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 8998, + "id": 9161, "isConstant": false, "isLValue": false, "isPure": false, @@ -55305,7 +55305,7 @@ "typeString": "tuple()" } }, - "id": 8999, + "id": 9162, "nodeType": "ExpressionStatement", "src": "15326:44:29" }, @@ -55319,7 +55319,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9016, + "id": 9179, "isConstant": false, "isLValue": false, "isPure": false, @@ -55329,11 +55329,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9013, + "id": 9176, "name": "balanceBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8982, + "referencedDeclaration": 9145, "src": "15449:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55353,11 +55353,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9010, + "id": 9173, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8951, + "referencedDeclaration": 9114, "src": "15441:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55379,25 +55379,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9002, + "id": 9165, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15408:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9007, + "id": 9170, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9006, + "id": 9169, "isConstant": false, "isLValue": false, "isPure": false, @@ -55406,18 +55406,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9003, + "id": 9166, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8949, + "referencedDeclaration": 9112, "src": "15413:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9004, + "id": 9167, "isConstant": false, "isLValue": false, "isPure": false, @@ -55436,7 +55436,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9005, + "id": 9168, "isConstant": false, "isLValue": false, "isPure": true, @@ -55476,18 +55476,18 @@ "typeString": "address" } ], - "id": 9001, + "id": 9164, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "15401:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9008, + "id": 9171, "isConstant": false, "isLValue": false, "isPure": false, @@ -55498,25 +55498,25 @@ "src": "15401:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9009, + "id": 9172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "15401:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9011, + "id": 9174, "isConstant": false, "isLValue": false, "isPure": false, @@ -55531,21 +55531,21 @@ "typeString": "uint256" } }, - "id": 9012, + "id": 9175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "15401:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9014, + "id": 9177, "isConstant": false, "isLValue": false, "isPure": false, @@ -55564,11 +55564,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9015, + "id": 9178, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8946, + "referencedDeclaration": 9109, "src": "15467:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55584,7 +55584,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9017, + "id": 9180, "isConstant": false, "isLValue": false, "isPure": true, @@ -55611,7 +55611,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9000, + "id": 9163, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -55625,7 +55625,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9018, + "id": 9181, "isConstant": false, "isLValue": false, "isPure": false, @@ -55640,7 +55640,7 @@ "typeString": "tuple()" } }, - "id": 9019, + "id": 9182, "nodeType": "ExpressionStatement", "src": "15380:168:29" } @@ -55648,7 +55648,7 @@ }, "documentation": null, "functionSelector": "5c11d795", - "id": 9021, + "id": 9184, "implemented": true, "kind": "function", "modifiers": [ @@ -55656,11 +55656,11 @@ "arguments": [ { "argumentTypes": null, - "id": 8957, + "id": 9120, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8953, + "referencedDeclaration": 9116, "src": "15085:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55668,14 +55668,14 @@ } } ], - "id": 8958, + "id": 9121, "modifierName": { "argumentTypes": null, - "id": 8956, + "id": 9119, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "15078:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -55689,23 +55689,23 @@ "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 8955, + "id": 9118, "nodeType": "OverrideSpecifier", "overrides": [], "src": "15069:8:29" }, "parameters": { - "id": 8954, + "id": 9117, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8944, + "id": 9107, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14929:13:29", "stateVariable": false, "storageLocation": "default", @@ -55714,7 +55714,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8943, + "id": 9106, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14929:4:29", @@ -55728,12 +55728,12 @@ }, { "constant": false, - "id": 8946, + "id": 9109, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14952:17:29", "stateVariable": false, "storageLocation": "default", @@ -55742,7 +55742,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8945, + "id": 9108, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14952:4:29", @@ -55756,12 +55756,12 @@ }, { "constant": false, - "id": 8949, + "id": 9112, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "14979:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -55771,7 +55771,7 @@ }, "typeName": { "baseType": { - "id": 8947, + "id": 9110, "name": "address", "nodeType": "ElementaryTypeName", "src": "14979:7:29", @@ -55781,7 +55781,7 @@ "typeString": "address" } }, - "id": 8948, + "id": 9111, "length": null, "nodeType": "ArrayTypeName", "src": "14979:9:29", @@ -55795,12 +55795,12 @@ }, { "constant": false, - "id": 8951, + "id": 9114, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "15012:10:29", "stateVariable": false, "storageLocation": "default", @@ -55809,7 +55809,7 @@ "typeString": "address" }, "typeName": { - "id": 8950, + "id": 9113, "name": "address", "nodeType": "ElementaryTypeName", "src": "15012:7:29", @@ -55824,12 +55824,12 @@ }, { "constant": false, - "id": 8953, + "id": 9116, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9021, + "scope": 9184, "src": "15032:13:29", "stateVariable": false, "storageLocation": "default", @@ -55838,7 +55838,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8952, + "id": 9115, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15032:4:29", @@ -55854,12 +55854,12 @@ "src": "14919:132:29" }, "returnParameters": { - "id": 8959, + "id": 9122, "nodeType": "ParameterList", "parameters": [], "src": "15095:0:29" }, - "scope": 9312, + "scope": 9475, "src": "14857:698:29", "stateMutability": "nonpayable", "virtual": true, @@ -55867,10 +55867,10 @@ }, { "baseFunctions": [ - 9777 + 9940 ], "body": { - "id": 9117, + "id": 9280, "nodeType": "Block", "src": "15824:564:29", "statements": [ @@ -55884,7 +55884,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9042, + "id": 9205, "isConstant": false, "isLValue": false, "isPure": false, @@ -55893,22 +55893,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9038, + "id": 9201, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "15842:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9040, + "id": 9203, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9039, + "id": 9202, "isConstant": false, "isLValue": false, "isPure": true, @@ -55938,11 +55938,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 9041, + "id": 9204, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15853:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55958,7 +55958,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 9043, + "id": 9206, "isConstant": false, "isLValue": false, "isPure": true, @@ -55985,7 +55985,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 9037, + "id": 9200, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -55999,7 +55999,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9044, + "id": 9207, "isConstant": false, "isLValue": false, "isPure": false, @@ -56014,23 +56014,23 @@ "typeString": "tuple()" } }, - "id": 9045, + "id": 9208, "nodeType": "ExpressionStatement", "src": "15834:57:29" }, { "assignments": [ - 9047 + 9210 ], "declarations": [ { "constant": false, - "id": 9047, + "id": 9210, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9117, + "scope": 9280, "src": "15901:13:29", "stateVariable": false, "storageLocation": "default", @@ -56039,7 +56039,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9046, + "id": 9209, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15901:4:29", @@ -56052,12 +56052,12 @@ "visibility": "internal" } ], - "id": 9050, + "id": 9213, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9048, + "id": 9211, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -56068,7 +56068,7 @@ "typeString": "msg" } }, - "id": 9049, + "id": 9212, "isConstant": false, "isLValue": false, "isPure": false, @@ -56098,11 +56098,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9052, + "id": 9215, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15942:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56117,18 +56117,18 @@ "typeString": "address" } ], - "id": 9051, + "id": 9214, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "15936:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9053, + "id": 9216, "isConstant": false, "isLValue": false, "isPure": false, @@ -56139,25 +56139,25 @@ "src": "15936:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9054, + "id": 9217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "deposit", "nodeType": "MemberAccess", - "referencedDeclaration": 9797, + "referencedDeclaration": 9960, "src": "15936:19:29", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$__$returns$__$", "typeString": "function () payable external" } }, - "id": 9056, + "id": 9219, "isConstant": false, "isLValue": false, "isPure": false, @@ -56169,11 +56169,11 @@ "options": [ { "argumentTypes": null, - "id": 9055, + "id": 9218, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9047, + "referencedDeclaration": 9210, "src": "15963:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56187,7 +56187,7 @@ "typeString": "function () payable external" } }, - "id": 9057, + "id": 9220, "isConstant": false, "isLValue": false, "isPure": false, @@ -56202,7 +56202,7 @@ "typeString": "tuple()" } }, - "id": 9058, + "id": 9221, "nodeType": "ExpressionStatement", "src": "15936:38:29" }, @@ -56218,11 +56218,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9066, + "id": 9229, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "16037:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56233,22 +56233,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9067, + "id": 9230, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16046:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9069, + "id": 9232, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9068, + "id": 9231, "isConstant": false, "isLValue": false, "isPure": true, @@ -56278,22 +56278,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9070, + "id": 9233, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16055:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9072, + "id": 9235, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9071, + "id": 9234, "isConstant": false, "isLValue": false, "isPure": true, @@ -56337,32 +56337,32 @@ ], "expression": { "argumentTypes": null, - "id": 9064, + "id": 9227, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "16012:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9065, + "id": 9228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "16012:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 9073, + "id": 9236, "isConstant": false, "isLValue": false, "isPure": false, @@ -56379,11 +56379,11 @@ }, { "argumentTypes": null, - "id": 9074, + "id": 9237, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9047, + "referencedDeclaration": 9210, "src": "16065:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56407,11 +56407,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9061, + "id": 9224, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "15997:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56426,18 +56426,18 @@ "typeString": "address" } ], - "id": 9060, + "id": 9223, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "15991:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9062, + "id": 9225, "isConstant": false, "isLValue": false, "isPure": false, @@ -56448,25 +56448,25 @@ "src": "15991:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9063, + "id": 9226, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 9806, + "referencedDeclaration": 9969, "src": "15991:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 9075, + "id": 9238, "isConstant": false, "isLValue": false, "isPure": false, @@ -56489,7 +56489,7 @@ "typeString": "bool" } ], - "id": 9059, + "id": 9222, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -56500,7 +56500,7 @@ "typeString": "function (bool) pure" } }, - "id": 9076, + "id": 9239, "isConstant": false, "isLValue": false, "isPure": false, @@ -56515,23 +56515,23 @@ "typeString": "tuple()" } }, - "id": 9077, + "id": 9240, "nodeType": "ExpressionStatement", "src": "15984:91:29" }, { "assignments": [ - 9079 + 9242 ], "declarations": [ { "constant": false, - "id": 9079, + "id": 9242, "mutability": "mutable", "name": "balanceBefore", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9117, + "scope": 9280, "src": "16085:18:29", "stateVariable": false, "storageLocation": "default", @@ -56540,7 +56540,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9078, + "id": 9241, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16085:4:29", @@ -56553,17 +56553,17 @@ "visibility": "internal" } ], - "id": 9091, + "id": 9254, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 9089, + "id": 9252, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16146:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56585,25 +56585,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9081, + "id": 9244, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16113:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9086, + "id": 9249, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9085, + "id": 9248, "isConstant": false, "isLValue": false, "isPure": false, @@ -56612,18 +56612,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9082, + "id": 9245, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16118:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9083, + "id": 9246, "isConstant": false, "isLValue": false, "isPure": false, @@ -56642,7 +56642,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9084, + "id": 9247, "isConstant": false, "isLValue": false, "isPure": true, @@ -56682,18 +56682,18 @@ "typeString": "address" } ], - "id": 9080, + "id": 9243, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16106:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9087, + "id": 9250, "isConstant": false, "isLValue": false, "isPure": false, @@ -56704,25 +56704,25 @@ "src": "16106:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9088, + "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16106:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9090, + "id": 9253, "isConstant": false, "isLValue": false, "isPure": false, @@ -56746,11 +56746,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9093, + "id": 9256, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16194:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -56759,11 +56759,11 @@ }, { "argumentTypes": null, - "id": 9094, + "id": 9257, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16200:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56782,18 +56782,18 @@ "typeString": "address" } ], - "id": 9092, + "id": 9255, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "16159:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 9095, + "id": 9258, "isConstant": false, "isLValue": false, "isPure": false, @@ -56808,7 +56808,7 @@ "typeString": "tuple()" } }, - "id": 9096, + "id": 9259, "nodeType": "ExpressionStatement", "src": "16159:44:29" }, @@ -56822,7 +56822,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9113, + "id": 9276, "isConstant": false, "isLValue": false, "isPure": false, @@ -56832,11 +56832,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9110, + "id": 9273, "name": "balanceBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9079, + "referencedDeclaration": 9242, "src": "16282:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56856,11 +56856,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9107, + "id": 9270, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9028, + "referencedDeclaration": 9191, "src": "16274:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56882,25 +56882,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9099, + "id": 9262, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16241:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9104, + "id": 9267, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9103, + "id": 9266, "isConstant": false, "isLValue": false, "isPure": false, @@ -56909,18 +56909,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9100, + "id": 9263, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9026, + "referencedDeclaration": 9189, "src": "16246:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9101, + "id": 9264, "isConstant": false, "isLValue": false, "isPure": false, @@ -56939,7 +56939,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9102, + "id": 9265, "isConstant": false, "isLValue": false, "isPure": true, @@ -56979,18 +56979,18 @@ "typeString": "address" } ], - "id": 9098, + "id": 9261, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16234:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9105, + "id": 9268, "isConstant": false, "isLValue": false, "isPure": false, @@ -57001,25 +57001,25 @@ "src": "16234:29:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9106, + "id": 9269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16234:39:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9108, + "id": 9271, "isConstant": false, "isLValue": false, "isPure": false, @@ -57034,21 +57034,21 @@ "typeString": "uint256" } }, - "id": 9109, + "id": 9272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 9858, + "referencedDeclaration": 10021, "src": "16234:47:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 9111, + "id": 9274, "isConstant": false, "isLValue": false, "isPure": false, @@ -57067,11 +57067,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9112, + "id": 9275, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9023, + "referencedDeclaration": 9186, "src": "16300:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57087,7 +57087,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9114, + "id": 9277, "isConstant": false, "isLValue": false, "isPure": true, @@ -57114,7 +57114,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9097, + "id": 9260, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -57128,7 +57128,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9115, + "id": 9278, "isConstant": false, "isLValue": false, "isPure": false, @@ -57143,7 +57143,7 @@ "typeString": "tuple()" } }, - "id": 9116, + "id": 9279, "nodeType": "ExpressionStatement", "src": "16213:168:29" } @@ -57151,7 +57151,7 @@ }, "documentation": null, "functionSelector": "b6f9de95", - "id": 9118, + "id": 9281, "implemented": true, "kind": "function", "modifiers": [ @@ -57159,11 +57159,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9034, + "id": 9197, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9030, + "referencedDeclaration": 9193, "src": "15810:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57171,14 +57171,14 @@ } } ], - "id": 9035, + "id": 9198, "modifierName": { "argumentTypes": null, - "id": 9033, + "id": 9196, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "15803:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -57192,23 +57192,23 @@ "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 9032, + "id": 9195, "nodeType": "OverrideSpecifier", "overrides": [], "src": "15770:8:29" }, "parameters": { - "id": 9031, + "id": 9194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9023, + "id": 9186, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15629:17:29", "stateVariable": false, "storageLocation": "default", @@ -57217,7 +57217,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9022, + "id": 9185, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15629:4:29", @@ -57231,12 +57231,12 @@ }, { "constant": false, - "id": 9026, + "id": 9189, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15656:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -57246,7 +57246,7 @@ }, "typeName": { "baseType": { - "id": 9024, + "id": 9187, "name": "address", "nodeType": "ElementaryTypeName", "src": "15656:7:29", @@ -57256,7 +57256,7 @@ "typeString": "address" } }, - "id": 9025, + "id": 9188, "length": null, "nodeType": "ArrayTypeName", "src": "15656:9:29", @@ -57270,12 +57270,12 @@ }, { "constant": false, - "id": 9028, + "id": 9191, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15689:10:29", "stateVariable": false, "storageLocation": "default", @@ -57284,7 +57284,7 @@ "typeString": "address" }, "typeName": { - "id": 9027, + "id": 9190, "name": "address", "nodeType": "ElementaryTypeName", "src": "15689:7:29", @@ -57299,12 +57299,12 @@ }, { "constant": false, - "id": 9030, + "id": 9193, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9118, + "scope": 9281, "src": "15709:13:29", "stateVariable": false, "storageLocation": "default", @@ -57313,7 +57313,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9029, + "id": 9192, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15709:4:29", @@ -57329,12 +57329,12 @@ "src": "15619:109:29" }, "returnParameters": { - "id": 9036, + "id": 9199, "nodeType": "ParameterList", "parameters": [], "src": "15824:0:29" }, - "scope": 9312, + "scope": 9475, "src": "15560:828:29", "stateMutability": "payable", "virtual": true, @@ -57342,10 +57342,10 @@ }, { "baseFunctions": [ - 9791 + 9954 ], "body": { - "id": 9210, + "id": 9373, "nodeType": "Block", "src": "16664:551:29", "statements": [ @@ -57359,7 +57359,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9144, + "id": 9307, "isConstant": false, "isLValue": false, "isPure": false, @@ -57368,25 +57368,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9137, + "id": 9300, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16682:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9142, + "id": 9305, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9141, + "id": 9304, "isConstant": false, "isLValue": false, "isPure": false, @@ -57395,18 +57395,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9138, + "id": 9301, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16687:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9139, + "id": 9302, "isConstant": false, "isLValue": false, "isPure": false, @@ -57425,7 +57425,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9140, + "id": 9303, "isConstant": false, "isLValue": false, "isPure": true, @@ -57461,11 +57461,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 9143, + "id": 9306, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "16707:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57481,7 +57481,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448", - "id": 9145, + "id": 9308, "isConstant": false, "isLValue": false, "isPure": true, @@ -57508,7 +57508,7 @@ "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\"" } ], - "id": 9136, + "id": 9299, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -57522,7 +57522,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9146, + "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, @@ -57537,7 +57537,7 @@ "typeString": "tuple()" } }, - "id": 9147, + "id": 9310, "nodeType": "ExpressionStatement", "src": "16674:71:29" }, @@ -57549,22 +57549,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9151, + "id": 9314, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16800:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9153, + "id": 9316, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9152, + "id": 9315, "isConstant": false, "isLValue": false, "isPure": true, @@ -57594,7 +57594,7 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 9154, + "id": 9317, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -57605,7 +57605,7 @@ "typeString": "msg" } }, - "id": 9155, + "id": 9318, "isConstant": false, "isLValue": false, "isPure": false, @@ -57624,11 +57624,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9158, + "id": 9321, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "16846:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57639,22 +57639,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9159, + "id": 9322, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16855:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9161, + "id": 9324, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 9160, + "id": 9323, "isConstant": false, "isLValue": false, "isPure": true, @@ -57684,22 +57684,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 9162, + "id": 9325, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16864:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9164, + "id": 9327, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 9163, + "id": 9326, "isConstant": false, "isLValue": false, "isPure": true, @@ -57743,32 +57743,32 @@ ], "expression": { "argumentTypes": null, - "id": 9156, + "id": 9319, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "16821:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9157, + "id": 9320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairFor", "nodeType": "MemberAccess", - "referencedDeclaration": 9983, + "referencedDeclaration": 10146, "src": "16821:24:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address,address) pure returns (address)" } }, - "id": 9165, + "id": 9328, "isConstant": false, "isLValue": false, "isPure": false, @@ -57785,11 +57785,11 @@ }, { "argumentTypes": null, - "id": 9166, + "id": 9329, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9120, + "referencedDeclaration": 9283, "src": "16874:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57818,32 +57818,32 @@ ], "expression": { "argumentTypes": null, - "id": 9148, + "id": 9311, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "16755:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 9150, + "id": 9313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, + "referencedDeclaration": 7106, "src": "16755:31:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 9167, + "id": 9330, "isConstant": false, "isLValue": false, "isPure": false, @@ -57858,7 +57858,7 @@ "typeString": "tuple()" } }, - "id": 9168, + "id": 9331, "nodeType": "ExpressionStatement", "src": "16755:137:29" }, @@ -57868,11 +57868,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9170, + "id": 9333, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9125, + "referencedDeclaration": 9288, "src": "16937:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", @@ -57884,14 +57884,14 @@ "arguments": [ { "argumentTypes": null, - "id": 9173, + "id": 9336, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "16951:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -57899,11 +57899,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 9172, + "id": 9335, "isConstant": false, "isLValue": false, "isPure": true, @@ -57915,7 +57915,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9171, + "id": 9334, "name": "address", "nodeType": "ElementaryTypeName", "src": "16943:7:29", @@ -57925,7 +57925,7 @@ } } }, - "id": 9174, + "id": 9337, "isConstant": false, "isLValue": false, "isPure": false, @@ -57952,18 +57952,18 @@ "typeString": "address payable" } ], - "id": 9169, + "id": 9332, "name": "_swapSupportingFeeOnTransferTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8942, + "referencedDeclaration": 9105, "src": "16902:34:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$", "typeString": "function (address[] memory,address)" } }, - "id": 9175, + "id": 9338, "isConstant": false, "isLValue": false, "isPure": false, @@ -57978,23 +57978,23 @@ "typeString": "tuple()" } }, - "id": 9176, + "id": 9339, "nodeType": "ExpressionStatement", "src": "16902:55:29" }, { "assignments": [ - 9178 + 9341 ], "declarations": [ { "constant": false, - "id": 9178, + "id": 9341, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9210, + "scope": 9373, "src": "16967:14:29", "stateVariable": false, "storageLocation": "default", @@ -58003,7 +58003,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9177, + "id": 9340, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16967:4:29", @@ -58016,7 +58016,7 @@ "visibility": "internal" } ], - "id": 9188, + "id": 9351, "initialValue": { "argumentTypes": null, "arguments": [ @@ -58025,14 +58025,14 @@ "arguments": [ { "argumentTypes": null, - "id": 9185, + "id": 9348, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "17015:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } } @@ -58040,11 +58040,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_UniswapV2Router02_$9312", + "typeIdentifier": "t_contract$_UniswapV2Router02_$9475", "typeString": "contract UniswapV2Router02" } ], - "id": 9184, + "id": 9347, "isConstant": false, "isLValue": false, "isPure": true, @@ -58056,7 +58056,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 9183, + "id": 9346, "name": "address", "nodeType": "ElementaryTypeName", "src": "17007:7:29", @@ -58066,7 +58066,7 @@ } } }, - "id": 9186, + "id": 9349, "isConstant": false, "isLValue": false, "isPure": false, @@ -58094,11 +58094,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9180, + "id": 9343, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "16991:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58113,18 +58113,18 @@ "typeString": "address" } ], - "id": 9179, + "id": 9342, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9396, + "referencedDeclaration": 9559, "src": "16984:6:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$9396_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$9559_$", "typeString": "type(contract IERC20)" } }, - "id": 9181, + "id": 9344, "isConstant": false, "isLValue": false, "isPure": false, @@ -58135,25 +58135,25 @@ "src": "16984:12:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9396", + "typeIdentifier": "t_contract$_IERC20_$9559", "typeString": "contract IERC20" } }, - "id": 9182, + "id": 9345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 9357, + "referencedDeclaration": 9520, "src": "16984:22:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 9187, + "id": 9350, "isConstant": false, "isLValue": false, "isPure": false, @@ -58181,18 +58181,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9192, + "id": 9355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 9190, + "id": 9353, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17039:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58203,11 +58203,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 9191, + "id": 9354, "name": "amountOutMin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9122, + "referencedDeclaration": 9285, "src": "17052:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58223,7 +58223,7 @@ { "argumentTypes": null, "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54", - "id": 9193, + "id": 9356, "isConstant": false, "isLValue": false, "isPure": true, @@ -58250,7 +58250,7 @@ "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\"" } ], - "id": 9189, + "id": 9352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -58264,7 +58264,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 9194, + "id": 9357, "isConstant": false, "isLValue": false, "isPure": false, @@ -58279,7 +58279,7 @@ "typeString": "tuple()" } }, - "id": 9195, + "id": 9358, "nodeType": "ExpressionStatement", "src": "17031:81:29" }, @@ -58289,11 +58289,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9200, + "id": 9363, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17143:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58313,11 +58313,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9197, + "id": 9360, "name": "WETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7294, + "referencedDeclaration": 7457, "src": "17128:4:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58332,18 +58332,18 @@ "typeString": "address" } ], - "id": 9196, + "id": 9359, "name": "IWETH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9812, + "referencedDeclaration": 9975, "src": "17122:5:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IWETH_$9812_$", + "typeIdentifier": "t_type$_t_contract$_IWETH_$9975_$", "typeString": "type(contract IWETH)" } }, - "id": 9198, + "id": 9361, "isConstant": false, "isLValue": false, "isPure": false, @@ -58354,25 +58354,25 @@ "src": "17122:11:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IWETH_$9812", + "typeIdentifier": "t_contract$_IWETH_$9975", "typeString": "contract IWETH" } }, - "id": 9199, + "id": 9362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "withdraw", "nodeType": "MemberAccess", - "referencedDeclaration": 9811, + "referencedDeclaration": 9974, "src": "17122:20:29", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 9201, + "id": 9364, "isConstant": false, "isLValue": false, "isPure": false, @@ -58387,7 +58387,7 @@ "typeString": "tuple()" } }, - "id": 9202, + "id": 9365, "nodeType": "ExpressionStatement", "src": "17122:31:29" }, @@ -58397,11 +58397,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9206, + "id": 9369, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9127, + "referencedDeclaration": 9290, "src": "17194:2:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58410,11 +58410,11 @@ }, { "argumentTypes": null, - "id": 9207, + "id": 9370, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9178, + "referencedDeclaration": 9341, "src": "17198:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58435,32 +58435,32 @@ ], "expression": { "argumentTypes": null, - "id": 9203, + "id": 9366, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, + "referencedDeclaration": 7132, "src": "17163:14:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$6969_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$7132_$", "typeString": "type(library TransferHelper)" } }, - "id": 9205, + "id": 9368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 6968, + "referencedDeclaration": 7131, "src": "17163:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9208, + "id": 9371, "isConstant": false, "isLValue": false, "isPure": false, @@ -58475,7 +58475,7 @@ "typeString": "tuple()" } }, - "id": 9209, + "id": 9372, "nodeType": "ExpressionStatement", "src": "17163:45:29" } @@ -58483,7 +58483,7 @@ }, "documentation": null, "functionSelector": "791ac947", - "id": 9211, + "id": 9374, "implemented": true, "kind": "function", "modifiers": [ @@ -58491,11 +58491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9133, + "id": 9296, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9129, + "referencedDeclaration": 9292, "src": "16650:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58503,14 +58503,14 @@ } } ], - "id": 9134, + "id": 9297, "modifierName": { "argumentTypes": null, - "id": 9132, + "id": 9295, "name": "ensure", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7308, + "referencedDeclaration": 7471, "src": "16643:6:29", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_uint256_$", @@ -58524,23 +58524,23 @@ "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", "nodeType": "FunctionDefinition", "overrides": { - "id": 9131, + "id": 9294, "nodeType": "OverrideSpecifier", "overrides": [], "src": "16626:8:29" }, "parameters": { - "id": 9130, + "id": 9293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9120, + "id": 9283, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16462:13:29", "stateVariable": false, "storageLocation": "default", @@ -58549,7 +58549,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9119, + "id": 9282, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16462:4:29", @@ -58563,12 +58563,12 @@ }, { "constant": false, - "id": 9122, + "id": 9285, "mutability": "mutable", "name": "amountOutMin", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16485:17:29", "stateVariable": false, "storageLocation": "default", @@ -58577,7 +58577,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9121, + "id": 9284, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16485:4:29", @@ -58591,12 +58591,12 @@ }, { "constant": false, - "id": 9125, + "id": 9288, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16512:23:29", "stateVariable": false, "storageLocation": "calldata", @@ -58606,7 +58606,7 @@ }, "typeName": { "baseType": { - "id": 9123, + "id": 9286, "name": "address", "nodeType": "ElementaryTypeName", "src": "16512:7:29", @@ -58616,7 +58616,7 @@ "typeString": "address" } }, - "id": 9124, + "id": 9287, "length": null, "nodeType": "ArrayTypeName", "src": "16512:9:29", @@ -58630,12 +58630,12 @@ }, { "constant": false, - "id": 9127, + "id": 9290, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16545:10:29", "stateVariable": false, "storageLocation": "default", @@ -58644,7 +58644,7 @@ "typeString": "address" }, "typeName": { - "id": 9126, + "id": 9289, "name": "address", "nodeType": "ElementaryTypeName", "src": "16545:7:29", @@ -58659,12 +58659,12 @@ }, { "constant": false, - "id": 9129, + "id": 9292, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9211, + "scope": 9374, "src": "16565:13:29", "stateVariable": false, "storageLocation": "default", @@ -58673,7 +58673,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9128, + "id": 9291, "name": "uint", "nodeType": "ElementaryTypeName", "src": "16565:4:29", @@ -58689,12 +58689,12 @@ "src": "16452:132:29" }, "returnParameters": { - "id": 9135, + "id": 9298, "nodeType": "ParameterList", "parameters": [], "src": "16664:0:29" }, - "scope": 9312, + "scope": 9475, "src": "16393:822:29", "stateMutability": "nonpayable", "virtual": true, @@ -58702,10 +58702,10 @@ }, { "baseFunctions": [ - 9659 + 9822 ], "body": { - "id": 9230, + "id": 9393, "nodeType": "Block", "src": "17367:75:29", "statements": [ @@ -58715,11 +58715,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9225, + "id": 9388, "name": "amountA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9213, + "referencedDeclaration": 9376, "src": "17407:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58728,11 +58728,11 @@ }, { "argumentTypes": null, - "id": 9226, + "id": 9389, "name": "reserveA", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9215, + "referencedDeclaration": 9378, "src": "17416:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58741,11 +58741,11 @@ }, { "argumentTypes": null, - "id": 9227, + "id": 9390, "name": "reserveB", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9217, + "referencedDeclaration": 9380, "src": "17426:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58770,32 +58770,32 @@ ], "expression": { "argumentTypes": null, - "id": 9223, + "id": 9386, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17384:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9224, + "id": 9387, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "quote", "nodeType": "MemberAccess", - "referencedDeclaration": 10072, + "referencedDeclaration": 10235, "src": "17384:22:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9228, + "id": 9391, "isConstant": false, "isLValue": false, "isPure": false, @@ -58810,8 +58810,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9222, - "id": 9229, + "functionReturnParameters": 9385, + "id": 9392, "nodeType": "Return", "src": "17377:58:29" } @@ -58819,30 +58819,30 @@ }, "documentation": null, "functionSelector": "ad615dec", - "id": 9231, + "id": 9394, "implemented": true, "kind": "function", "modifiers": [], "name": "quote", "nodeType": "FunctionDefinition", "overrides": { - "id": 9219, + "id": 9382, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17335:8:29" }, "parameters": { - "id": 9218, + "id": 9381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9213, + "id": 9376, "mutability": "mutable", "name": "amountA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17271:12:29", "stateVariable": false, "storageLocation": "default", @@ -58851,7 +58851,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9212, + "id": 9375, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17271:4:29", @@ -58865,12 +58865,12 @@ }, { "constant": false, - "id": 9215, + "id": 9378, "mutability": "mutable", "name": "reserveA", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17285:13:29", "stateVariable": false, "storageLocation": "default", @@ -58879,7 +58879,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9214, + "id": 9377, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17285:4:29", @@ -58893,12 +58893,12 @@ }, { "constant": false, - "id": 9217, + "id": 9380, "mutability": "mutable", "name": "reserveB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17300:13:29", "stateVariable": false, "storageLocation": "default", @@ -58907,7 +58907,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9216, + "id": 9379, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17300:4:29", @@ -58923,17 +58923,17 @@ "src": "17270:44:29" }, "returnParameters": { - "id": 9222, + "id": 9385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9221, + "id": 9384, "mutability": "mutable", "name": "amountB", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9231, + "scope": 9394, "src": "17353:12:29", "stateVariable": false, "storageLocation": "default", @@ -58942,7 +58942,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9220, + "id": 9383, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17353:4:29", @@ -58957,7 +58957,7 @@ ], "src": "17352:14:29" }, - "scope": 9312, + "scope": 9475, "src": "17256:186:29", "stateMutability": "pure", "virtual": true, @@ -58965,10 +58965,10 @@ }, { "baseFunctions": [ - 9670 + 9833 ], "body": { - "id": 9250, + "id": 9413, "nodeType": "Block", "src": "17616:86:29", "statements": [ @@ -58978,11 +58978,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9245, + "id": 9408, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9233, + "referencedDeclaration": 9396, "src": "17663:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58991,11 +58991,11 @@ }, { "argumentTypes": null, - "id": 9246, + "id": 9409, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9235, + "referencedDeclaration": 9398, "src": "17673:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59004,11 +59004,11 @@ }, { "argumentTypes": null, - "id": 9247, + "id": 9410, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9237, + "referencedDeclaration": 9400, "src": "17684:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59033,32 +59033,32 @@ ], "expression": { "argumentTypes": null, - "id": 9243, + "id": 9406, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17633:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9244, + "id": 9407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10132, + "referencedDeclaration": 10295, "src": "17633:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9248, + "id": 9411, "isConstant": false, "isLValue": false, "isPure": false, @@ -59073,8 +59073,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9242, - "id": 9249, + "functionReturnParameters": 9405, + "id": 9412, "nodeType": "Return", "src": "17626:69:29" } @@ -59082,30 +59082,30 @@ }, "documentation": null, "functionSelector": "054d50d4", - "id": 9251, + "id": 9414, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountOut", "nodeType": "FunctionDefinition", "overrides": { - "id": 9239, + "id": 9402, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17570:8:29" }, "parameters": { - "id": 9238, + "id": 9401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9233, + "id": 9396, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17470:13:29", "stateVariable": false, "storageLocation": "default", @@ -59114,7 +59114,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9232, + "id": 9395, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17470:4:29", @@ -59128,12 +59128,12 @@ }, { "constant": false, - "id": 9235, + "id": 9398, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17485:14:29", "stateVariable": false, "storageLocation": "default", @@ -59142,7 +59142,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9234, + "id": 9397, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17485:4:29", @@ -59156,12 +59156,12 @@ }, { "constant": false, - "id": 9237, + "id": 9400, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17501:15:29", "stateVariable": false, "storageLocation": "default", @@ -59170,7 +59170,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9236, + "id": 9399, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17501:4:29", @@ -59186,17 +59186,17 @@ "src": "17469:48:29" }, "returnParameters": { - "id": 9242, + "id": 9405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9241, + "id": 9404, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9251, + "scope": 9414, "src": "17596:14:29", "stateVariable": false, "storageLocation": "default", @@ -59205,7 +59205,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9240, + "id": 9403, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17596:4:29", @@ -59220,7 +59220,7 @@ ], "src": "17595:16:29" }, - "scope": 9312, + "scope": 9475, "src": "17448:254:29", "stateMutability": "pure", "virtual": true, @@ -59228,10 +59228,10 @@ }, { "baseFunctions": [ - 9681 + 9844 ], "body": { - "id": 9270, + "id": 9433, "nodeType": "Block", "src": "17875:86:29", "statements": [ @@ -59241,11 +59241,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9265, + "id": 9428, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9253, + "referencedDeclaration": 9416, "src": "17921:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59254,11 +59254,11 @@ }, { "argumentTypes": null, - "id": 9266, + "id": 9429, "name": "reserveIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9255, + "referencedDeclaration": 9418, "src": "17932:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59267,11 +59267,11 @@ }, { "argumentTypes": null, - "id": 9267, + "id": 9430, "name": "reserveOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9257, + "referencedDeclaration": 9420, "src": "17943:10:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59296,32 +59296,32 @@ ], "expression": { "argumentTypes": null, - "id": 9263, + "id": 9426, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "17892:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9264, + "id": 9427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10192, + "referencedDeclaration": 10355, "src": "17892:28:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 9268, + "id": 9431, "isConstant": false, "isLValue": false, "isPure": false, @@ -59336,8 +59336,8 @@ "typeString": "uint256" } }, - "functionReturnParameters": 9262, - "id": 9269, + "functionReturnParameters": 9425, + "id": 9432, "nodeType": "Return", "src": "17885:69:29" } @@ -59345,30 +59345,30 @@ }, "documentation": null, "functionSelector": "85f8c259", - "id": 9271, + "id": 9434, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountIn", "nodeType": "FunctionDefinition", "overrides": { - "id": 9259, + "id": 9422, "nodeType": "OverrideSpecifier", "overrides": [], "src": "17830:8:29" }, "parameters": { - "id": 9258, + "id": 9421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9253, + "id": 9416, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17729:14:29", "stateVariable": false, "storageLocation": "default", @@ -59377,7 +59377,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9252, + "id": 9415, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17729:4:29", @@ -59391,12 +59391,12 @@ }, { "constant": false, - "id": 9255, + "id": 9418, "mutability": "mutable", "name": "reserveIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17745:14:29", "stateVariable": false, "storageLocation": "default", @@ -59405,7 +59405,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9254, + "id": 9417, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17745:4:29", @@ -59419,12 +59419,12 @@ }, { "constant": false, - "id": 9257, + "id": 9420, "mutability": "mutable", "name": "reserveOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17761:15:29", "stateVariable": false, "storageLocation": "default", @@ -59433,7 +59433,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9256, + "id": 9419, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17761:4:29", @@ -59449,17 +59449,17 @@ "src": "17728:49:29" }, "returnParameters": { - "id": 9262, + "id": 9425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9261, + "id": 9424, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9271, + "scope": 9434, "src": "17856:13:29", "stateVariable": false, "storageLocation": "default", @@ -59468,7 +59468,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9260, + "id": 9423, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17856:4:29", @@ -59483,7 +59483,7 @@ ], "src": "17855:15:29" }, - "scope": 9312, + "scope": 9475, "src": "17708:253:29", "stateMutability": "pure", "virtual": true, @@ -59491,10 +59491,10 @@ }, { "baseFunctions": [ - 9692 + 9855 ], "body": { - "id": 9290, + "id": 9453, "nodeType": "Block", "src": "18133:79:29", "statements": [ @@ -59504,11 +59504,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9285, + "id": 9448, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "18181:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59517,11 +59517,11 @@ }, { "argumentTypes": null, - "id": 9286, + "id": 9449, "name": "amountIn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9273, + "referencedDeclaration": 9436, "src": "18190:8:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59530,11 +59530,11 @@ }, { "argumentTypes": null, - "id": 9287, + "id": 9450, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9276, + "referencedDeclaration": 9439, "src": "18200:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -59559,32 +59559,32 @@ ], "expression": { "argumentTypes": null, - "id": 9283, + "id": 9446, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "18150:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9284, + "id": 9447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsOut", "nodeType": "MemberAccess", - "referencedDeclaration": 10273, + "referencedDeclaration": 10436, "src": "18150:30:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 9288, + "id": 9451, "isConstant": false, "isLValue": false, "isPure": false, @@ -59599,8 +59599,8 @@ "typeString": "uint256[] memory" } }, - "functionReturnParameters": 9282, - "id": 9289, + "functionReturnParameters": 9445, + "id": 9452, "nodeType": "Return", "src": "18143:62:29" } @@ -59608,30 +59608,30 @@ }, "documentation": null, "functionSelector": "d06ca61f", - "id": 9291, + "id": 9454, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountsOut", "nodeType": "FunctionDefinition", "overrides": { - "id": 9278, + "id": 9441, "nodeType": "OverrideSpecifier", "overrides": [], "src": "18080:8:29" }, "parameters": { - "id": 9277, + "id": 9440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9273, + "id": 9436, "mutability": "mutable", "name": "amountIn", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "17990:13:29", "stateVariable": false, "storageLocation": "default", @@ -59640,7 +59640,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9272, + "id": 9435, "name": "uint", "nodeType": "ElementaryTypeName", "src": "17990:4:29", @@ -59654,12 +59654,12 @@ }, { "constant": false, - "id": 9276, + "id": 9439, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "18005:21:29", "stateVariable": false, "storageLocation": "memory", @@ -59669,7 +59669,7 @@ }, "typeName": { "baseType": { - "id": 9274, + "id": 9437, "name": "address", "nodeType": "ElementaryTypeName", "src": "18005:7:29", @@ -59679,7 +59679,7 @@ "typeString": "address" } }, - "id": 9275, + "id": 9438, "length": null, "nodeType": "ArrayTypeName", "src": "18005:9:29", @@ -59695,17 +59695,17 @@ "src": "17989:38:29" }, "returnParameters": { - "id": 9282, + "id": 9445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9281, + "id": 9444, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9291, + "scope": 9454, "src": "18106:21:29", "stateVariable": false, "storageLocation": "memory", @@ -59715,7 +59715,7 @@ }, "typeName": { "baseType": { - "id": 9279, + "id": 9442, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18106:4:29", @@ -59724,7 +59724,7 @@ "typeString": "uint256" } }, - "id": 9280, + "id": 9443, "length": null, "nodeType": "ArrayTypeName", "src": "18106:6:29", @@ -59739,7 +59739,7 @@ ], "src": "18105:23:29" }, - "scope": 9312, + "scope": 9475, "src": "17967:245:29", "stateMutability": "view", "virtual": true, @@ -59747,10 +59747,10 @@ }, { "baseFunctions": [ - 9703 + 9866 ], "body": { - "id": 9310, + "id": 9473, "nodeType": "Block", "src": "18384:79:29", "statements": [ @@ -59760,11 +59760,11 @@ "arguments": [ { "argumentTypes": null, - "id": 9305, + "id": 9468, "name": "factory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7291, + "referencedDeclaration": 7454, "src": "18431:7:29", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59773,11 +59773,11 @@ }, { "argumentTypes": null, - "id": 9306, + "id": 9469, "name": "amountOut", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9293, + "referencedDeclaration": 9456, "src": "18440:9:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59786,11 +59786,11 @@ }, { "argumentTypes": null, - "id": 9307, + "id": 9470, "name": "path", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9296, + "referencedDeclaration": 9459, "src": "18451:4:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -59815,32 +59815,32 @@ ], "expression": { "argumentTypes": null, - "id": 9303, + "id": 9466, "name": "UniswapV2Library", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10359, + "referencedDeclaration": 10522, "src": "18401:16:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10359_$", + "typeIdentifier": "t_type$_t_contract$_UniswapV2Library_$10522_$", "typeString": "type(library UniswapV2Library)" } }, - "id": 9304, + "id": 9467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getAmountsIn", "nodeType": "MemberAccess", - "referencedDeclaration": 10358, + "referencedDeclaration": 10521, "src": "18401:29:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)" } }, - "id": 9308, + "id": 9471, "isConstant": false, "isLValue": false, "isPure": false, @@ -59855,8 +59855,8 @@ "typeString": "uint256[] memory" } }, - "functionReturnParameters": 9302, - "id": 9309, + "functionReturnParameters": 9465, + "id": 9472, "nodeType": "Return", "src": "18394:62:29" } @@ -59864,30 +59864,30 @@ }, "documentation": null, "functionSelector": "1f00ca74", - "id": 9311, + "id": 9474, "implemented": true, "kind": "function", "modifiers": [], "name": "getAmountsIn", "nodeType": "FunctionDefinition", "overrides": { - "id": 9298, + "id": 9461, "nodeType": "OverrideSpecifier", "overrides": [], "src": "18331:8:29" }, "parameters": { - "id": 9297, + "id": 9460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9293, + "id": 9456, "mutability": "mutable", "name": "amountOut", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18240:14:29", "stateVariable": false, "storageLocation": "default", @@ -59896,7 +59896,7 @@ "typeString": "uint256" }, "typeName": { - "id": 9292, + "id": 9455, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18240:4:29", @@ -59910,12 +59910,12 @@ }, { "constant": false, - "id": 9296, + "id": 9459, "mutability": "mutable", "name": "path", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18256:21:29", "stateVariable": false, "storageLocation": "memory", @@ -59925,7 +59925,7 @@ }, "typeName": { "baseType": { - "id": 9294, + "id": 9457, "name": "address", "nodeType": "ElementaryTypeName", "src": "18256:7:29", @@ -59935,7 +59935,7 @@ "typeString": "address" } }, - "id": 9295, + "id": 9458, "length": null, "nodeType": "ArrayTypeName", "src": "18256:9:29", @@ -59951,17 +59951,17 @@ "src": "18239:39:29" }, "returnParameters": { - "id": 9302, + "id": 9465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9301, + "id": 9464, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 9311, + "scope": 9474, "src": "18357:21:29", "stateVariable": false, "storageLocation": "memory", @@ -59971,7 +59971,7 @@ }, "typeName": { "baseType": { - "id": 9299, + "id": 9462, "name": "uint", "nodeType": "ElementaryTypeName", "src": "18357:4:29", @@ -59980,7 +59980,7 @@ "typeString": "uint256" } }, - "id": 9300, + "id": 9463, "length": null, "nodeType": "ArrayTypeName", "src": "18357:6:29", @@ -59995,14 +59995,14 @@ ], "src": "18356:23:29" }, - "scope": 9312, + "scope": 9475, "src": "18218:245:29", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 9313, + "scope": 9476, "src": "350:18115:29" } ], @@ -60016,18 +60016,24 @@ "42": { "events": {}, "links": {}, - "address": "0x6dcD37d4e32e42988B438315118B81202AfF22A2", - "transactionHash": "0xc8cda03333f5186055d95710034b9d7aa489831125d3f8434d0c1f2bd25e9125" + "address": "0x12DA8a7610fC1327d0e703bbE485790f5507D999", + "transactionHash": "0x3da3f0c21c5d05019d9ea9a733232d3581da8e4efed2bab7cf29295a400abeb1" }, "1607622663952": { "events": {}, "links": {}, "address": "0x3DaB012C9139203a164Cef741d83c55524866CE3", "transactionHash": "0x939e0f023d19589e6e998f955717b5d607462e4da1f1bd2615ed1ecbea067932" + }, + "1607733595468": { + "events": {}, + "links": {}, + "address": "0x25ec850732b81d46546b19704FefB8A4dD1Abac4", + "transactionHash": "0x9f173ec7c5e7ada53916f8452acc2202ce9cf1998f2f6db961211d6774e34946" } }, "schemaVersion": "3.3.2", - "updatedAt": "2020-12-10T17:51:39.077Z", + "updatedAt": "2020-12-12T01:26:53.423Z", "networkType": "ethereum", "devdoc": { "methods": {} diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/README.md b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/README.md index 44b1c4bf..4f6467bf 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/README.md +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/README.md @@ -35,6 +35,7 @@ Parameters: | `numberOfAddresses` | `number` | `1` | [ ] | If specified, will create `numberOfAddresses` addresses when instantiated | | `shareNonce` | `boolean` | `true` | [ ] | If `false`, a new WalletProvider will track its own nonce-state | | `derivationPath` | `string` | `"m/44'/60'/0'/0/"` | [ ] | If specified, will tell the wallet engine what derivation path should use to derive addresses. | +| `pollingInterval` | `number` | `4000` | [ ] | If specified, will tell the wallet engine to use a custom interval when polling to track blocks. Specified in milliseconds. | Some examples can be found below: @@ -65,6 +66,16 @@ provider = new HDWalletProvider({ derivationPath: "m/44'/137'/0'/0/" }); +// To make HDWallet less "chatty" over JSON-RPC, +// configure a higher value for the polling interval. +provider = new HDWalletProvider({ + mnemonic: { + phrase: mnemonicPhrase + }, + providerOrUrl: "http://localhost:8545", + pollingInterval: 8000 +}); + // HDWalletProvider is compatible with Web3. Use it at Web3 constructor, just like any other Web3 Provider const web3 = new Web3(provider); diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/Constructor.d.ts b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/Constructor.d.ts index 4ec7c9b6..bd0518ff 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/Constructor.d.ts +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/Constructor.d.ts @@ -1,4 +1,4 @@ -import { Mnemonic, MnemonicPhrase, PrivateKey, ProviderOrUrl, AddressIndex, NumberOfAddresses, ShareNonce, DerivationPath } from "./types"; +import { Mnemonic, MnemonicPhrase, PrivateKey, ProviderOrUrl, AddressIndex, NumberOfAddresses, PollingInterval, ShareNonce, DerivationPath } from "./types"; export interface MnemonicSigningAuthority { mnemonic: Mnemonic; } @@ -16,6 +16,7 @@ export interface CommonOptions { numberOfAddresses?: NumberOfAddresses; shareNonce?: ShareNonce; derivationPath?: DerivationPath; + pollingInterval?: PollingInterval; } export declare type Options = SigningAuthority & CommonOptions; export declare type InputOptions = InputSigningAuthority & CommonOptions; diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/types.d.ts b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/types.d.ts index cc845002..91fe9c0e 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/types.d.ts +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/constructor/types.d.ts @@ -10,5 +10,6 @@ export declare type ProviderUrl = string; export declare type ProviderOrUrl = Provider | ProviderUrl; export declare type AddressIndex = number; export declare type NumberOfAddresses = number; +export declare type PollingInterval = number; export declare type ShareNonce = boolean; export declare type DerivationPath = string; diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js index c4a045d6..7e6dddc4 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js @@ -63,15 +63,17 @@ const singletonNonceSubProvider = new nonce_tracker_1.default(); class HDWalletProvider { constructor(...args) { const _a = getOptions_1.getOptions(...args), { providerOrUrl, // required - addressIndex = 0, numberOfAddresses = 10, shareNonce = true, derivationPath = `m/44'/60'/0'/0/` } = _a, + addressIndex = 0, numberOfAddresses = 10, shareNonce = true, derivationPath = `m/44'/60'/0'/0/`, pollingInterval = 4000 } = _a, // what's left is either a mnemonic or a list of private keys - signingAuthority = __rest(_a, ["providerOrUrl", "addressIndex", "numberOfAddresses", "shareNonce", "derivationPath"]); + signingAuthority = __rest(_a, ["providerOrUrl", "addressIndex", "numberOfAddresses", "shareNonce", "derivationPath", "pollingInterval"]); const mnemonic = getMnemonic_1.getMnemonic(signingAuthority); const privateKeys = getPrivateKeys_1.getPrivateKeys(signingAuthority); this.walletHdpath = derivationPath; this.wallets = {}; this.addresses = []; - this.engine = new web3_provider_engine_1.default(); + this.engine = new web3_provider_engine_1.default({ + pollingInterval + }); if (!HDWalletProvider.isValidProvider(providerOrUrl)) { throw new Error([ `Malformed provider URL: '${providerOrUrl}'`, diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js.map b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js.map index 3155c0d0..69fab47f 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js.map +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAqC;AACrC,mEAAqD;AACrD,2EAAyE;AACzE,yDAA2C;AAC3C,0EAA4C;AAC5C,oEAAoD;AACpD,kEAAwC;AACxC,aAAa;AACb,8FAAgE;AAChE,sGAAyF;AACzF,kHAA6F;AAC7F,kHAA8F;AAC9F,wGAA2F;AAC3F,aAAa;AACb,8FAA8E;AAC9E,aAAa;AACb,0GAA0F;AAC1F,8CAAsB;AAItB,yDAAsD;AACtD,iEAA8D;AAC9D,2DAAwD;AAExD,yHAAyH;AAEzH,6EAA6E;AAC7E,gGAAgG;AAChG,mEAAmE;AACnE,qEAAqE;AACrE,yBAAyB;AACzB,MAAM,yBAAyB,GAAG,IAAI,uBAAgB,EAAE,CAAC;AAEzD,MAAM,gBAAgB;IAQpB,YAAY,GAAG,IAA0B;QACvC,MAAM,KASF,uBAAU,CAAC,GAAG,IAAI,CAAC,EATjB,EACJ,aAAa,EAAE,WAAW;QAC1B,YAAY,GAAG,CAAC,EAChB,iBAAiB,GAAG,EAAE,EACtB,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,iBAAiB,OAIb;QAFrB,6DAA6D;QAC1D,gBAAgB,cARf,sFASL,CAAsB,CAAC;QAExB,MAAM,QAAQ,GAAG,yBAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,+BAAc,CAAC,gBAAgB,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CACb;gBACE,4BAA4B,aAAa,GAAG;gBAC5C,2EAA2E;gBAC3E,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;SACH;QAED,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,EACN,QAAQ,EAIT,EAAE,EAAE;YACH,IAAI,CAAC,QAAQ,GAAG,eAAa,CAAC,cAAc,CAC1C,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC3C,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAQ,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,YAAY,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;qBACzB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;qBACjC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;aAC7B;QACH,CAAC,CAAC;QAEF,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,CAAC,WAAqB,EAAE,EAAE;YAClD,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBACtC,MAAM,MAAM,GAAG,2BAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;iBAChC;aACF;QACH,CAAC,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC/B,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAC9B;aAAM,IAAI,WAAW,EAAE;YACtB,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC,wEAAwE;QAE1E,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CACb,mEAAmE;gBACjE,4CAA4C,CAC/C,CAAC;SACH;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,WAAW,CACrB,IAAI,uBAAiB,CAAC;YACpB,WAAW,CAAC,EAAO;gBACjB,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzB,CAAC;YACD,aAAa,CAAC,OAAe,EAAE,EAAO;gBACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;oBACzB,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBAChC;qBAAM;oBACL,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAChE;YACH,CAAC;YACD,eAAe,CAAC,QAAa,EAAE,EAAO;gBACpC,IAAI,IAAI,CAAC;gBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;oBACrB,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;iBAC1C;qBAAM;oBACL,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBACzB;gBACD,MAAM,EAAE,GAAG,IAAI,uBAAW,CAAC,QAAQ,CAAC,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAO,EAAE,EAAO;gBACtC,MAAM,YAAY,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,YAAY,EAAE;oBACjB,EAAE,CAAC,iBAAiB,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;oBACtB,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBACzB;gBACD,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrD,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnB,CAAC;YACD,mBAAmB,CAAC,GAAG,IAAW;gBAChC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC,CACH,CAAC;QAEF,CAAC,UAAU;YACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,uBAAgB,EAAE,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,iBAAkB,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,MAAM,GAAG,GAAG,aAAa,CAAC;YAE1B,MAAM,gBAAgB,GAAG,CACvB,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO,CACnC,CAAC,WAAW,EAAE,CAAC;YAEhB,QAAQ,gBAAgB,EAAE;gBACxB,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACT,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAChE,MAAM;gBACR;oBACE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,aAAW,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC7D;SACF;aAAM;YACL,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,kBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5D;QAED,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC7B,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CACT,OAA8B,EAC9B,QAA0D;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,SAAS,CACd,OAA8B,EAC9B,QAA0D;QAE1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,UAAU,CAAC,GAAY;QAC5B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,QAAsB;QAClD,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;SACvE;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,iBAAS,gBAAgB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAqC;AACrC,mEAAqD;AACrD,2EAAyE;AACzE,yDAA2C;AAC3C,0EAA4C;AAC5C,oEAAoD;AACpD,kEAAwC;AACxC,aAAa;AACb,8FAAgE;AAChE,sGAAyF;AACzF,kHAA6F;AAC7F,kHAA8F;AAC9F,wGAA2F;AAC3F,aAAa;AACb,8FAA8E;AAC9E,aAAa;AACb,0GAA0F;AAC1F,8CAAsB;AAItB,yDAAsD;AACtD,iEAA8D;AAC9D,2DAAwD;AAExD,yHAAyH;AAEzH,6EAA6E;AAC7E,gGAAgG;AAChG,mEAAmE;AACnE,qEAAqE;AACrE,yBAAyB;AACzB,MAAM,yBAAyB,GAAG,IAAI,uBAAgB,EAAE,CAAC;AAEzD,MAAM,gBAAgB;IAQpB,YAAY,GAAG,IAA0B;QACvC,MAAM,KAUF,uBAAU,CAAC,GAAG,IAAI,CAAC,EAVjB,EACJ,aAAa,EAAE,WAAW;QAC1B,YAAY,GAAG,CAAC,EAChB,iBAAiB,GAAG,EAAE,EACtB,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,iBAAiB,EAClC,eAAe,GAAG,IAAI,OAID;QAFrB,6DAA6D;QAC1D,gBAAgB,cATf,yGAUL,CAAsB,CAAC;QAExB,MAAM,QAAQ,GAAG,yBAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,+BAAc,CAAC,gBAAgB,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAc,CAAC;YAC/B,eAAe;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CACb;gBACE,4BAA4B,aAAa,GAAG;gBAC5C,2EAA2E;gBAC3E,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;SACH;QAED,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,EACN,QAAQ,EAIT,EAAE,EAAE;YACH,IAAI,CAAC,QAAQ,GAAG,eAAa,CAAC,cAAc,CAC1C,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC3C,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAQ,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,YAAY,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;qBACzB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;qBACjC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;aAC7B;QACH,CAAC,CAAC;QAEF,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,CAAC,WAAqB,EAAE,EAAE;YAClD,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBACtC,MAAM,MAAM,GAAG,2BAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;iBAChC;aACF;QACH,CAAC,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC/B,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAC9B;aAAM,IAAI,WAAW,EAAE;YACtB,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC,wEAAwE;QAE1E,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CACb,mEAAmE;gBACjE,4CAA4C,CAC/C,CAAC;SACH;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,WAAW,CACrB,IAAI,uBAAiB,CAAC;YACpB,WAAW,CAAC,EAAO;gBACjB,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACzB,CAAC;YACD,aAAa,CAAC,OAAe,EAAE,EAAO;gBACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;oBACzB,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBAChC;qBAAM;oBACL,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAChE;YACH,CAAC;YACD,eAAe,CAAC,QAAa,EAAE,EAAO;gBACpC,IAAI,IAAI,CAAC;gBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;oBACrB,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;iBAC1C;qBAAM;oBACL,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBACzB;gBACD,MAAM,EAAE,GAAG,IAAI,uBAAW,CAAC,QAAQ,CAAC,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAO,EAAE,EAAO;gBACtC,MAAM,YAAY,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,YAAY,EAAE;oBACjB,EAAE,CAAC,iBAAiB,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;oBACtB,EAAE,CAAC,mBAAmB,CAAC,CAAC;iBACzB;gBACD,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrD,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnB,CAAC;YACD,mBAAmB,CAAC,GAAG,IAAW;gBAChC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC,CACH,CAAC;QAEF,CAAC,UAAU;YACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,uBAAgB,EAAE,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,iBAAkB,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,MAAM,GAAG,GAAG,aAAa,CAAC;YAE1B,MAAM,gBAAgB,GAAG,CACvB,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO,CACnC,CAAC,WAAW,EAAE,CAAC;YAEhB,QAAQ,gBAAgB,EAAE;gBACxB,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACT,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAChE,MAAM;gBACR;oBACE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,aAAW,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC7D;SACF;aAAM;YACL,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,kBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5D;QAED,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC7B,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CACT,OAA8B,EAC9B,QAA0D;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,SAAS,CACd,OAA8B,EAC9B,QAA0D;QAE1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,UAAU,CAAC,GAAY;QAC5B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,QAAsB;QAClD,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,GAAG,GAAG,aAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;SACvE;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,iBAAS,gBAAgB,CAAC"} \ No newline at end of file diff --git a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/package.json b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/package.json index 4571dd6a..d3227d9a 100644 --- a/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/package.json +++ b/AskoLend-contracts/node_modules/@truffle/hdwallet-provider/package.json @@ -1,10 +1,18 @@ { "_from": "@truffle/hdwallet-provider", - "_id": "@truffle/hdwallet-provider@1.1.0", + "_id": "@truffle/hdwallet-provider@1.2.0", "_inBundle": false, - "_integrity": "sha512-hblrGs0w/S8Ij7BrmUju6GEK35NWQs2Hxc6SMBrz4chlwd9vcBzMWCGoCtYwYOi2d6o9jOv17+bLk9KNlTZR8g==", + "_integrity": "sha512-EPatDbyRuGbB/MLt9ZBokmtjyLjaNpuHfUIWuv4mQMrH1Nu82H5AAZYLh4Z1BZliDZpqB03a0yUMmK/4R0BN9g==", "_location": "/@truffle/hdwallet-provider", - "_phantomChildren": {}, + "_phantomChildren": { + "bn.js": "4.11.9", + "create-hash": "1.2.0", + "elliptic": "6.5.3", + "ethereum-cryptography": "0.1.3", + "ethjs-util": "0.1.6", + "rlp": "2.2.6", + "safe-buffer": "5.2.1" + }, "_requested": { "type": "tag", "registry": true, @@ -20,10 +28,10 @@ "#USER", "/" ], - "_resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.1.0.tgz", - "_shasum": "caca30225ee18c69fdd6403b4de23ca316796922", + "_resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.2.0.tgz", + "_shasum": "7d4cc2038e1a2ca5cf08877f72a6383d14aff491", "_spec": "@truffle/hdwallet-provider", - "_where": "/home/stan36/repos/Askolend/uniswap-contracts", + "_where": "/home/memec/code/askolend/AskoLend-contracts", "author": { "name": "Tim Coulter", "email": "tim@trufflesuite.com" @@ -53,12 +61,12 @@ "@types/ethereumjs-util": "^5.2.0", "@types/mocha": "^5.2.7", "@types/web3-provider-engine": "^14.0.0", - "ganache-core": "2.11.2", + "ganache-core": "2.13.0", "mocha": "8.1.2", "ts-node": "8.10.2", "typescript": "3.9.6" }, - "gitHead": "b841a9e71a5c63d3a6e18760f0acdea53c848cc4", + "gitHead": "198cde0e2ce60647bf80c420c053df32da7d898c", "homepage": "https://github.com/trufflesuite/truffle/tree/master/packages/hdwallet-provider#readme", "keywords": [ "etheruem", @@ -83,5 +91,5 @@ "test": "yarn build && mocha --exit -r ts-node/register test/**/*.test.ts" }, "types": "dist/index.d.ts", - "version": "1.1.0" + "version": "1.2.0" } diff --git a/AskoLend-contracts/package-lock.json b/AskoLend-contracts/package-lock.json index b543b85c..ae544c96 100644 --- a/AskoLend-contracts/package-lock.json +++ b/AskoLend-contracts/package-lock.json @@ -197,6 +197,11 @@ "@ethersproject/signing-key": "^5.0.4" } }, + "@openzeppelin/contracts": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.3.0.tgz", + "integrity": "sha512-AemZEsQYtUp1WRkcmZm1div5ORfTpLquLaziCIrSagjxyKdmObxuaY1yjQ5SHFMctR8rLwp706NXTbiIRJg7pw==" + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -206,9 +211,9 @@ } }, "@truffle/hdwallet-provider": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.1.0.tgz", - "integrity": "sha512-hblrGs0w/S8Ij7BrmUju6GEK35NWQs2Hxc6SMBrz4chlwd9vcBzMWCGoCtYwYOi2d6o9jOv17+bLk9KNlTZR8g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.2.0.tgz", + "integrity": "sha512-EPatDbyRuGbB/MLt9ZBokmtjyLjaNpuHfUIWuv4mQMrH1Nu82H5AAZYLh4Z1BZliDZpqB03a0yUMmK/4R0BN9g==", "requires": { "@trufflesuite/web3-provider-engine": "15.0.13-1", "@types/web3": "^1.0.20", @@ -701,16 +706,94 @@ "uri-js": "^4.2.2" } }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "app-module-path": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", + "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "array.prototype.map": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.3.tgz", + "integrity": "sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -735,11 +818,6 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, "async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", @@ -789,6 +867,11 @@ "precond": "0.2" } }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, "base-x": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", @@ -822,6 +905,11 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -910,11 +998,33 @@ } } }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -1048,11 +1158,34 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "checkpoint-store": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", @@ -1061,6 +1194,21 @@ "functional-red-black-tree": "^1.0.1" } }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -1103,6 +1251,41 @@ "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -1116,6 +1299,19 @@ "mimic-response": "^1.0.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1124,6 +1320,11 @@ "delayed-stream": "~1.0.0" } }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -1268,6 +1469,19 @@ "assert-plus": "^1.0.0" } }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -1333,6 +1547,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -1343,11 +1562,6 @@ "randombytes": "^2.0.0" } }, - "dir-to-object": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-to-object/-/dir-to-object-2.0.0.tgz", - "integrity": "sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA==" - }, "dom-walk": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", @@ -1386,6 +1600,11 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -1450,6 +1669,33 @@ } } }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-get-iterator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.1.tgz", + "integrity": "sha512-qorBw8Y7B15DVLaJWy6WdEV/ZkieBcu6QCq/xzWzGOKJqgG1j754vXRfZ3NY7HSShneqU43mPB4OkQBTkvHhFw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.1", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -1494,19 +1740,16 @@ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "esprima-extract-comments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esprima-extract-comments/-/esprima-extract-comments-1.1.0.tgz", - "integrity": "sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==", - "requires": { - "esprima": "^4.0.0" - } - }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -2041,15 +2284,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extract-comments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/extract-comments/-/extract-comments-1.1.0.tgz", - "integrity": "sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q==", - "requires": { - "esprima-extract-comments": "^1.1.0", - "parse-code-context": "^1.0.0" - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -2102,6 +2336,14 @@ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -2131,6 +2373,23 @@ } } }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "requires": { + "is-buffer": "~2.0.3" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -2164,6 +2423,17 @@ "minipass": "^2.6.0" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2174,6 +2444,21 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -2187,6 +2472,27 @@ "assert-plus": "^1.0.0" } }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -2201,6 +2507,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2223,6 +2534,11 @@ "function-bind": "^1.1.1" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "has-symbol-support-x": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", @@ -2260,6 +2576,11 @@ "minimalistic-assert": "^1.0.1" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2330,6 +2651,15 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -2340,6 +2670,27 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, "is-callable": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", @@ -2350,26 +2701,54 @@ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, "is-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "is-function": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, "is-hex-prefixed": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" + }, "is-negative-zero": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "is-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", @@ -2393,11 +2772,21 @@ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -2416,6 +2805,11 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -2430,11 +2824,34 @@ "is-object": "^1.0.1" } }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==" + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -2623,6 +3040,14 @@ } } }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", @@ -2633,10 +3058,13 @@ "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "requires": { + "chalk": "^4.0.0" + } }, "lowercase-keys": { "version": "1.0.1", @@ -2763,6 +3191,14 @@ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", @@ -2801,6 +3237,56 @@ "mkdirp": "*" } }, + "mocha": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.2.tgz", + "integrity": "sha512-I8FRAcuACNMLQn3lS4qeWLxXqLvGf6r2CaLstDpZmMUUSmvW6Cnm1AuHxgbc7ctZVRcfwspCRbDHymPsi3dkJw==", + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.2", + "debug": "4.1.1", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "object.assign": "4.1.0", + "promise.allsettled": "1.0.2", + "serialize-javascript": "4.0.0", + "strip-json-comments": "3.0.1", + "supports-color": "7.1.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.0", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.1" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + } + } + }, "mock-fs": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.13.0.tgz", @@ -2874,6 +3360,11 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "number-to-bn": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", @@ -2972,15 +3463,41 @@ } }, "openzeppelin-solidity": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-3.2.0.tgz", - "integrity": "sha512-ku9dZbpo63P1OOGvU1FflRlAxcxWauKhex+a7W0vbfjLzItaCQkZEiDedsH2TWJrg4xdo0B/BFS9taeVwKvAxw==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-3.3.0.tgz", + "integrity": "sha512-hTgOBwCGxJEn6KnNaSzCKYT72aw84VpBl9AuZSLqpxFoQIr0ST/06M2jTVlv+YEQu2q4kq+1GU8CaTBmOotrgA==" + }, + "original-require": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz", + "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, "parse-asn1": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", @@ -2993,11 +3510,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-code-context": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-code-context/-/parse-code-context-1.0.0.tgz", - "integrity": "sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==" - }, "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", @@ -3008,6 +3520,16 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -3035,6 +3557,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -3050,83 +3577,6 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, - "prettier": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", - "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==" - }, - "prettier-plugin-solidity": { - "version": "1.0.0-alpha.59", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-alpha.59.tgz", - "integrity": "sha512-6cE0SWaiYCBoJY4clCfsbWlEEOU4K42Ny6Tg4Jwprgts/q+AVfYnPQ5coRs7zIjYzc4RVspifYPeh+oAg8RpLw==", - "requires": { - "@solidity-parser/parser": "^0.8.1", - "dir-to-object": "^2.0.0", - "emoji-regex": "^9.0.0", - "escape-string-regexp": "^4.0.0", - "extract-comments": "^1.1.0", - "prettier": "^2.0.5", - "semver": "^7.3.2", - "string-width": "^4.2.0" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.8.2.tgz", - "integrity": "sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ==" - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "emoji-regex": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.0.tgz", - "integrity": "sha512-DNc3KFPK18bPdElMJnf/Pkv5TXhxFU3YFDEuGLDRtPmV4rkmCjBkCSEp22u6rBHdSN9Vlp/GK7k98prmE1Jgug==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "process": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", @@ -3146,6 +3596,18 @@ "set-immediate-shim": "^1.0.1" } }, + "promise.allsettled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", + "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", + "requires": { + "array.prototype.map": "^1.0.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" + } + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -3250,6 +3712,14 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, "regenerator-runtime": { "version": "0.13.7", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", @@ -3289,6 +3759,16 @@ } } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "resolve": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", @@ -3415,6 +3895,14 @@ } } }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, "serve-static": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", @@ -3438,6 +3926,11 @@ "xhr": "^2.3.3" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", @@ -3491,6 +3984,11 @@ "source-map": "^0.6.0" } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -3524,6 +4022,15 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, "string.prototype.trimend": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", @@ -3550,6 +4057,14 @@ "safe-buffer": "~5.2.0" } }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, "strip-hex-prefix": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", @@ -3558,6 +4073,19 @@ "is-hex-prefixed": "1.0.0" } }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + }, "swarm-js": { "version": "0.1.40", "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", @@ -3664,6 +4192,14 @@ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -3678,22 +4214,14 @@ "punycode": "^2.1.1" } }, - "truffle-assert": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/truffle-assert/-/truffle-assert-0.9.1.tgz", - "integrity": "sha512-3p2SJN5Js/IIkq1FRvAO2K1HGPWBLFBj2RsmBlASJEsz2lRnkGM5eSFgVjJZ4/L4e0qRM123Kywx+oRvQfB1pQ==", + "truffle": { + "version": "5.1.57", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.1.57.tgz", + "integrity": "sha512-HBRM0EkhgsBYTSW+825NlW473ohjAOiHqg/NSfkL4LCN39gmnspirugR0DHTzj1KsEUGCE/arckgJO4Ay71pYQ==", "requires": { - "assertion-error": "^1.1.0", - "lodash.isequal": "^4.5.0" - } - }, - "truffle-assertions": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/truffle-assertions/-/truffle-assertions-0.9.2.tgz", - "integrity": "sha512-9g2RhaxU2F8DeWhqoGQvL/bV8QVoSnQ6PY+ZPvYRP5eF7+/8LExb4mjLx/FeliLTjc3Tv1SABG05Gu5qQ/ErmA==", - "requires": { - "assertion-error": "^1.1.0", - "lodash.isequal": "^4.5.0" + "app-module-path": "^2.2.0", + "mocha": "8.1.2", + "original-require": "1.0.1" } }, "tunnel-agent": { @@ -4245,6 +4773,88 @@ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "workerpool": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", + "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -4306,6 +4916,11 @@ "object-keys": "~0.4.0" } }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, "yaeti": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", @@ -4315,6 +4930,202 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz", + "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==", + "requires": { + "camelcase": "^5.3.1", + "decamelize": "^1.2.0", + "flat": "^4.1.0", + "is-plain-obj": "^1.1.0", + "yargs": "^14.2.3" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/frontEnd/src/actions/moneyMarket.ts b/frontEnd/src/actions/moneyMarket.ts index 5d6cdec2..57ebe482 100644 --- a/frontEnd/src/actions/moneyMarket.ts +++ b/frontEnd/src/actions/moneyMarket.ts @@ -16,7 +16,7 @@ function instancesFound(instances: any) { return { type: MONEYMARKET_GETINSTANCES_FINISH, instances: instances }; } -const controlAddress = "0x57419ED6e521d74C161Def609149cd6743d9672e"; +const controlAddress = "0x80Eeab912E21bAB6c39f102958eDB6966b9a20f4"; export function getMoneyMarketInstances() { return async function (dispatch: any) { diff --git a/frontEnd/src/components/Bar.tsx b/frontEnd/src/components/Bar.tsx index 605427e9..6d2ded5d 100644 --- a/frontEnd/src/components/Bar.tsx +++ b/frontEnd/src/components/Bar.tsx @@ -91,7 +91,7 @@ class BarClass extends React.Component { const instance = await ProtocolProvider.getInstance(); const signer = await instance.useSigner(); let test = new ethers.Contract( - "0x191fd3B5CD63C686A183cA65C79f288A8f25B796", + "0x4Ef50af5ae3cD4569c6F34f82F299e146AE12aEa", abi, signer ); @@ -106,14 +106,14 @@ class BarClass extends React.Component { const button = this.props.connected === true && this.state.account !== undefined ? ( - {/* -
*/} +